`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
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?
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
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 :)
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.
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?
Closing.