From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id BA611139694 for ; Wed, 31 May 2017 12:38:55 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 474FFE0EB8; Wed, 31 May 2017 12:38:46 +0000 (UTC) Received: from blaine.gmane.org (unknown [195.159.176.226]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id E48CBE0BE0 for ; Wed, 31 May 2017 12:38:45 +0000 (UTC) Received: from list by blaine.gmane.org with local (Exim 4.84_2) (envelope-from ) id 1dG2tZ-0001iw-1S for gentoo-dev@lists.gentoo.org; Wed, 31 May 2017 14:38:37 +0200 X-Injected-Via-Gmane: http://gmane.org/ To: gentoo-dev@lists.gentoo.org From: Duncan <1i5t5.duncan@cox.net> Subject: [gentoo-dev] Re: [RFC] Forced/automatic USE flag constraints (codename: ENFORCED_USE) Date: Wed, 31 May 2017 12:38:31 +0000 (UTC) Message-ID: References: <1496071993.31087.1.camel@gentoo.org> <20170529200037.2559f80a@gentoo.org> <1496093035.12795.3.camel@gentoo.org> <20170530094245.40e1cf64@gentoo.org> <20170530092245.681d4aeb@snowblower> <20170530104654.31b89e10@gentoo.org> <20170530095607.1adbc0b8@snowblower> <20170530112518.65b4f9e9@gentoo.org> <22829.24276.295.969060@a1i15.kph.uni-mainz.de> <1496154812.1238.5.camel@gentoo.org> <20170530173340.0b575526@gentoo.org> <1496167898.1335.1.camel@gentoo.org> <20170530204614.61e8e42c@gentoo.org> <1496213717.1164.1.camel@gentoo.org> <20170531093257.23b66f88@gentoo.org> Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-dev@lists.gentoo.org Reply-to: gentoo-dev@lists.gentoo.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Complaints-To: usenet@blaine.gmane.org User-Agent: Pan/0.142 (He slipped to Sam a double gin; d1206be76) X-Archives-Salt: 15ca3775-5110-4579-986d-6d5d9ddd12cc X-Archives-Hash: a41f0721afab044c1ef159ee625b46a4 Alexis Ballier posted on Wed, 31 May 2017 09:32:57 +0200 as excerpted: >> For example: >> >> foo? ( bar ) >> >> would mean 'if you have USE=foo, then USE=bar is enabled as well'. Not >> 'find some random solution which satisfies this'. In other words, here >> changing USE=foo into USE=-foo is not an acceptable solution. > > > What if I specifically set USE=-bar in make.conf ? Do we really want PM > to override that without telling me ? Yes, override (tho the telling me bit would be up to the PM implementation and could be as indirect as simply showing the new pulled- in package in ask/pretend) because USE flags always control options and don't disable mandatory requirements, which is what this scenario is ultimately describing, even if it's /conditional/ mandatory. If a user cares enough about not wanting whatever USE=bar pulls in, they'll notice the pull-in in ask/pretend and abort the merge, investigating and changing config or deciding they don't need that package after all, just as they do with mandatory pull-ins now. As for more direct indications, portage could and I'd expect would indicate the USE override the same as it does for profile-masked and new- version-deleted USE flags now, putting them in parentheses so the user knows they no longer apply. I'm not familiar enough with other PMs to know if/how they indicate such things, but I'd imagine they could similarly treat it to the way they do masked flags today. After all, it's simply another method of masking, only in this case it's dynamic, by the PM at solve time. -- Duncan - List replies preferred. No HTML msgs. "Every nonfree program has a lord, a master -- and if you use the program, he is your master." Richard Stallman