Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 311267 - sys-apps/portage-2.2_rc67 --newuse gets confused by multislot
Summary: sys-apps/portage-2.2_rc67 --newuse gets confused by multislot
Status: RESOLVED DUPLICATE of bug 174407
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core - Dependencies (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-03-25 05:45 UTC by Doktor Notor
Modified: 2010-03-25 18:51 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge -NuDp --debug --backtrack=0 world &> log (log.bz2,114.71 KB, text/plain)
2010-03-25 05:49 UTC, Doktor Notor
Details
emerge --ignore-default-opts --debug --backtrack=0 -upv world &> log (log,76.03 KB, text/plain)
2010-03-25 15:49 UTC, Doktor Notor
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Doktor Notor 2010-03-25 05:45:38 UTC
I know you won't like this bug :) This behaviour is kinda really weird...

# emerge -NuDp world

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild     U ] dev-libs/openssl-0.9.8n [0.9.8m-r1]
[ebuild   R   ] sys-devel/binutils-2.20.51.0.6 

# emerge --deselect =sys-devel/binutils-2.20.1
>>> Removing sys-devel/binutils:0 from "world" favorites file...

# emerge -NuDp world
These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild     U ] dev-libs/openssl-0.9.8n [0.9.8m-r1]

# emerge --noreplace =sys-devel/binutils-2.20.1
Calculating dependencies... done!
>>> Recording sys-devel/binutils:0 in "world" favorites file...


# emerge -NuDp world
These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild     U ] dev-libs/openssl-0.9.8n [0.9.8m-r1]
[ebuild   R   ] sys-devel/binutils-2.20.51.0.6 

# cat /var/db/pkg/sys-devel/binutils-2*/{SLOT,IUSE}
0
i686-pc-linux-gnu-2.20.51.0.6
nls multitarget multislot test vanilla
nls multitarget multislot test vanilla
Comment 1 Doktor Notor 2010-03-25 05:46:16 UTC
# emerge --info 
Portage 2.2_rc67 (default/linux/x86/10.0/desktop, gcc-4.4.3, glibc-2.11-r1, 2.6.33-gentoo-ck1 i686)
=================================================================
System uname: Linux-2.6.33-gentoo-ck1-i686-AMD_Athlon-tm-_XP_2800+-with-gentoo-2.0.1
Timestamp of tree: Thu, 25 Mar 2010 01:45:01 +0000
ccache version 2.4 [enabled]
app-shells/bash:     4.1_p2-r1
dev-java/java-config: 2.1.10
dev-lang/python:     2.6.5, 3.1.2
dev-python/pycrypto: 2.1.0
dev-util/ccache:     2.4-r8
dev-util/cmake:      2.8.1
sys-apps/baselayout: 2.0.1
sys-apps/openrc:     0.6.1-r1
sys-apps/sandbox:    2.2
sys-devel/autoconf:  2.13, 2.65
sys-devel/automake:  1.9.6-r3, 1.10.3, 1.11.1
sys-devel/binutils:  2.20.1, 2.20.51.0.6
sys-devel/gcc:       4.4.3
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6b
virtual/os-headers:  2.6.33
ACCEPT_KEYWORDS="x86 ~x86"
ACCEPT_LICENSE="*"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=athlon-xp -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/X11/xkb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo"
CXXFLAGS="-O2 -march=athlon-xp -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--alphabetical --binpkg-respect-use y --keep-going --with-bdeps y"
FEATURES="assume-digests buildsyspkg ccache distlocks fakeroot fixpackages metadata-transfer news parallel-fetch protect-owned sandbox sfperms split-elog split-log strict unmerge-orphans userfetch userpriv usersandbox usersync"
GENTOO_MIRRORS="http://gentoo.mirror.web4u.cz/ http://ftp.fi.muni.cz/pub/linux/gentoo/ http://distfiles.gentoo.org http://www.ibiblio.org/pub/Linux/distributions/gentoo"
INSTALL_MASK="/usr/share/gtk-doc"
LANG="en_US.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,--hash-style=gnu"
LINGUAS="cs en"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_EXTRA_OPTS="--prune-empty-dirs --omit-dir-times"
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="/var/lib/layman/php-testing /var/lib/layman/php-experimental /var/lib/layman/sunrise /var/lib/layman/enlightenment /usr/local/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="3dnow 3dnowext X X509 a52 aac aalib acl acpi alsa amr ao bash-completion berkdb bluetooth branding bzip2 cairo caps cdda cddb cdparanoia cdr cleartype cli cracklib crypt css cups curl cvs cxx dbus directfb djvu dri dts dv dvd dvdr encode exif faac faad fam fat fbcon ffmpeg firefox flac flash fontconfig ftp fuse gd gdbm ggi gif git gnome-keyring gnutls gpm gs gsm gstreamer gtk hal iconv icu id3tag idn ieee1394 imagemagick imap ipv6 irda jbig jpeg jpeg2k ladspa lame lcms libcaca libnotify libsamplerate lirc lm_sensors lock lua lzo mad maildir matroska mikmod mmx mmxext mng modules mp3 mp4 mpeg mudflap musepack musicbrainz ncurses network network-cron nfs nfsv3 nfsv4 nls nptl nptlonly nsplugin ntfs offensive ogg openal openexr opengl openmp pam pch pcre pdf perl pkcs11 plotutils png portaudio ppds pppd python quicktime raw readline reflection reiserfs rss schroedinger sdl session shorten skey sndfile sox speex spell spl sqlite sqlite3 sse ssl startup-notification subversion svg symlink sysfs system-sqlite taglib tcl tcpd theora thunar tiff tk truetype unicode usb v4l v4l2 vcd vorbis wavpack webkit win32codecs wmf wxwidgets x264 x86 xattr xcb xinerama xinetd xml xorg xpm xulrunner xv xvid xvmc zlib" ALSA_CARDS="emu10k1 bt87x" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon 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 deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="evdev joystick keyboard lirc mouse vmmouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="cs en" LIRC_DEVICES="cph06x devinput" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="nouveau nvidia v4l vmware" 
Unset:  CPPFLAGS, CTARGET, FFLAGS, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS
Comment 2 Doktor Notor 2010-03-25 05:49:57 UTC
Created attachment 225179 [details]
emerge -NuDp --debug --backtrack=0 world &> log
Comment 3 Doktor Notor 2010-03-25 06:05:31 UTC
Ah, well...

