Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 456830

Summary: sys-apps/portage: QA warning, USE={arch use flag} not in IUSE when used from Entropy and /usr/portage is empty
Product: Portage Development Reporter: Fabio Erculiani (RETIRED) <lxnay>
Component: Core - External InteractionAssignee: Portage team <dev-portage>
Status: RESOLVED FIXED    
Severity: major Keywords: InVCS
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 456888    
Attachments: equo install log

Description Fabio Erculiani (RETIRED) gentoo-dev 2013-02-11 18:45:15 UTC
on Entropy systems, /usr/portage may not be available at all.
This triggers some invalid QA warnings when binpkgs are installed from their xpak metadata:

 * QA Notice: USE Flag 'amd64' not in IUSE for <atom>

(also see the full entropy debug output, containing calls to portage.doebuild()).

It looks like the QA warning is bogus or there is something missing inside xpak metadata. I cannot expect Entropy users to have a valid PORTDIR, since there is no need at all.

Reproducible: Always
Comment 1 Fabio Erculiani (RETIRED) gentoo-dev 2013-02-11 18:47:59 UTC
Created attachment 338630 [details]
equo install log
Comment 3 Fabio Erculiani (RETIRED) gentoo-dev 2013-02-11 19:37:05 UTC
I confirm that the patch works. Awesome!
Comment 4 Brian Harring (RETIRED) gentoo-dev 2013-02-11 21:44:01 UTC
Mind you it could be entropys doing, but if this is an eapi5 ebuild it's kind of expected that the relevant profile data should've been saved at the time of building.  Quoth the shitty spec:

"For EAPIs listed in table 5.2 as supporting profile defined IUSE injection, the package manager must save the calculated value of IUSE_EFFECTIVE when installing a package. Details are beyond the scope of this specification."

Keep in mind PMS pretends binpkgs don't exist (something that needs rectifying); point is, it's pretty implicit there that what was used for building should carry over; a pretty simple fix at the PM level specifically.

Also, this profile requirement nonsense is why that IUSE shit was poorly thought out. ;)
Comment 5 Zac Medico gentoo-dev 2013-02-12 04:28:25 UTC
This is fixed in 2.1.11.51 and 2.2.0_alpha162.

(In reply to comment #4)
> "For EAPIs listed in table 5.2 as supporting profile defined IUSE injection,
> the package manager must save the calculated value of IUSE_EFFECTIVE when
> installing a package. Details are beyond the scope of this specification."

Portage writes /var/db/pkg/*/*/IUSE_EFFECTIVE for EAPI 5, and includes it in the xpak, so we can use it for the QA check.