We need a way to deal with "missing keywords" in ebuilds without editting the ebuilds. This is because there are so many packages that do not have the required keywords when being emerged in lesser known platforms such as SPARC or AMD64 or IA64. Putting the keywords in /etc/package.unmask do not work. If the package is known not to work in a particular platform, then the developer should hard mask it. If it is not known whether the package works or not, it should be treated as masked (either hard mask or normal mask) and it should be unlockable through /etc/package.unmask without even need to edit the ebuild file. There are several workaround to deal with this issue: 1. Edit the ebuild file. This is impractical because the ebuild file will be rewritten at every sync. Of course a script can handle this at every sync, but it is impractical. 2. Making ebuild in overlay with slightly different slots. The problem is that if there are quite many ebuilds done this way, it potentially slows down the portage. 3. Putting ~x86 into /etc/package.unmask. This is potentially dangerous for systems to assume x86 as the default platform. Perhaps portage developers can add something like --force option that will force installation despite the missing keyword after displaying some warnings that the installation may or may not work. Perhaps some other solutions are better in handling this issue. For full discussions, please refer to: http://forums.gentoo.org/viewtopic-p-2784288.html Reproducible: Always Steps to Reproduce: 1. 2. 3.
emerge app-portage/gentoolkit && man ekeyword