Summary: | ACCEPT_KEYWORDS environment var does not override package.keywords | ||
---|---|---|---|
Product: | Portage Development | Reporter: | Richard Fish <bigfish> |
Component: | Core - Configuration | Assignee: | Portage team <dev-portage> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | masterdriverz |
Priority: | High | Keywords: | InVCS |
Version: | 2.1 | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 181949, 187293 |
Description
Richard Fish
2006-07-07 13:48:20 UTC
If I remember correctly the problem is more that negation in ACCEPT_KEYWORDS doesn't work properly, e.g. set ~arch in make.conf, you can't disable it with -~arch in package.keywords. The whole gvisible() function is a bit fucked up regarding that (like the special treatment for -*). (In reply to comment #1) Actually setting -~x86 in package.keywords seems to work as expected (some output trimmed for clarity): carcharias rjf # grep gcc /etc/portage/package.keywords carcharias rjf # emerge -vp gcc [ebuild R ] sys-devel/gcc-4.1.1 ... carcharias rjf # echo "sys-devel/gcc -~x86" >>/etc/portage/package.keywords carcharias rjf # emerge -vp gcc [ebuild NS ] sys-devel/gcc-3.4.6-r1 ... But the environment still doesn't override this: carcharias rjf # ACCEPT_KEYWORDS=~x86 emerge -pv gcc [ebuild NS ] sys-devel/gcc-3.4.6-r1 ... Ok, this required a somewhat nasty hack: the problem was that by the time gvisible() was called (which does the keyword visibility filtering) our config instance had long forgotten about the negated ACCEPT_KEYWORDS values, so to fix this givisble() now looks directly at the env to preserve proper stacking order. This has been released in 2.1.3_rc6. |