Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 171686 - `g-cpan -u` re-emerges every module handled by g-cpan
Summary: `g-cpan -u` re-emerges every module handled by g-cpan
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Perl team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-03-21 15:20 UTC by Jay Max
Modified: 2008-02-27 19:45 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 Jay Max 2007-03-21 15:20:55 UTC
`g-cpan -u`, which upgrades the ebuilds, also re-emerges every ebuild in the g-cpan overlay.

Reproducible: Always

Steps to Reproduce:
1. # g-cpan -u

Actual Results:  
g-cpan emerged every file in the g-cpan overlay.

Expected Results:  
g-cpan should only emerge files that are updated.  Perhaps `g-cpan -u` should not emerge anything, and let the user `emerge -Du world`.

g-cpan version 0.15_rc3

emerge --info:

Portage 2.1.2.2 (default-linux/x86/2006.1, gcc-4.1.2, glibc-2.5-r1, 2.6.19-gentoo-r5 i686)
=================================================================
System uname: 2.6.19-gentoo-r5 i686 Intel(R) Core(TM)2 CPU          6300  @ 1.86GHz
Gentoo Base System release 1.12.9
Timestamp of tree: Wed, 21 Mar 2007 04:00:04 +0000
dev-java/java-config: 1.3.7, 2.0.31-r5
dev-lang/python:     2.4.4
dev-python/pycrypto: 2.0.1-r5
sys-apps/sandbox:    1.2.18.1
sys-devel/autoconf:  2.13, 2.61
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.15-r1
sys-devel/libtool:   1.5.23b
virtual/os-headers:  2.6.20-r2
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=nocona -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/X11/xkb"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/php/apache1-php5/ext-active/ /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/splash /etc/terminfo"
CXXFLAGS="-O2 -march=nocona -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig ccache distlocks metadata-transfer parallel-fetch sandbox sfperms strict"
GENTOO_MIRRORS="http://mirror.datapipe.net/gentoo"
LANG="en_US.UTF-8"
MAKEOPTS="-j3"
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 --filter=H_**/files/digest-*"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/opt/portage-perl /opt/portage/xeffects"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="3dnowext 7zip X aac acl aiglx aim alsa apache2 bash-completion berkdb bitmap-fonts branding bzip2 cdr cgi cli cracklib crypt curl curlwrappers dbus dri dvd fortran gd gdbm glitz glx gpm gtk hal icecast iconv idn ipv6 isdnlog ithreads java jpeg json lha libg++ libnotify libwww mad midi mmx mmxext mp3 mpeg msn mysql ncurses nls nptl nptlonly nsplugin nvidia offensive opengl oss pam pcre pdf pdo perl php png posix postgres ppds pppd python rar readline reflection sdl session spl sse sse2 ssl startup-notification svg tcpd threads tidy truetype truetype-fonts type1-fonts unicode win32codecs wxwindows x264 x86 xattr xcomposite xml xorg xvid zip zlib" ALSA_CARDS="hda-intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="nvidia"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, LDFLAGS, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Michael Cummings (RETIRED) gentoo-dev 2007-03-21 16:14:15 UTC
Would it be possible to get a snapshot tarball of the perl-gcpan directory? Or at least a really nice long ls -al * to see the different versions?
Comment 2 Jay Max 2007-03-22 02:15:16 UTC
Certainly.
--

