emerge -uDNpv --world tells me an installed package would be masked, while it is not. I can even reemerge it without any message about masking. host ~ # emerge -uDNpv --world These are the packages that would be merged, in order: Calculating dependencies... done! [...] !!! The following installed packages are masked: - media-gfx/pngrewrite-1.2.1 (masked by: missing keyword) For more information, see the MASKED PACKAGES section in the emerge man page or refer to the Gentoo Handbook. host ~ # emerge -pv =media-gfx/pngrewrite-1.2.1 These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild R ] media-gfx/pngrewrite-1.2.1 0 kB Total: 1 package (1 reinstall), Size of downloads: 0 kB host ~ # grep KEYWORDS /usr/portage/media-gfx/pngrewrite/pngrewrite-1.2.1.ebuild KEYWORDS="~amd64 ppc sparc x86" host ~ # grep KEYWORDS /etc/make.conf ACCEPT_KEYWORDS="~amd64" Reproducible: Always Steps to Reproduce: Portage 2.1.5.4 (default-linux/amd64/2007.0/desktop, gcc-4.3.1, glibc-2.8_p20080602-r0, 2.6.25-gentoo-r4 x86_64) ================================================================= System uname: 2.6.25-gentoo-r4 x86_64 AMD Athlon(tm) 64 X2 Dual Core Processor 5000+ Timestamp of tree: Tue, 10 Jun 2008 14:45:01 +0000 app-shells/bash: 3.2_p39 dev-java/java-config: 1.3.7, 2.1.6 dev-lang/python: 2.5.2-r4 dev-python/pycrypto: 2.0.1-r6 sys-apps/baselayout: 2.0.0 sys-apps/openrc: 0.2.5 sys-apps/sandbox: 1.2.18.1-r2 sys-devel/autoconf: 2.13, 2.62 sys-devel/automake: 1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1-r1 sys-devel/binutils: 2.18-r1 sys-devel/gcc-config: 1.4.0-r4 sys-devel/libtool: 1.5.26 virtual/os-headers: 2.6.25-r4 ACCEPT_KEYWORDS="amd64 ~amd64" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-pipe -O2 -march=athlon64" 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/kde/4.0/env /usr/kde/4.0/share/config /usr/kde/4.0/shutdown /usr/share/config" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/splash /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d" CXXFLAGS="-pipe -O2 -march=athlon64" DISTDIR="/usr/portage/distfiles" FEATURES="collision-protect distlocks parallel-fetch sandbox sfperms strict unmerge-orphans userfetch userpriv usersandbox" GENTOO_MIRRORS="ftp://ftp.tu-clausthal.de/pub/linux/gentoo/ ftp://linux.rz.ruhr-uni-bochum.de/gentoo-mirror/" LANG="en_GB.UTF-8" LDFLAGS="-Wl,-O1 -Wl,--hash-style=gnu -Wl,--sort-common -Wl,--as-needed" LINGUAS="de" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage/layman/sunrise /usr/local/portage" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="3dnow 3dnowext X a52 aac acl acpi alsa amd64 apache2 avahi bash-completion berkdb bluetooth cairo cdr cjk cli cracklib crypt cups dbus dri dvb dvd dvdr dvdread emboss encode evo fam ffmpeg firefox flac foomaticdb fortran gdbm gif gimp gpm gtk hal iconv ipod ipv6 isdnlog jpeg jpeg2k kde kdehiddenvisibility kerberos ldap lm_sensors mad midi mikmod mmx mmxext mp3 mp4 mpeg mplayer mudflap mysql ncurses nls nptl nptlonly nsplugin ogg openal openexr opengl openmp pam pch pcre pdf perl php png ppds pppd python qt3 qt3support qt4 quicktime readline reflection ruby samba sasl sdl session speex spell spl sse sse2 ssl subversion svg tcpd tetex theora threads tiff truetype unicode usb vcd visualization vorbis x264 xcb xcomposite xinerama xml xorg xv xvid xvmc zlib" ALSA_CARDS="hda-intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" CAMERAS="ptp2" ELIBC="glibc" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="de" USERLAND="GNU" VIDEO_CARDS="nvidia" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
It seems like the ~amd64 keyword is missing from /var/db/pkg/media-gfx/pngrewrite-1.2.1/KEYWORDS. Does that file contain any keywords? Here are some possible workarounds: 1) echo "=media-gfx/pngrewrite-1.2.1 **" >> /etc/portage/package.keywords 2) rebuild pngrewrite
host ~ # cat /var/db/pkg/media-gfx/pngrewrite-1.2.1/KEYWORDS ppc sparc x86 So that message is thrown when I install a package while it is keyword-unmasked, and then remove that keyword-unmasking? Even if the ebuild itself in the tree now contains the keyword? I removed "... **" from package.keywords, when the ebuild got ~amd64 keyworded, because I assumed it was now unneeded.
I suppose we can suppress the warning in cases when an available package has keywords.
What is the policy on this: Is it allowed to change packages without revision increment while in unstable? One could argue that stable users would never have installed the old package, "self-pwned"? If that is the case (I did not think about this before), it would be useful to have a warning, possibly with a notice: "The tree ebuild is not masked, try reemerging." Otherwise suppression sounds good.
Well, suppression is the best option for me because it helps me to avoid more bug reports like this one. :)
This is fixed in 2.1.5.5.