Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 153122 - net-misc/whois-4.7.19-r1 should DEPEND on app-admin/eselect-whois (not RDEPEND)
Summary: net-misc/whois-4.7.19-r1 should DEPEND on app-admin/eselect-whois (not RDEPEND)
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Timothy Redaelli (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-10-28 02:03 UTC by Laurence Withers
Modified: 2006-10-28 15:23 UTC (History)
2 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Laurence Withers 2006-10-28 02:03:34 UTC
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.
Comment 1 Laurence Withers 2006-10-28 02:04:01 UTC
/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"
Comment 2 Laurence Withers 2006-10-28 02:05:27 UTC
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
Comment 3 Laurence Withers 2006-10-28 02:05:47 UTC
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
Comment 4 Laurence Withers 2006-10-28 02:14:22 UTC
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?
Comment 5 Jakub Moc (RETIRED) gentoo-dev 2006-10-28 02:23:17 UTC
> 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 
Comment 6 Jakub Moc (RETIRED) gentoo-dev 2006-10-28 02:27:26 UTC
(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.

Comment 7 Jakub Moc (RETIRED) gentoo-dev 2006-10-28 02:54:12 UTC
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.
Comment 8 Laurence Withers 2006-10-28 08:05:27 UTC
That's fine -- but app-admin/eselect-whois also needs to be changed so that it doesn't block on earlier versions of whois.
Comment 9 Jakub Moc (RETIRED) gentoo-dev 2006-10-28 08:19:29 UTC
(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.
 

Comment 10 SpanKY gentoo-dev 2006-10-28 15:23:45 UTC
said version not in portage anymore