piggy portage-perl # pwd
/opt/portage-perl
piggy portage-perl # find
.
./perl-gcpan
./perl-gcpan/Bundle-CPAN
./perl-gcpan/Bundle-CPAN/files
./perl-gcpan/Bundle-CPAN/files/digest-Bundle-CPAN-1.855
./perl-gcpan/Bundle-CPAN/Manifest
./perl-gcpan/Bundle-CPAN/Bundle-CPAN-1.855.ebuild
./perl-gcpan/POE-Component-Client-DNS
./perl-gcpan/POE-Component-Client-DNS/POE-Component-Client-DNS-1.00.ebuild
./perl-gcpan/POE-Component-Client-DNS/files
./perl-gcpan/POE-Component-Client-DNS/files/digest-POE-Component-Client-DNS-1.00
./perl-gcpan/POE-Component-Client-DNS/Manifest
./perl-gcpan/Probe-Perl
./perl-gcpan/Probe-Perl/files
./perl-gcpan/Probe-Perl/files/digest-Probe-Perl-0.01
./perl-gcpan/Probe-Perl/Manifest
./perl-gcpan/Probe-Perl/Probe-Perl-0.01.ebuild
./perl-gcpan/File-pushd
./perl-gcpan/File-pushd/File-pushd-0.99.ebuild
./perl-gcpan/File-pushd/files
./perl-gcpan/File-pushd/files/digest-File-pushd-0.99
./perl-gcpan/File-pushd/Manifest
./perl-gcpan/Data-Dumper
./perl-gcpan/Data-Dumper/Data-Dumper-2.121.ebuild
./perl-gcpan/Data-Dumper/files
./perl-gcpan/Data-Dumper/files/digest-Data-Dumper-2.121
./perl-gcpan/Data-Dumper/Manifest
./perl-gcpan/Tee
./perl-gcpan/Tee/Tee-0.13.ebuild
./perl-gcpan/Tee/Tee-.ebuild
./perl-gcpan/Tee/files
./perl-gcpan/Tee/files/digest-Tee-0.13
./perl-gcpan/Tee/Manifest
./perl-gcpan/Kwalify
./perl-gcpan/Kwalify/Kwalify-.ebuild
./perl-gcpan/Kwalify/Kwalify-1.14.ebuild
./perl-gcpan/Kwalify/files
./perl-gcpan/Kwalify/files/digest-Kwalify-1.14
./perl-gcpan/Kwalify/Manifest
./perl-gcpan/POE-Filter-IRCD
./perl-gcpan/POE-Filter-IRCD/POE-Filter-IRCD-2.30.ebuild
./perl-gcpan/POE-Filter-IRCD/files
./perl-gcpan/POE-Filter-IRCD/files/digest-POE-Filter-IRCD-2.30
./perl-gcpan/POE-Filter-IRCD/Manifest
./perl-gcpan/CPAN-Reporter
./perl-gcpan/CPAN-Reporter/files
./perl-gcpan/CPAN-Reporter/files/digest-CPAN-Reporter-0.40
./perl-gcpan/CPAN-Reporter/CPAN-Reporter-0.40.ebuild
./perl-gcpan/CPAN-Reporter/Manifest
./perl-gcpan/POE-Component-IRC
./perl-gcpan/POE-Component-IRC/POE-Component-IRC-5.22.ebuild
./perl-gcpan/POE-Component-IRC/files
./perl-gcpan/POE-Component-IRC/files/digest-POE-Component-IRC-5.22
./perl-gcpan/POE-Component-IRC/Manifest
./perl-gcpan/IO-CaptureOutput
./perl-gcpan/IO-CaptureOutput/files
./perl-gcpan/IO-CaptureOutput/files/digest-IO-CaptureOutput-1.03
./perl-gcpan/IO-CaptureOutput/IO-CaptureOutput-1.03.ebuild
./perl-gcpan/IO-CaptureOutput/Manifest
./perl-gcpan/POE-Component-Client-SOCKS
./perl-gcpan/POE-Component-Client-SOCKS/POE-Component-Client-SOCKS-0.03.ebuild
./perl-gcpan/POE-Component-Client-SOCKS/files
./perl-gcpan/POE-Component-Client-SOCKS/files/digest-POE-Component-Client-SOCKS-0.03
./perl-gcpan/POE-Component-Client-SOCKS/Manifest
./perl-gcpan/Test-Reporter
./perl-gcpan/Test-Reporter/Test-Reporter-1.27.ebuild
./perl-gcpan/Test-Reporter/files
./perl-gcpan/Test-Reporter/files/digest-Test-Reporter-1.27
./perl-gcpan/Test-Reporter/Manifest
./perl-gcpan/CPAN
./perl-gcpan/CPAN/CPAN-1.8802.ebuild
./perl-gcpan/CPAN/files
./perl-gcpan/CPAN/files/digest-CPAN-1.8802
./perl-gcpan/CPAN/Manifest
./perl-gcpan/Test-Simple
./perl-gcpan/Test-Simple/files
./perl-gcpan/Test-Simple/files/digest-Test-Simple-0.69
./perl-gcpan/Test-Simple/Test-Simple-0.69.ebuild
./perl-gcpan/Test-Simple/Manifest
Comment 3 Michael Cummings (RETIRED) gentoo-dev 2007-03-22 23:29:29 UTC
Is this after doing a -u? If so, can you pick one at random (say, Probe-Perl) and 

ls /var/db/pkg/perl-gcpan/Probe-Perl-*

My first random thought is that if this is indeed after a -u call, nothing was upgraded - we kinda cheat at this point and rely on portage to "do the right thing," ie only install upgrades for those packages that have newer versions than the ones installed. But if none of them are actually installed on the target box, -u would end up installing all of them (since we pass the list of found modules to portage with a -u flag for it to sort out). All of this of course assumes some of shaky suppositions are correct :)
Comment 4 Michael Cummings (RETIRED) gentoo-dev 2007-03-23 00:00:26 UTC
For the quickest of fixes, put this on line 458 of g-cpan.

if ($upgrade && $upgrade > 0) { push @flags, '--update' }


That's right folks, for posterity, offer a flag but don't actually call it properly.
Comment 5 Michael Cummings (RETIRED) gentoo-dev 2007-03-24 13:28:13 UTC
This particular bug is fixed. You mentioned another error on irc which I don't doubt, but I can't reproduce (once i put in a fix for Net-OSCAR's broken meta.yml that is). Can we close this out for now?
Comment 6 Jakub Moc (RETIRED) gentoo-dev 2008-02-27 19:45:59 UTC
Closing.