# ACCEPT_KEYWORDS='~x86' emerge -pv mysql These are the packages that I would merge, in order: Calculating dependencies ...done! [ebuild R ] dev-db/mysql-4.0.22 +berkdb -debug +innodb +perl +readline (-selinux) +ssl -static +tcpd 0 kB Reproducible: Always Steps to Reproduce: 1. See that the 4.1.7 ebuild really is in /usr/portage/ 2. emerge -pv mysql 3. Actual Results: Portage claims that it would re-emerge mysql-4.0.22. I tried '=mysql-4.1.7' but with the same result. Expected Results: Portage should have found the newer ebuild. Note that ACCEPT_KEYWORDS works correctly for example with dev-java/groovy. # emerge info Portage 2.0.51-r3 (default-linux/x86/2004.2, gcc-3.3.4, glibc-2.3.4.20040808-r1, 2.4.26-gentoo-r6 i686) ================================================================= System uname: 2.4.26-gentoo-r6 i686 Intel(R) Pentium(R) 4 CPU 2.80GHz Gentoo Base System version 1.4.16 Autoconf: sys-devel/autoconf-2.59-r5 Automake: sys-devel/automake-1.8.5-r1 Binutils: sys-devel/binutils-2.15.90.0.1.1-r3 Headers: sys-kernel/linux-headers-2.4.21-r1 Libtools: sys-devel/libtool-1.5.2-r7 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-march=pentium4 -O2 -pipe" CHOST="i686-pc-linux-gnu" COMPILER="" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=pentium4 -O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms strict" GENTOO_MIRRORS="rsync://trumpetti.atm.tut.fi/gentoo/ http://trumpetti.atm.tut.fi/gentoo/ ftp://trumpetti.atm.tut.fi/gentoo/ http://adelie.polymtl.ca/" 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="X Xaw3d acl acpi adns alsa apm arts athena audiofile avi berkdb bitmap-fonts caps cdparanoia crypt cscope cups dga directfb divx4linux dnd emacs encode esd f77 fam fbcon flac foomaticdb fortran gdbm ggi gif gimpprint gnome gpm graphviz gtk gtk2 idea imagemagick imlib innodb java javamail jbig jce jpeg junit justify kerberos krb4 lcms ldap libg++ libwww live lua lzo mad makecheck matroska mikmod mime mmap mmx mng motif mozilla moznocompose moznoirc moznomail mozsvg mozxmlterm mpeg mysql ncurses oav odbc oggvorbis opengl oss pam pcre pdflib perl pg-hier pg-intdatetime pg-vacuumdelay png pnp posix postgres ppds python qt quicktime readline ruby samba sasl sdl session slang slp socks5 speex spell sse sse2 ssl svg svga sysvipc tcltk tcpd theora tiff truetype unicode usb vhosts vim-with-x winbind wmf x86 xml xml2 xmms xpm xsl xv xvid zlib video_cards_radeon"
Note that this happened to a very new (2 months) Gentoo system, not the same I'm having bigger problems with.
It is package.mask'ed. It means that the software is considered to be unstable or has unresolvable security issues. Usually you should not unmask it. `man portage` or read the online documentation for more information. Usually you should get a warning, but this doesn't seem to work for =cat/ebuild-x.y* entries.
Just checking: What do you mean by "=cat/ebuild-x.y*" entry. Do you mean using "=" when emerging i.e. emerge -pv '=cat/ebuild-x.y'? Note that I tried the emerge command with and without '=' AND with and without ACCEPT_KEYWORDS='~x86', so the bug is not about using =. The ebuild is simply invisible to portage. It doesn't say anything about masks, but claims that 4.0.22 is the latest available mysql version of all.
Changed summary back to the original. Just reminding: portage works just fine with for example dev-java/groovy which is ~x86, too. Here are some interesting differences between the groovy and mysql ebuilds I noticed, so they might be candidates for a cause: 1. mysql ebuild lists ~amd64 before ~x86. Maybe KEYWORDS parsing is broken. 2. mysql-4.1.7 is blocked by older versions (!<dev-db/mysql-4.1*). Maybe the block checking routine causes the masking info printing routine not to be called.
# emerge =mysql-4.1.7 Calculating dependencies !!! All ebuilds that could satisfy "=mysql-4.1.7" have been masked. !!! One of the following masked packages is required to complete your request: - dev-db/mysql-4.1.7 (masked by: package.mask) # <robbat2@gentoo.org> (17 Nov 2004) # Masking for testing For more information, see MASKED PACKAGES section in the emerge man page or section 2.2 "Software Availability" in the Gentoo Handbook. The message is working okay here and portage is doing everything it's meant to, but I am using CVS portage. I can't see how it could not work with stable portage, though. If "emerge =mysql-4.1.7" doesn't show output similar to above, reopen with the exact output that you do get.
Oops. Seems that I mixed up "masked" and "unstable" :-) Anyway, I think the bug description is more accurate now. I unmerged the old mysql-4.0.22, and now # emerge -pv '=dev-db/mysql-4.1.7' correctly tells about masking. So an older version being installed (I don't know if the blocking dependency has got anything to do with it) prevents portage from telling about masking.
Jason: Did the behaviour change at some point or did I never notice it? While the intention is clear, it's still a bit irritating. How about adding a --very-verbose option, which lists latest stable, testing and unstable ebuilds?
# emerge -Cp mysql >>> These are the packages that I would unmerge: dev-db/mysql selected: 4.0.22 protected: none omitted: none >>> 'Selected' packages are slated for removal. >>> 'Protected' and 'omitted' packages will not be removed. # emerge -vp =mysql-4.1.7 These are the packages that I would merge, in order: Calculating dependencies !!! All ebuilds that could satisfy "=mysql-4.1.7" have been masked. !!! One of the following masked packages is required to complete your request: - dev-db/mysql-4.1.7 (masked by: package.mask) # <robbat2@gentoo.org> (17 Nov 2004) # Masking for testing For more information, see MASKED PACKAGES section in the emerge man page or section 2.2 "Software Availability" in the Gentoo Handbook. As I asked before, can you please provide the output that you got that you feel to be a bug.
Jason: No, the bug is invalid. It's just, that you can't see via emerge, if there is a package.maske'ed version or not, if you do not know the exact version. You need to have a look at the package.mask file itself, before deciding, if it makes sense to edit profile.unmask or not.
err, package.unmask, of course
Oh, not true, emerge ">mysql-4.0.23" -pv works fine.