# cat /var/db/pkg/sys-devel/binutils-2*/USE
elibc_glibc kernel_linux nls userland_GNU x86
elibc_glibc kernel_linux multislot nls userland_GNU x86

that kinda explains it, but - it tries to re-emerge the wrong slot :) 

[ebuild   R   ] sys-devel/binutils-2.20.1  USE="multislot* -multitarget nls -test -vanilla" 0 kB
[ebuild   R   ] sys-devel/binutils-2.20.51.0.6  USE="multislot -multitarget nls -test -vanilla" 0 kB

(emerge -e @world appears to have ignored the binutils:0 slot causing all this confusion in the first place).
Comment 4 Zac Medico gentoo-dev 2010-03-25 10:13:41 UTC
What about the contents of /var/db/pkg/sys-devel/binutils-2*/USE? Something in there is probably triggering --newuse. Also, add -v to your emerge -p options so we can see exactly what USE will be enabled in the new build.
Comment 5 Doktor Notor 2010-03-25 10:19:25 UTC
(In reply to comment #4)
> What about the contents of /var/db/pkg/sys-devel/binutils-2*/USE? Something in
> there is probably triggering --newuse. Also, add -v to your emerge -p options
> so we can see exactly what USE will be enabled in the new build.

That's posted above in Comment #3. Basically, it's IUSE=multislot fault here as usual *g* - the below makes it much more clear:


# emerge -pv =sys-devel/binutils-{2.20.1,2.20.51.0.6}

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   ] sys-devel/binutils-2.20.1  USE="multislot* -multitarget nls -test -vanilla" 0 kB
[ebuild   R   ] sys-devel/binutils-2.20.51.0.6  USE="multislot -multitarget nls -test -vanilla" 0 kB

Total: 2 packages (2 reinstalls), Size of downloads: 0 kB

!!! Multiple package instances within a single package slot have been pulled
!!! into the dependency graph, resulting in a slot conflict:

