Adding keywords to /etc/portage/package.keywords won't work if an ebuild contains the line: KEYWORDS="-*" This happens regardless of the use of =<> pattern maching. I'm not sure whether it is correct behavior, but it seems non-intutive and I couldn't find it documented anywhere. Examples of ebuilds that contain KEYWORDS="-*" (and are therefore never unmasked by /etc/portage/package.keywords) are: app-cdr/cdbakeoven/cdbakeoven-2.0_beta2.ebuild net-nds/portmap/portmap-5b-r9.ebuild dev-java/rhino/rhino-1.5-r5.ebuild Thanks, -Mike Reproducible: Always Steps to Reproduce: 1.etcat -v portmap 2.echo "=net-nds/portmap-5b-r9 ~x86" >> /etc/portage/package.keywords 3.etcat -v portmap Actual Results: helen root # etcat -v portmap * net-nds/portmap : [ ] 5b-r7 (0) [ ] 5b-r8 (0) [M ] 5b-r9 (0) helen root # echo "=net-nds/portmap-5b-r9 ~x86" >> /etc/portage/package.keywords helen root # etcat -v portmap * net-nds/portmap : [ ] 5b-r7 (0) [ ] 5b-r8 (0) [M ] 5b-r9 (0) Expected Results: helen root # etcat -v portmap * net-nds/portmap : [ ] 5b-r7 (0) [ ] 5b-r8 (0) [ ~ ] 5b-r9 (0) helen root # emerge info Portage 2.0.50-r8 (default-x86-2004.0, gcc-3.3.3, glibc-2.3.3.20040420-r0, 2.4.26-linode30-1um) ================================================================= System uname: 2.4.26-linode30-1um i686 UML Gentoo Base System version 1.4.16 Autoconf: sys-devel/autoconf-2.59-r3 Automake: sys-devel/automake-1.8.3 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-march=pentium4 -O2 -ftracer -pipe" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=pentium4 -O2 -ftracer -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="sandbox" GENTOO_MIRRORS="http://gentoo.oregonstate.edu http://distro.ibiblio.org/pub/Linux/distributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="arts avi berkdb crypt cups encode foomaticdb gdbm gif gnome gtk gtk2 imlib jpeg kde libg++ libwww mad mikmod motif mpeg ncurses oggvorbis opengl oss pam pdflib perl png python qt quicktime readline sdl skey slang spell ssl svga truetype x86 xml2 xmms xv zlib"
-* in KEYWORDS means, that this package should not be installed on any system. It strips all arches from KEYWORDS and so it doesn't match x86 nor ~x86. You can't override this with ~x86 in package.keywords. You can override it with -* in package.keywords. See the chapter about files in /etc/portage in man portage.
Thanks very much for your explanation -- sorry for reporting an invalid bug. I checked "man portage" pretty thoroughly, but I didn't see anything relating to the use of the -* keyword. Would it be appropriate to add this information to "man portage," and, if so, would it be something that I could do? Thanks, -Mike
Sorry, the information in man portage is already included, but only distributed in the 2.0.51_pre series. And as you're running 2.0.50-r8 you don't have this information in man portage. # use a package that is marked -* >=sys-kernel/linux-headers-2.6 -*
Gotcha...thanks very much for your patience! Hope I didn't distract you from crushing Gentoo's bugs. -Mike