Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 80041 - net-analyzer/net-snmp-5.2 overwrites /usr/lib/perl5/5.8.5/i686-linux/perllocal.pod with USE="perl" flag
Summary: net-analyzer/net-snmp-5.2 overwrites /usr/lib/perl5/5.8.5/i686-linux/perlloca...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Netmon project
URL:
Whiteboard:
Keywords:
: 80835 (view as bug list)
Depends on:
Blocks:
 
Reported: 2005-01-30 02:41 UTC by Jakub Moc (RETIRED)
Modified: 2005-02-05 04:31 UTC (History)
2 users (show)

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


Attachments
net-snmp-5.2-r3.ebuild (net-snmp-5.2-r3.ebuild,4.09 KB, text/plain)
2005-02-01 03:25 UTC, Aaron Walker (RETIRED)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jakub Moc (RETIRED) gentoo-dev 2005-01-30 02:41:14 UTC
Emerge fails with FEATURES="collision-protect", without collision-protect perllocal.pod is overwritten. :/

Reproducible: Always
Steps to Reproduce:
1. cd /usr/lib/perl5/5.8.5/i686-linux/
2. cp perllocal.pod perllocal.pod.orig
3. FEATURES="-collision-protect" USE="perl" emerge =net-snmp-5.2
4. diff -Nu perllocal.pod.orig perllocal.pod > perllocal.pod.diff

Actual Results:  
perllocal.pod overwritten after emerge

Expected Results:  
perllocal.pod should be appended, NOT overwritten!

# emerge info
Portage 2.0.51-r15 (default-linux/x86/2004.3, gcc-3.3.5,
glibc-2.3.4.20040808-r1, 2.6.9-gentoo-r13 i686)
=================================================================
System uname: 2.6.9-gentoo-r13 i686 AMD Athlon(tm) XP 2200+
Gentoo Base System version 1.6.7
Python:              dev-lang/python-2.3.4 [2.3.4 (#1, Oct 17 2004, 02:15:56)]
dev-lang/python:     2.3.4
sys-devel/autoconf:  2.59-r6, 2.13
sys-devel/automake:  1.7.9-r1, 1.8.5-r3, 1.5, 1.4_p6, 1.6.3, 1.9.4
sys-devel/binutils:  2.15.92.0.2-r1
sys-devel/libtool:   1.5.10-r4
virtual/os-headers:  2.6.8.1-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-O3 -march=athlon-xp -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /opt/glftpd/etc /usr/kde/2/share/config
/usr/kde/3/share/config /usr/share/config /var/bind /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O3 -march=athlon-xp -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs autoconfig ccache collision-protect distlocks makecheck
sandbox sfperms"
GENTOO_MIRRORS="http://distfiles.gentoo.org
http://distro.ibiblio.org/pub/Linux/distributions/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 3dnow acpi apache2 apm arts avi berkdb bitmap-fonts crypt encode f77
fbcon firebird font-server foomaticdb fortran gd gd-external gdbm gif gpm gtk2
imap imlib innodb java jpeg junit libg++ libwww mad maildir mikmod mmx motif
mpeg mysql ncurses nls nptl odbc oggvorbis opengl oss pam pdflib perl png pnp
postgres python quicktime readline sasl sdl slang snmp socks5 spell sse ssl svga
tcpd tiff truetype truetype-fonts type1-fonts unicode xml xml2 xmms xv zlib"
Unset:  ASFLAGS, CBUILD, CTARGET, LANG, LC_ALL, LDFLAGS
Comment 1 Michael Cummings (RETIRED) gentoo-dev 2005-01-31 08:11:02 UTC
Netmon,

Either append the info or find a way to use the perlmodules eclass (which appends the info ;) ). Let me know if you need help adapting it,

mike
Comment 2 Aaron Walker (RETIRED) gentoo-dev 2005-02-01 03:25:04 UTC
Well, I'm pretty sure I have the fix but cannot reproduce the collision.  Never seen something so odd:

$ equery belongs /usr/lib/perl5/5.8.5/i686-linux/perllocal.pod 
[ Searching for file(s) /usr/lib/perl5/5.8.5/i686-linux/perllocal.pod in *... ]
dev-util/subversion-1.1.1-r3 (/usr/lib/perl5/5.8.5/i686-linux/perllocal.pod)
net-analyzer/net-snmp-5.2 (/usr/lib/perl5/5.8.5/i686-linux/perllocal.pod)
net-im/gaim-1.1.1 (/usr/lib/perl5/5.8.5/i686-linux/perllocal.pod)

This is after merging with FEATURES="collision-protect".

So because of this, I am unable to test the solution.  I am posting the (hopefully) fixed ebuild here in hopes that you'll test it and let me know.

To test (I apologize if this is info you know already):
1) mkdir -p ~/overlay/net-analyzer
2) cp -R /usr/portage/net-analyzer/net-snmp ~/overlay/net-analyzer
3) export PORTDIR_OVERYLAY=~/overlay
4) save attached ebuild into ~/overlay/net-analyzer
5) ebuild ~/overlay/net-analyzer/net-snmp/net-snmp-5.2-r3.ebuild digest
6) FEATURES="collision-protect" emerge net-snmp
Comment 3 Aaron Walker (RETIRED) gentoo-dev 2005-02-01 03:25:48 UTC
Created attachment 50115 [details]
net-snmp-5.2-r3.ebuild
Comment 4 Jakub Moc (RETIRED) gentoo-dev 2005-02-02 00:28:58 UTC
Thanks Aaron, but I
Comment 5 Jakub Moc (RETIRED) gentoo-dev 2005-02-02 00:28:58 UTC
Thanks Aaron, but I´m afraid I cannot test the collision-protect fix either,  because now I have:

$ equery belongs /usr/lib/perl5/5.8.5/i686-linux/perllocal.pod
dev-perl/mod_perl-1.99.11 (/usr/lib/perl5/5.8.5/i686-linux/perllocal.pod)
net-analyzer/net-snmp-5.2 (/usr/lib/perl5/5.8.5/i686-linux/perllocal.pod)

So if it correctly appends perllocal.pod and does not overwrite it any more, I would mark this bug fixed as this was the main point of this bug. Perl devs have probably given up on getting collision-protect work with perl-related ebuilds - see Bug 71659. 
Comment 6 Aaron Walker (RETIRED) gentoo-dev 2005-02-02 03:02:15 UTC
Fixed.  The ebuild now uses perl-module.eclass which, if the perllocal.pod file exists already, will install the pod into /usr/share/perl/gentoo-pods with a package specific file name.
Comment 7 Michael Cummings (RETIRED) gentoo-dev 2005-02-02 03:18:55 UTC
(Realizing this is closed, but wanted to comment)

Out (my?) giving up with collision related bugs is related to circumstances where an ebuild of a module (preferably newer :) ) is attempting to replace a module that was provided in the core perl install. A good example of this was the Safe ebuild, which addressed security problems in the Safe module distributed with the old perl <=5.8.0 distributions - a case where you need to overwrite what's already provided. I asked Aaron not to let this one get lumped with that other bug because perllocal.pod overwrites is a different issue (just the same results).
Comment 8 Carsten Lohrke (RETIRED) gentoo-dev 2005-02-05 04:31:16 UTC
*** Bug 80835 has been marked as a duplicate of this bug. ***