Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 134025 - libwww-perl has incorrect RDEPEND
Summary: libwww-perl has incorrect RDEPEND
Status: RESOLVED FIXED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core - Dependencies (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Perl team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-05-22 07:15 UTC by Sigmund A. Helberg
Modified: 2006-05-27 13:21 UTC (History)
1 user (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 Sigmund A. Helberg 2006-05-22 07:15:05 UTC
Steps to reproduce:
1: emerge libwww-perl
2: emerge --buildpkg libwww-perl
3: emerge unmerge libwww-perl URI
4: emerge -k libwww-perl
5: perl -MLWP

you will see that perl -MLWP fails because URI package is missing. Even when binary packages of all dependencies og libwww-perl is available it does not try to install them.
Comment 1 Jakub Moc (RETIRED) gentoo-dev 2006-05-22 07:53:33 UTC
Current stable version (and above) depends on dev-perl/URI. RDEPEND defaults to DEPEND, I really don't see what's your issue here... Reopen w/ emerge --info, you didn't provide portage version. 
Comment 2 Sigmund A. Helberg 2006-05-22 09:15:34 UTC
I've seen manuals and documentation stating that RDEPEND defaults to DEPEND, but I have this far (testing with various ebuilds and browsing the emerge sources) failed to find any case where this is actually happening. Furthermore the libwww-perl ebuild _does_ set RDEPEND. This is done byte the perl-module eclass. So even if emerge did make RDEPEND default to DEPEND, which it as far as I can tell does not, it wouldn't know that libwww-perl ebuild doesn't set RDEPEND.

Here is the output of emerge --info (sorry I forgot that first time around)

Portage 2203-svn (default-linux/x86/2005.1, gcc-3.3.6, glibc-2.3.6-r3, 2.6.14-gentoo-r2 i686)
=================================================================
System uname: 2.6.14-gentoo-r2 i686 AMD Athlon(tm) XP 2200+
Gentoo Base System version 1.6.14
dev-lang/python:     2.3.5, 2.4.2
dev-python/pycrypto: [Not Present]
dev-util/ccache:     [Not Present]
dev-util/confcache:  [Not Present]
sys-apps/sandbox:    1.2.11
sys-devel/autoconf:  2.13, 2.59-r7
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1
sys-devel/binutils:  2.16.1
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -mcpu=i686 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/usr/lib/X11/xkb"
CONFIG_PROTECT_MASK="/etc/eselect/compiler /etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O2 -mcpu=i686 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks sandbox sfperms strict"
GENTOO_MIRRORS="http://mirror.gentoo.no"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/portage/snap-overlay"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 X apm avi berkdb bitmap-fonts bzip2 cdr cli crypt cups dri eds emboss encode expat foomaticdb gd gdbm gif gnome gpm gstreamer hal imlib ipv6 isdnlog jpeg kde libg++ libwww mad mhash mikmod motif mp3 mpeg ncurses nls ogg oggvorbis oss pam pcre pdflib perl png postgres pppd python qt quicktime readline reflection session spell spl ssl tcpd tiff truetype truetype-fonts type1-fonts udev usb vorbis xml2 xmms xorg zlib userland_GNU kernel_linux elibc_glibc"
Unset:  ASFLAGS, CTARGET, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTAGE_RSYNC_EXTRA_OPTS, PORTAGE_RSYNC_OPTS

Comment 3 Sigmund A. Helberg 2006-05-22 09:22:01 UTC
libwww-perl ebuild version 5.803-r1
Comment 4 Jakub Moc (RETIRED) gentoo-dev 2006-05-22 09:29:13 UTC
(In reply to comment #2)
> Furthermore
> the libwww-perl ebuild _does_ set RDEPEND. This is done byte the perl-module
> eclass. So even if emerge did make RDEPEND default to DEPEND, which it as far
> as I can tell does not, it wouldn't know that libwww-perl ebuild doesn't set
> RDEPEND.

Still doesn't make sense, since perl-module eclass sets RDEPEND to DEPEND (unless USE="minimal" is set...
Comment 5 Sigmund A. Helberg 2006-05-22 09:40:00 UTC
yes, but this is all before libwww-perl ever tries to set DEPEND (which it by the way sets in a way which removes what perl-module wants). So as far as emerge is consirned libwww-perl has the following RDEPEND:
!minimal? ( >=dev-lang/perl-5.8.2 !<perl-core/ExtUtils-MakeMaker-6.17 )

found with some simple prints inside emerge sources itself.
Comment 6 Michael Cummings (RETIRED) gentoo-dev 2006-05-22 19:29:03 UTC
this bug doesn't seem so much to be about libwww-perl's good use (or not) of DEPEND vs RDEPEND, but whether portage is actually setting RDEPEND=DEPEND implicitly when RDEPEND isn't set explicityly.

/me checks assigned-to

hi portage folks :) we used to set rdepend=depend, then got our wrists slapped, just let us know which way we should be going.
Comment 7 Zac Medico gentoo-dev 2006-05-22 23:43:00 UTC
(In reply to comment #6)
> this bug doesn't seem so much to be about libwww-perl's good use (or not) of
> DEPEND vs RDEPEND, but whether portage is actually setting RDEPEND=DEPEND
> implicitly when RDEPEND isn't set explicityly.

Most or all of the docs that I've seen regarding this are outdated.  The current correct policy is to set RDEPEND="${DEPEND}" explicitly, as needed.  Portage will do it automatically for the ebuild (not the eclasses) if RDEPEND is not set by the ebuild *and* not set by *any* inherited eclasses, but the automatic behavior is deprecated.  See the "No automatic RDEPEND=DEPEND for ebuild and eclass anymore" announcement here:

http://thread.gmane.org/gmane.linux.gentoo.devel/29509/
Comment 8 Sigmund A. Helberg 2006-05-23 00:04:22 UTC
The following patch fixes the issue.
--- libwww-perl-5.803-r1.ebuild 2006-04-26 15:35:55.000000000 +0000
+++ libwww-perl-5.803-r2.ebuild 2006-05-23 09:00:10.000000000 +0000
@@ -20,6 +20,7 @@
        >=virtual/perl-MIME-Base64-2.12
        dev-perl/Compress-Zlib
        ssl? ( dev-perl/Crypt-SSLeay )"
+RDEPEND="${DEPEND}"
 
 src_compile() {
        echo "y" | perl-module_src_compile
Comment 9 Michael Cummings (RETIRED) gentoo-dev 2006-05-27 13:20:45 UTC
RDEP set in libwww-perl
Comment 10 Michael Cummings (RETIRED) gentoo-dev 2006-05-27 13:21:06 UTC
(and now to actually close this - sorry for the double mailing folks)