I noticed today that an "emerge -uDp world" wanted to emerge gentoo-sources, but I do not have gentoo-sources installed. -t shows that alsa-lib wanted it. It wants a kernel and emerge thinks my vanilla-sources are all masked. This is because I have: <sys-kernel/vanilla-sources-2.6.18 <sys-kernel/gentoo-sources-2.6.18 in package.mask, and in package.keywords sys-kernel/vanilla-sources -~amd64 =sys-kernel/vanilla-sources-2.6.18 Output of "emerge -puDt alsa-lib" These are the packages that would be merged, in reverse order: Calculating dependencies... done! [nomerge ] media-libs/alsa-lib-1.0.13 [ebuild N ] sys-kernel/gentoo-sources-2.6.18 USE="-build -symlink (-ultra1)" when disabling the mask on vanilla: #<sys-kernel/vanilla-sources-2.6.18 it gives: These are the packages that would be merged, in reverse order: Calculating dependencies... done! [nomerge ] media-libs/alsa-lib-1.0.13 [ebuild NS ] sys-kernel/vanilla-sources-2.6.16.19 USE="-build -symlink" when I mask vanilla-sources again and try to emerge it emerge -p vanilla-sources These are the packages that would be merged, in order: Calculating dependencies !!! All ebuilds that could satisfy "vanilla-sources" have been masked. !!! One of the following masked packages is required to complete your request: - sys-kernel/vanilla-sources-2.6.18 (masked by: ) - sys-kernel/vanilla-sources-2.4.32 (masked by: package.mask, missing keyword) - sys-kernel/vanilla-sources-2.6.16.16 (masked by: package.mask) - sys-kernel/vanilla-sources-2.6.19_rc1 (masked by: ) - sys-kernel/vanilla-sources-2.6.16.26 (masked by: package.mask) - sys-kernel/vanilla-sources-2.6.17.10 (masked by: package.mask) - sys-kernel/vanilla-sources-2.6.16.19 (masked by: package.mask) - sys-kernel/vanilla-sources-2.6.16.14 (masked by: package.mask) - sys-kernel/vanilla-sources-2.4.33.2 (masked by: package.mask) - sys-kernel/vanilla-sources-2.4.33.3 (masked by: package.mask) - sys-kernel/vanilla-sources-2.6.16.20 (masked by: package.mask) - sys-kernel/vanilla-sources-2.6.17.11 (masked by: package.mask) - sys-kernel/vanilla-sources-2.6.17.8 (masked by: package.mask) - sys-kernel/vanilla-sources-2.6.17.9 (masked by: package.mask) - sys-kernel/vanilla-sources-2.6.16.27 (masked by: package.mask) - sys-kernel/vanilla-sources-2.4.33 (masked by: package.mask, missing keyword) - sys-kernel/vanilla-sources-2.4.33.1 (masked by: package.mask) - sys-kernel/vanilla-sources-2.6.17.6 (masked by: package.mask) - sys-kernel/vanilla-sources-2.6.17.7 (masked by: package.mask) - sys-kernel/vanilla-sources-2.6.17.12 (masked by: package.mask) - sys-kernel/vanilla-sources-2.6.17.13 (masked by: package.mask) For more information, see MASKED PACKAGES section in the emerge man page or refer to the Gentoo Handbook. emerge --info Portage 2.1.2_pre2-r7 (default-linux/amd64/2006.1, gcc-4.1.1, glibc-2.4-r4, 2.6.18 x86_64) ================================================================= System uname: 2.6.18 x86_64 Intel(R) Core(TM)2 CPU 6600 @ 2.40GHz Gentoo Base System version 1.12.5 Last Sync: Mon, 09 Oct 2006 14:30:01 +0000 app-admin/eselect-compiler: [Not Present] dev-java/java-config: [Not Present] dev-lang/python: 2.4.3-r4 dev-python/pycrypto: 2.0.1-r5 dev-util/ccache: [Not Present] dev-util/confcache: [Not Present] sys-apps/sandbox: 1.2.18.1 sys-devel/autoconf: 2.13, 2.60 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2 sys-devel/binutils: 2.17 sys-devel/gcc-config: 1.3.13-r4 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.17-r1 ACCEPT_KEYWORDS="amd64 ~amd64" AUTOCLEAN="yes" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O2 -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config" CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c" CXXFLAGS="-O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks metadata-transfer sandbox sfperms strict" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo" MAKEOPTS="-j4" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="amd64 X acpi alsa berkdb bitmap-fonts cli crypt cups dlloader dri dts dvd dvdr dvdread elibc_glibc fortran gdbm gif gpm gtk input_devices_evdev input_devices_keyboard input_devices_mouse ipv6 isdnlog jpeg kde kdeenablefinal kernel_linux libg++ lm_sensors mad mng mp3 ncurses nls nptl nptlonly nvidia opengl pam pcre pdf perl png ppds pppd python readline reflection session smp spl ssl svg tcpd theora truetype-fonts type1-fonts udev unicode userland_GNU video_cards_fbdev video_cards_nv video_cards_nvidia vorbis xinerama xorg xv zlib" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTAGE_RSYNC_EXTRA_OPTS
This is not a bug... sys-kernel/vanilla-sources -~amd64 in package.keywords + ~amd64 in ebuild keywords produces masked by "nothing", since you've "nullified" the keywords. All other versions are package.masked, so there's nothing available.
#only accept stable vanilla-sources: sys-kernel/vanilla-sources -~amd64 #accept unstable vanilla-sources-2.6.18: =sys-kernel/vanilla-sources-2.6.18 Combined with ~amd64 keyword in vanilla-sources-2.6.18 ebuild should result in an acceptable vanilla-sources-2.6.18, or at least in an unacceptable vanilla-sources-2.6.18 which is masked by ~amd64. But masked by nothing? No.
-~amd64 is a strange kind of syntax to say at least. What exactly do you want to express with that?
(In reply to comment #3) > -~amd64 is a strange kind of syntax to say at least. What exactly do you want > to express with that? man portage <snip> Example: # only use stable mplayer media-video/mplayer -~x86 </snip> Well, it overrides all ~arch keywords, so subsequently accepting ~arch for a particular version has no effect. <sys-kernel/vanilla-sources-2.6.18 -~amd64 ~sys-kernel/vanilla-sources-2.6.18 >sys-kernel/vanilla-sources-2.6.18 -~amd64 in package.keywords does what the reporter expects.
In svn r5121, I've stacked package.keywords incrementally so that -keyword works as expected for any incremental variable. This brings the gvisible and getmaskingstatus logic into sync so that the confusing (masked by: ) message will not be generated in cases where package.keywords contains -keyword followed by keyword.
(In reply to comment #5) > In svn r5121, I've stacked package.keywords incrementally so that -keyword > works as expected for any incremental variable. This brings the gvisible and > getmaskingstatus logic into sync so that the confusing (masked by: ) message > will not be generated in cases where package.keywords contains -keyword > followed by keyword. You do realize that the only way to match -arch (which is stupid in keywords, but there) is via -* now, right?
(In reply to comment #6) > You do realize that the only way to match -arch (which is stupid in keywords, > but there) is via -* now, right? Now I know. Thanks. :) In svn r5123 it's fixed to allow those to be matched.
This has been released in 2.1.2_rc2-r2.