When using emerge to download the sources for multiple versions of a package, it now errors out with: $ emerge --fetchonly =gentoolkit-dev-0.2.6.1 =gentoolkit-dev-0.2.5 Calculating dependencies \ !!! Multiple versions within a single package slot have been !!! pulled into the dependency graph: ('ebuild', '/', 'app-portage/gentoolkit-dev-0.2.5', 'merge') (no parents) ('ebuild', '/', 'app-portage/gentoolkit-dev-0.2.6.1', 'merge') (no parents) While I think this behavior is correct in the sense that you have an invalid depgraph. It is a regression from previous versions and loss of convenience. Reproducible: Always Portage 2.1.2_rc4-r7 (default-linux/x86/2006.1/desktop, gcc-4.1.1, glibc-2.4-r4, 2.6.17-gentoo-r8 i686) ================================================================= System uname: 2.6.17-gentoo-r8 i686 Intel(R) Pentium(R) 4 CPU 1.80GHz Gentoo Base System version 1.12.8 Last Sync: Wed, 10 Jan 2007 06:50:01 +0000 ccache version 2.4 [enabled] dev-java/java-config: 1.3.7, 2.0.31 dev-lang/python: 2.4.4 dev-python/pycrypto: 2.0.1-r5 dev-util/ccache: 2.4-r6 sys-apps/sandbox: 1.2.18.1 sys-devel/autoconf: 2.13, 2.61 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10 sys-devel/binutils: 2.17 sys-devel/gcc-config: 1.3.14 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.19 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=pentium4 -O2 -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/chroot/dns /etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config /var/bind" CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/terminfo" CXXFLAGS="-march=pentium4 -O2 -pipe" DISTDIR="/usr/portage/distfiles" EMERGE_DEFAULT_OPTS="" FEATURES="autoconfig ccache cvs distlocks fixpackages metadata-transfer sandbox sfperms strict" GENTOO_MIRRORS="http://distfiles.gentoo.org http://gentoo.osuosl.org" LINGUAS="en" 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 /usr/portage/local/layman/webapps-experimental /usr/portage/local/layman/sunrise" SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage" USE="X acpi alsa apache2 arts artswrappersuid audiofile berkdb bitmap-fonts cdr cli cracklib crypt cups dlloader dri dvd eds emboss encode fam fbcon firefox flac fortran gdbm gif gpm gstreamer gtk iconv imlib isdnlog java javascript jpeg kde kdeenablefinal libg++ logrotate mad maildir mikmod mmx motif mp3 mpeg ncurses nls nptl nptlonly nsplugin ogg opengl pam pcre pdf perl png ppds pppd python qt3 quicktime readline reflection samba sasl sdl session spell spl sse ssl tcltk tcpd tiff truetype truetype-fonts type1-fonts udev usb vim-syntax vorbis win32codecs x86 xorg xscreensaver xv zlib" ALSA_CARDS="intel8x0" 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" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LINGUAS="en" USERLAND="GNU" VIDEO_CARDS="nvidia nv vesa" Unset: CTARGET, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, MAKEOPTS, PORTAGE_RSYNC_EXTRA_OPTS
This is fixed in svn r5533:5536.
This has been released in 2.1.2_rc4-r8.
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/proj/portage.git/commit/?id=a5078e5774932103d4ad367de4c6bf130a6da34f commit a5078e5774932103d4ad367de4c6bf130a6da34f Author: Zac Medico <zmedico@gentoo.org> AuthorDate: 2024-01-15 23:10:03 +0000 Commit: Zac Medico <zmedico@gentoo.org> CommitDate: 2024-01-16 16:01:53 +0000 emerge: backtrack consistently regardless of --fetchonly Make the _accept_blocker_conflicts method always return True when backtracking is enabled, so that backtracking results will be identical regardless of options that _accept_blocker_conflicts treats specially. This way, conflicts will only be accepted when backtracking is disabled or all backtracking tries have been exhausted. Make --nodeps imply --backtrack=0, since backtracking is only useful with dependencies. Make _eliminate_rebuilds return early if there are slot conflicts, since the merge list is invalid anyway, and its possible that state inconsistencies could trigger unexpected exceptions as in bug 922038. Make the KeyError from bug 922038 a warning, and include relevant information to help trace the inconsistency back to the _eliminate_rebuilds method or some other source like _solve_non_slot_operator_slot_conflicts. Bug: https://bugs.gentoo.org/161422 Bug: https://bugs.gentoo.org/607252 Bug: https://bugs.gentoo.org/675748 Bug: https://bugs.gentoo.org/922038 Signed-off-by: Zac Medico <zmedico@gentoo.org> lib/_emerge/depgraph.py | 63 +++++++++++++++++++++++++++++++++++++++++++++---- man/emerge.1 | 5 ++-- 2 files changed, 61 insertions(+), 7 deletions(-)