sys-devel/binutils:0

  ('ebuild', '/', 'sys-devel/binutils-2.20.1', 'merge') pulled in by
    =sys-devel/binutils-2.20.1

  ('ebuild', '/', 'sys-devel/binutils-2.20.51.0.6', 'merge') pulled in by
    =sys-devel/binutils-2.20.51.0.6

Guess this one's a CANTFIX really. 
Comment 6 Zac Medico gentoo-dev 2010-03-25 10:21:32 UTC
(In reply to comment #4)
> What about the contents of /var/db/pkg/sys-devel/binutils-2*/USE? Something in
> there is probably triggering --newuse. Also, add -v to your emerge -p options
> so we can see exactly what USE will be enabled in the new build.

Nevermind, I didn't see comment #3. Unfortunately there's nothing we can do to fix this now because there's no way to select SLOT with multislot ebuilds. However, maybe we could add an EAPI extension that would allow us to select the SLOT.
Comment 7 Doktor Notor 2010-03-25 14:29:51 UTC
Well, digging more into this, I'd say there's still some sort of portage bug b/c the below makes no sense me, even despite the multislot hack implied troubles.

# cat /var/db/pkg/sys-devel/binutils-2*/{IUSE,USE,SLOT}
nls multitarget multislot test vanilla
nls multitarget multislot test vanilla
elibc_glibc kernel_linux multislot nls userland_GNU x86
elibc_glibc kernel_linux multislot nls userland_GNU x86
i686-pc-linux-gnu-2.20.1
i686-pc-linux-gnu-2.20.51.0.6


# emerge -NuDpv world

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   ] sys-devel/binutils-2.20.51.0.6  USE="multislot -multitarget nls -test -vanilla" 0 kB

Now, it makes no different whether the lower or higher version or both are in world or not, I always get the above.

With identical USE and IUSE, where's it pulling the "changed" flags from?
Comment 8 Doktor Notor 2010-03-25 15:49:45 UTC
Created attachment 225231 [details]
emerge --ignore-default-opts --debug --backtrack=0 -upv world &> log

Well, it's even more weird... it's not even --newuse now. I don't know what's it trying to do, honestly. Don't recall anything similar w/ 2.1
Comment 9 Doktor Notor 2010-03-25 16:07:14 UTC
Ah... So, probably figured out :)

# grep binutils /var/lib/portage/world
sys-devel/binutils:0
sys-devel/binutils:i686-pc-linux-gnu-2.20.1

# emerge --deselect sys-devel/binutils:0
>>> Removing sys-devel/binutils:0 from "world" favorites file...

# emerge --deselect sys-devel/binutils:i686-pc-linux-gnu-2.20.1
>>> Removing sys-devel/binutils:i686-pc-linux-gnu-2.20.1 from "world" favorites file...

# emerge -uDpv world
These are the packages that would be merged, in order:

Calculating dependencies... done!

Total: 0 packages, Size of downloads: 0 kB

# emerge --noreplace =sys-devel/binutils-2.20.1; emerge -uDpv world
Calculating dependencies... done!
>>> Recording sys-devel/binutils:i686-pc-linux-gnu-2.20.1 in "world" favorites file...
>>> Auto-cleaning packages...

>>> No outdated packages were found on your system.

These are the packages that would be merged, in order:

Calculating dependencies... done!

Total: 0 packages, Size of downloads: 0 kB


Yay, back to semi-sane state! *g* I guess this is back to PMS folks :)

Comment 10 SpanKY gentoo-dev 2010-03-25 17:41:48 UTC
it's called "implement Bug 174407 finally".  constantly poking teams (like toolchain) isnt going to make this happen, nor are the ebuilds/eclasses going to change.  like ive always said, USE=multislot fills a very real gap and it isnt going away.
Comment 11 Doktor Notor 2010-03-25 18:29:56 UTC
To make this clear - this bug wasn't filed to get rid of USE=multislot (which indeed is useful), not to piss anyone off. ;)

Resolving as duplicate and thanks.

*** This bug has been marked as a duplicate of bug 174407 ***
Comment 12 Zac Medico gentoo-dev 2010-03-25 18:51:06 UTC
I didn't know that the "Use-dynamic SLOTS" thing would fit the USE=multislot case, since SLOT values like "i686-pc-linux-gnu-2.20.1" would require CHOST expansion, which would seem beyond the scope of simple "Use-dynamic SLOTS". Shrug, we'll figure it all out eventually.