When running emerge -puD with slotted apps, portage only displays updates for the app with the higher slot value. Reproducible: Always Steps to Reproduce: 1. emerge \=dev-python/pygtk-0.6.9 2. emerge \=dev-python/pygtk-1.99.13-r1 3. emerge -puD world Actual Results: ... ... [ebuild U ] dev-python/pygtk-1.99.16 [1.99.13-r1] ... ... foo ~> Expected Results: ... ... [ebuild U ] dev-python/pygtk-0.6.11 [0.6.9] ... ... [ebuild U ] dev-python/pygtk-1.99.16 [1.99.13-r1] ... ... foo ~> Portage 2.0.47-r12 (default-x86-1.4, gcc-3.3, glibc-2.3.3_alpha20020318-r0) ================================================================= System uname: 2.4.21-pre5-xfs-ac3 i686 AMD Athlon(TM) MP 2000+ GENTOO_MIRRORS="http://www.ibiblio.org/pub/Linux/distributions/gentoo" CONFIG_PROTECT="/etc /var/qmail/control /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config" CONFIG_PROTECT_MASK="/etc/afs/C /etc/afs/afsws /etc/gconf /etc/env.d" PORTDIR="/usr/portage" DISTDIR="/usr/portage/distfiles" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR_OVERLAY="/usr/local/portage" USE="x86 oss 3dnow apm avi crypt cups gif jpeg kde gnome libg++ mikmod mmx mpeg ncurses nls pdflib png quicktime sdl spell xml2 xmms xv zlib gdbm berkdb slang readline arts svga java X gpm tcpd pam libwww ssl python imlib oggvorbis gtk qt motif opengl aalib acl acpi afs alsa bonobo cdr cjk cyrus-berkdb dga directfb doc dvd encode esd fbcon firebird flash freetype gb gd gphoto2 gps ggi ggz gtk2 gtkhtml guile imap innodb jikes junit kerberos lcms ldap leim libgda matrox lm_sensors mbox mozilla mozp3p mozaccess-builtin mozctl mozinterfaceinfo mozirc mozxmlterm mule mysql nas nptl oav oci8 odbc pda perl plotutils pnp postgres ruby rpcauth samba sasl sasl-anon sasl-gssapi sasl-krb4 sasl-ldap sasl-login sasl-mysql sasl-plain sasl-scram scanner snmp slp sse sqlite tcltk tetex threads tiff tls truetype trusted wmf xdbe xface xft xfs xml zeo" COMPILER="gcc3" CHOST="i686-pc-linux-gnu" CFLAGS="-march=athlon-mp -O3 -pipe -ftracer -fforce-addr -fomit-frame-pointer -funroll-loops -falign-functions=4 -maccumulate-outgoing-args" CXXFLAGS="-march=athlon-mp -O3 -pipe -ftracer -fforce-addr -fomit-frame-pointer -funroll-loops -falign-functions=4 -maccumulate-outgoing-args -Wno-deprecated" ACCEPT_KEYWORDS="x86 ~x86" MAKEOPTS="-j6" AUTOCLEAN="no" SYNC="cvs://dragon@cvs.gentoo.org:/home/cvsroot" FEATURES="sandbox ccache"
additionally when one does an emerge -puD world that results in an upgrade of the lower slotted package only (so in this case dev-python/pygtk-0.6.9), emerge will say something like: [ebuild UD] dev-python/pygtk-0.6.11 [1.99.13-r1] So it looks like it is going to do a downgrade of the higher slotted package, where it actually will upgrade the lower slotted package. This is confusing to a lot of users (look at these threads in the forum: http://forums.gentoo.org/viewtopic.php?t=47151 and http://forums.gentoo.org/viewtopic.php?p=295911 )
Created attachment 16613 [details, diff] pretend_in_slots.patch I've also seen a lot of people on forum who don't understand the current output of "emerge -pv" when slotted packages are to update. This patch is a new output proposal. It's only a fix for the issue in the 2nd comment of this bug, not the original report. With this patch, assuming cat/pkg-1.x and cat/pkg-2.x are in slots 1 and 2, you will get this kind of output: "[ebuild US] cat/pkg-2.0 [1.1]" means there is no version installed in slot 2 yet, and 1.1 is the best version currently installed. The "S" means "this update is in a new slot". "[ebuild US] cat/pkg-1.1 [2.0]" is the exact opposite situation (no slot 1 version yet, but only a slot 2 version). Currently, emerge show a "D" in this situation, and that's mostly what disturbes users. "[ebuild U ] cat/pkg-1.2 [1.1]" means 1.1, the best version installed in slot 1, will be upgraded. If there is a 2.x version installed, we don't care. Here again, current portage would have shown "[ebuild UD] cat/pkg-1.2 [2.0]" in case there was an installed 2.0 version, which would have been disturbing. "[ebuild UD] cat/pkg-1.1 [1.2]" means a downgrade _inside_ slot 1. Again, this has nothing to see with installed slot 2 versions. And there is no more "U-", because I've thought this "slot was empty" information was not relevant for the users. Portage treats this case juste like if the package was in its own slot, hence my "emerge -pv" does the same. If you only have an old 0.1 version with empty slot installed, what you will see when you update to 1.1 will be "[ebuild US] cat/pkg-1.1 [0.1]". I've seen in bug #4698 that some more deep changes about slots are in progress, which also improve "emerge -pv" output. But the cosmetic modification I propose here could be use waiting for Masatomo patch to be finished. If you agree, I can also patch the man page.
Doh! sorry for the crazy message formating, it seems that the attachment comments box is a little too wide...
*** Bug 29246 has been marked as a duplicate of this bug. ***
Included modified for 49-r6. S is going to be for security... and in the case you were using it, it's actually a 'N'ew package... So that's what it displays now.