I installed app-benchmarks/i7z-0.26 on an AMD64 system. I run a mostly-stable system with unstable exceptions. Looking in /var/db/pkg/app-benchmarks/i7z-0.26/i7z-0.26.ebuild shows that it was keyworded ~amd64 when installed. Looking in /usr/portage/app-benchmarks/i7z/i7z-0.26.ebuild and on packages.gentoo.org shows it is still keyworded ~amd64. In order to be allowed to install this package, I added this line to /etc/portage/package.accept_keywords:
According to the man page for equery, under the list command:
Mask-status field ([ ~M-??]):
... A ~ means the package is masked by keyword, e.g., you are running a stable system and the package is marked testing)...
# equery l app-benchmarks/i7z
* Searching for i7z in app-benchmarks ...
[IP-] [ ] app-benchmarks/i7z-0.26:0
There is no tilde! I am most definitely running a (mostly-) stable system, and this package is most definitely unstable. I seem to remember a time in the past when this worked: I could use equery list to find out whether a package was still unstable or whether it had become stable and hence no longer needed listing in package.accept_keywords. It seems more recently that this is no longer the case.
Is this change intentional? The man page doesn't seem 100% clear. It could be argued that "you are running a stable system" means 100% stable, so this would only ever apply to packages that aren't installed anyway or that were installed with a temporary environment variable override. It could also mean what I expected it to mean, and what it seems to have meant in the past, which is simply that ACCEPT_KEYWORDS doesn't have a tilde in it (a stable *system*, but with a small handful of unstable exceptions). Either way perhaps this should be clarified a bit more?
*** This bug has been marked as a duplicate of bug 375311 ***