Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 62301 - libperl_rebuilder does not rebuild all packages that are dependent upon perl
Summary: libperl_rebuilder does not rebuild all packages that are dependent upon perl
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Development (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Perl team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 48024
  Show dependency tree
 
Reported: 2004-08-30 15:15 UTC by Paul Varner (RETIRED)
Modified: 2005-01-26 09:18 UTC (History)
0 users

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


Attachments
Patch to fix libperl_rebuilder to rebuild dependent packages (libperl_rebuilder.patch,2.62 KB, patch)
2004-08-30 15:18 UTC, Paul Varner (RETIRED)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Paul Varner (RETIRED) gentoo-dev 2004-08-30 15:15:00 UTC
I upgraded from perl-5.8.4 to perl-5.8.5 this weekend and spamassasin broke due to hardcoded links to the perl-5.8.4 binary.  Since it wasn't the only package on the system that uses perl, I decided to run libperl_rebuilder to rebuild the modules and packages that depend on perl.  After running the command, spamassasin still was broken.  Looking at the log file I noticed the following:

Preliminary List: app-pda/pilot-link-0.11.8 mail-filter/spamassassin-2.64 media-gfx/imagemagick-6.0.5.2 media-video/dvdrip-0.50.18 net-im/gaim-0.82.1 app-editors/vim-6.3 app-editors/vim-core-6.3-r1
Rebuild list:
app-pda/pilot-link-0.11.8 mail-filter/spamassassin-2.64 media-gfx/imagemagick-6.0.5.2 media-video/dvdrip-0.50.18 net-im/gaim-0.82.1 app-editors/vim-6.3 app-editors/vim-core-6.3-r1
Complete rebuild list:
dev-perl/DB_File-1.808 dev-perl/DateManip-5.42a-r1 dev-perl/Digest-HMAC-1.01-r1 dev-perl/Digest-MD5-2.33 dev-perl/Digest-SHA1-2.10 dev-perl/Event-1.00 dev-perl/File-Spec-0.87 dev-perl/HTML-Parser-3.36 dev-perl/HTML-Tagset-3.03-r2 dev-perl/IO-Socket-SSL-0.96 dev-perl/Locale-gettext-1.01-r1 dev-perl/MIME-Base64-3.01 dev-perl/Net-DNS-0.47 dev-perl/Net-SSLeay-1.23 dev-perl/PodParser-1.28 dev-perl/SGMLSpm-1.03-r5 dev-perl/Storable-2.12 dev-perl/TermReadKey-2.21 dev-perl/Test-1.25 dev-perl/Test-Harness-2.42 dev-perl/Test-Simple-0.47-r1 dev-perl/XML-Parser-2.34 dev-perl/XML-Writer-0.510 dev-perl/digest-base-1.05 dev-perl/gtk-perl-0.7009

You will notice that packages listed in the "Rebuild List" are missing from the "Complete Rebuild List"  Looking through the script, I noticed that the portion of the code that unmerges the packages was commented out, however not all of the relevant code was commented out.  Specifically, the part of the code that sets the list of packages to rebuild based upon the results of unmerging the packages.

Commenting out the rest of the block of code fixed the problem, and I'm attaching a patch that fixes the problem.

Reproducible: Always
Steps to Reproduce:
1. emerge perl-5.8.4
2. emerge spamassassin (or other perl dependent package)
3. emerge perl-5.8.5
4. Notice breakage in spamassassin (optional)
5. run /usr/portage/dev-lang/perl/files/libperl_rebuilder
Actual Results:  
Perl dependent packages were not re-emerged into the system.

Expected Results:  
All perl dependent packages should have been re-emerged.

Portage 2.0.51_pre20 (default-x86-2004.2, gcc-3.3.4, glibc-2.3.4.20040808-r0,
2.6.7-gentoo-r13 i686 Intel(R) Pentium(R) 4 CPU 1.80GHz)
=================================================================
System uname: 2.6.7-gentoo-r13 i686 Intel(R) Pentium(R) 4 CPU 1.80GHz
Gentoo Base System version 1.5.3
Autoconf: sys-devel/autoconf-2.59-r4
Automake: sys-devel/automake-1.8.5-r1
Binutils: sys-devel/binutils-2.14.90.0.8-r1
Headers:  sys-kernel/linux26-headers-2.6.8.1
Libtools: sys-devel/libtool-1.5.2-r5
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CFLAGS="-march=pentium4 -O2 -pipe"
CHOST="i686-pc-linux-gnu"
COMPILER=""
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config
/usr/kde/3.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="-march=pentium4 -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache fixpackages sandbox"
GENTOO_MIRRORS="http://gentoo.mirrors.pair.com/ http://gentoo.osuosl.org
http://www.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.namerica.gentoo.org/gentoo-portage"
USE="X acpi alsa apache2 arts artswrappersuid audiofile avi berkdb cdr crypt
cups dvd encode fam fbcon foomaticdb gdbm gif gpm gtk gtk2 imlib java javascript
jpeg kde libg++ libwww mad maildir mikmod mmx motif mozilla moznocompose
moznoirc moznomail mpeg ncurses nls nptl oggvorbis opengl pam pda pdflib perl
png ppds python qt quicktime readline sasl sdl slang spell sse ssl tcltk tcpd
tiff truetype usb x86 xml2 xmms xv zlib linguas_en"
Comment 1 Paul Varner (RETIRED) gentoo-dev 2004-08-30 15:18:25 UTC
Created attachment 38543 [details, diff]
Patch to fix libperl_rebuilder to rebuild dependent packages

Also includes code to fix bug# 48024
Comment 2 Michael Cummings (RETIRED) gentoo-dev 2004-10-16 07:24:26 UTC
http://dev.gentoo.org/~mcummings/perl-cleaner

Intended to do the job that libperl_rebuilder does (but cleaner, with oneshots, and better determination of what specifically needs to be reinstalled) as well as some other perl tree maintenance. Feedback most welcome before it hits the tree :)

This script does not unmerge packages (don't want to break your system if that ebuild is no longer available), instead it first attempts to do an inplace (=) emerge, then an (>=), and failing that skips it entirely. We want to leave removing packages completely to you ;)

And yes, I've just pasted most of the above text into three bugs, so if your on the cc lists, sorry for the reps 
Comment 3 Paul Varner (RETIRED) gentoo-dev 2004-12-04 05:56:40 UTC
I've been using perl-cleaner instead of libperl_rebuilder and so far it has been working well.
Comment 4 Michael Cummings (RETIRED) gentoo-dev 2005-01-26 09:18:59 UTC
latest version in tree now (improved h2ph processing) and pointed to from the perl ebuild. Closing this out now :)