Attempting to do an 'emerge -uavD world' on a ~x86 system, I find: [blocks B ] <net-misc/whois-4.7.19-r1 (is blocking app-admin/eselect-whois-1.0.0) [ebuild U ] sys-apps/portage-2.1.2_rc1 [2.1.2_pre3-r9] USE="-build -doc (-selinux)" LINGUAS="-pl" 305 kB *** Portage will stop merging at this point and reload itself, then resume the merge. [ebuild U ] net-misc/whois-4.7.19-r1 [4.7.19] USE="-nls" 0 kB [ebuild N ] app-admin/eselect-whois-1.0.0 1 kB Currently I have net-misc/whois-4.7.19 installed. But portage should have been able to upgrade whois first, and then determine that it wasn't blocking eselect-whois. I also get this problem when I try to explicitly upgrade whois: emerge -av net-misc/whois These are the packages that would be merged, in order: Calculating dependencies... done! [blocks B ] <net-misc/whois-4.7.19-r1 (is blocking app-admin/eselect-whois-1.0.0) [ebuild U ] net-misc/whois-4.7.19-r1 [4.7.19] USE="-nls" 0 kB [ebuild N ] app-admin/eselect-whois-1.0.0 1 kB Again -- portage should be able to determine that, once whois is upgraded, it no longer blocks eselect's requirement.
/etc/make.conf: USE="unicode -X -nls -gpm -nptl -fortran -gtk -tcpd -spell -mysql bzip2 caps curl gnutls -sdl fam -apache -apache2 -ldap -nptlonly -mailwrapper" CHOST="i686-pc-linux-gnu" CFLAGS="-march=pentium4 -O3" CXXFLAGS="${CFLAGS}" ACCEPT_KEYWORDS="~x86" PORTDIR_OVERLAY="/usr/local/lw-portage-overlay /usr/local/guralp-portage-overlay" MAKEOPTS="-j1" PORTAGE_NICENESS="3" FEATURES="sandbox"
emerge --info: Portage 2.1.2_pre3-r9 (default-linux/x86/2006.1/server, gcc-4.1.1, glibc-2.3.6-r5, 2.6.17-rc2-linode19 i686) ================================================================= System uname: 2.6.17-rc2-linode19 i686 UML Gentoo Base System version 1.12.5 Last Sync: Sat, 28 Oct 2006 04:30:01 +0000 app-admin/eselect-compiler: [Not Present] dev-java/java-config: [Not Present] dev-lang/python: 2.4.3-r4 dev-python/pycrypto: 2.0.1-r5 dev-util/ccache: [Not Present] dev-util/confcache: [Not Present] sys-apps/sandbox: 1.2.18.1 sys-devel/autoconf: 2.13, 2.60 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.17-r1 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=pentium4 -O3" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /var/bind" CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/terminfo" CXXFLAGS="-march=pentium4 -O3" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks metadata-transfer sandbox sfperms strict" GENTOO_MIRRORS="http://open-systems.ufl.edu/mirrors/gentoo http://gentoo.chem.wisc.edu/gentoo/ http://mirror.espri.arizona.edu/gentoo/ http://gentoo.mirrors.tds.net/gentoo" MAKEOPTS="-j1" 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/lw-portage-overlay /usr/local/guralp-portage-overlay" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 berkdb bitmap-fonts bzip2 caps cli cracklib crypt cups curl dlloader dri elibc_glibc fam gdbm gnutls iconv input_devices_evdev input_devices_keyboard input_devices_mouse ipv6 isdnlog kernel_linux libg++ ncurses pam pcre perl ppds pppd python readline reflection session snmp spl ssl truetype truetype-fonts type1-fonts udev unicode userland_GNU video_cards_apm video_cards_ark video_cards_ati video_cards_chips video_cards_cirrus video_cards_cyrix video_cards_dummy video_cards_fbdev video_cards_glint video_cards_i128 video_cards_i740 video_cards_i810 video_cards_imstt video_cards_mga video_cards_neomagic video_cards_nsc video_cards_nv video_cards_rendition video_cards_s3 video_cards_s3virge video_cards_savage video_cards_siliconmotion video_cards_sis video_cards_sisusb video_cards_tdfx video_cards_tga video_cards_trident video_cards_tseng video_cards_v4l video_cards_vesa video_cards_vga video_cards_via video_cards_vmware video_cards_voodoo xml xorg zlib" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTAGE_RSYNC_EXTRA_OPTS
ls -l /etc/make.profile lrwxrwxrwx 1 root root 53 Oct 20 18:07 /etc/make.profile -> /usr/portage/profiles/default-linux/x86/2006.1/server
Having edited the eselect-whois ebuild to make it work anyway, I think I've found the root cause of the problem. During the merge of whois-4.7.19-r1, I noticed: * Setting /usr/bin/whois symlink !!! Error: Can't set a new provider /usr/portage/net-misc/whois/whois-4.7.19-r1.ebuild: line 54: 4747 Killed eselect whois update --if-unset >>> net-misc/whois-4.7.19-r1 merged. So it seems that net-misc/whois-4.7.19-r1 requires eselect-whois, and eselect-whois requires that same version of whois. This circular dependency is obviously what causes portage to go wrong in the first place. Looking in the ebuild for net-misc/whois-4.7.19-r1 shows that app-admin/eselect-whois is in RDEPEND; perhaps it should be in DEPEND?
> But portage should have been able to upgrade whois first, and then determine > that it wasn't blocking eselect-whois. It would work if eselect-whois was PDEPEND instead of RDEPEND: <snip> RDEPEND="net-dns/libidn" PDEPEND="app-admin/eselect-whois" DEPEND="net-dns/libidn >=dev-lang/perl-5" </snip> # emerge -uav whois These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild U ] net-misc/whois-4.7.19-r1 [4.7.19] USE="nls" 0 kB [ebuild N ] app-admin/eselect-whois-1.0.0 1 kB
(In reply to comment #4) > Looking in the ebuild for net-misc/whois-4.7.19-r1 shows that > app-admin/eselect-whois is in RDEPEND; perhaps it should be in DEPEND? That wont' solve the problem (which looks like CANTFIX anyway) Calculating dependencies... done! [blocks B ] <net-misc/whois-4.7.19-r1 (is blocking app-admin/eselect-whois-1.0.0) [ebuild U ] net-misc/whois-4.7.19-r1 [4.7.19] USE="nls" 0 kB [ebuild N ] app-admin/eselect-whois-1.0.0 1 kB Whatever, eselect-whois needs to be in DEPEND, not RDEPEND or PDEPEND, as Comment #4 shows.
Changing summary, no way around the blockers here. eselect-whois needs to be installed before whois and it needs to block incompatible whois versions -> no way to upgrade whois before eselect-whois.
That's fine -- but app-admin/eselect-whois also needs to be changed so that it doesn't block on earlier versions of whois.
(In reply to comment #8) > That's fine -- but app-admin/eselect-whois also needs to be changed so that it > doesn't block on earlier versions of whois. No, it can't be changed. The block needs to stay there.
said version not in portage anymore