Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 583750 - Council: please confirm patch that makes Portage USE_EXPAND handling conform to PMS
Summary: Council: please confirm patch that makes Portage USE_EXPAND handling conform ...
Status: RESOLVED OBSOLETE
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Unspecified (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Council
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-05-22 07:13 UTC by Michał Górny
Modified: 2016-06-12 16:54 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2016-05-22 07:13:28 UTC
Once again the Council is asked [1] to confirm that Portage is supposed to comply with PMS. In this case, it is about the patch fixing USE_EXPAND support [2], since it is a well-known fact that a pile of hacks that is impossible to figure out what it does exactly is arguably better than following the standards.


[1]:https://archives.gentoo.org/gentoo-portage-dev/message/1c5724058e4f484f3a76ba787d15cdc3
[2]:https://archives.gentoo.org/gentoo-portage-dev/message/42e3a134d14e33e037e35e6c5df9d05d
Comment 1 Zac Medico gentoo-dev 2016-05-22 07:32:57 UTC
@council: Is this change in behavior desirable at this stage, given the way that it affects the existing ebuilds out there (including those in the official gentoo repository)? We can't just make changes like this without considering the consequences.
Comment 2 Ciaran McCreesh 2016-05-22 07:38:57 UTC
Why did you agree to the wording we discussed for the spec, and then ignore it when implementing it? This isn't a case of "PMS didn't describe existing behaviour": it's "we agreed on how all this would work, and then you implemented something else"...
Comment 3 Zac Medico gentoo-dev 2016-05-22 07:44:11 UTC
(In reply to Ciaran McCreesh from comment #2)
> Why did you agree to the wording we discussed for the spec, and then ignore
> it when implementing it?

Subconscious passive aggression, maybe?

> This isn't a case of "PMS didn't describe existing
> behaviour": it's "we agreed on how all this would work, and then you
> implemented something else"...

Well, I'm not necessarily opposed to fixing it now. I just want people to consider all of the consequences first.
Comment 4 Ulrich Müller gentoo-dev 2016-05-22 10:58:16 UTC
The wording of the spec is quite clear here:
https://projects.gentoo.org/pms/6/pms.html#x1-11900011.1.1

"For EAPIs listed in table 5.2 as supporting profile defined IUSE injection [i.e., EAPIs 5 and 6], the variables named in USE_EXPAND and USE_EXPAND_UNPREFIXED shall have their profile-provided values reduced to contain only those values that are present in IUSE_EFFECTIVE."

Since the feature was introduced with an EAPI bump, I am surprised that Portage doesn't implement it according to specification.

Anyway, seems that the damage in form of non-compliant ebuilds in the tree is already done. Is it possible to follow the same procedure as in similar cases, namely make it a QA warning for some time, before Portage behaviour will be tightened?
Comment 5 Ciaran McCreesh 2016-05-22 11:01:57 UTC
You can't really detect when some random subprocess happens to be accessing an environment variable that should be empty but isn't.
Comment 6 Ulrich Müller gentoo-dev 2016-05-22 11:15:06 UTC
(In reply to Ciaran McCreesh from comment #5)
> You can't really detect when some random subprocess happens to be accessing
> an environment variable that should be empty but isn't.

That's true, of course ...
Comment 7 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2016-05-22 11:50:33 UTC
Well, we could make Portage through a QA warning for every USE_EXPAND that isn't used by a particular ebuild. I'm sure this will bring some attention to all those global flags that are used on single packages.
Comment 8 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2016-06-12 16:54:51 UTC
Zac agreed that this patch can be applied once LINGUAS problem is resolved, as currently handled.