Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 141955 - portage-2.1.1_pre3-r5 emerge --newuse wants to remerge packages that haven't changed
Summary: portage-2.1.1_pre3-r5 emerge --newuse wants to remerge packages that haven't ...
Status: RESOLVED WORKSFORME
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-07-27 18:00 UTC by Harm Geerts
Modified: 2006-07-29 09:30 UTC (History)
0 users

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


Attachments
debug.log (debug.log,5.89 KB, text/plain)
2006-07-28 03:31 UTC, Harm Geerts
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Harm Geerts 2006-07-27 18:00:40 UTC
Note: I am aware of the "new" functionality of the --newuse option.

However in my case it causes an endless loop in which a fixed set of packages are selected for remerging.

In the scenario the following conditions apply:
* there are no new USE flags
* there are no changed USE flags
* portage tree is up-to-date
* no ebuilds have changed between the first and last emerge run
* no overlays affect these packages

Any ideas what might cause the behaviour below?

# emerge -DNuvp world

These are the packages that would be merged, in order:

Calculating world dependencies... done!
[ebuild   R   ] dev-perl/IO-Zlib-1.04  USE="-minimal" 0 kB
[ebuild   R   ] dev-perl/IO-String-1.08  USE="-minimal" 0 kB
[ebuild   R   ] dev-perl/Archive-Tar-1.29  USE="-minimal" 0 kB
[ebuild   R   ] dev-perl/Crypt-SSLeay-0.51  USE="-minimal" 0 kB
[ebuild   R   ] dev-perl/HTML-Tagset-3.10  USE="-minimal" 0 kB
[ebuild   R   ] dev-perl/HTML-Parser-3.54  USE="unicode -minimal" 0 kB
[ebuild   R   ] dev-perl/URI-1.35  USE="-minimal" 0 kB
[ebuild   R   ] dev-perl/HTML-Tree-3.19.01  USE="-minimal" 0 kB
[ebuild   R   ] dev-perl/libwww-perl-5.805  USE="ssl -minimal" 0 kB
[ebuild   R   ] dev-perl/Net-IP-1.25  USE="-minimal" 0 kB
[ebuild   R   ] dev-perl/Digest-SHA1-2.11  USE="-minimal" 0 kB
[ebuild   R   ] dev-perl/Digest-HMAC-1.01-r1  USE="-minimal" 0 kB
[ebuild   R   ] dev-perl/Net-DNS-0.58  USE="-ipv6 -minimal" 0 kB
[ebuild   R   ] dev-perl/Unicode-Map8-0.12  USE="-minimal" 0 kB
[ebuild   R   ] dev-perl/yaml-0.62  USE="-minimal" 0 kB
[ebuild   R   ] dev-perl/module-build-0.28.01  USE="-minimal" 0 kB
[ebuild   R   ] dev-perl/ExtUtils-CBuilder-0.18  USE="-minimal" 0 kB
[ebuild   R   ] dev-perl/extutils-parsexs-2.15  USE="-minimal" 0 kB
[ebuild   R   ] dev-perl/Unicode-Map-0.112  USE="-minimal" 0 kB
[ebuild   R   ] dev-perl/Jcode-2.06  USE="-minimal" 0 kB
[ebuild   R   ] dev-perl/Digest-MD4-1.5  USE="-minimal" 0 kB
[ebuild   R   ] dev-perl/Crypt-SmbHash-0.12  USE="-minimal" 0 kB
[ebuild   R   ] dev-perl/XML-NamespaceSupport-1.09  USE="-minimal" 0 kB
[ebuild   R   ] dev-perl/Text-Iconv-1.4  USE="-minimal" 0 kB
[ebuild   R   ] dev-perl/XML-Filter-BufferText-1.01  USE="-minimal" 0 kB
[ebuild   R   ] dev-perl/Convert-ASN1-0.20  USE="-minimal" 0 kB

Total size of downloads: 0 kB

# emerge -DNu world

<__LISTED PACKAGES ARE REMERGED__>

# emerge -DNuvp world

These are the packages that would be merged, in order:

Calculating world dependencies... done!
[ebuild   R   ] dev-perl/IO-Zlib-1.04  USE="-minimal" 0 kB
[ebuild   R   ] dev-perl/IO-String-1.08  USE="-minimal" 0 kB
[ebuild   R   ] dev-perl/Archive-Tar-1.29  USE="-minimal" 0 kB
[ebuild   R   ] dev-perl/Crypt-SSLeay-0.51  USE="-minimal" 0 kB
[ebuild   R   ] dev-perl/HTML-Tagset-3.10  USE="-minimal" 0 kB
[ebuild   R   ] dev-perl/HTML-Parser-3.54  USE="unicode -minimal" 0 kB
[ebuild   R   ] dev-perl/URI-1.35  USE="-minimal" 0 kB
[ebuild   R   ] dev-perl/HTML-Tree-3.19.01  USE="-minimal" 0 kB
[ebuild   R   ] dev-perl/libwww-perl-5.805  USE="ssl -minimal" 0 kB
[ebuild   R   ] dev-perl/Net-IP-1.25  USE="-minimal" 0 kB
[ebuild   R   ] dev-perl/Digest-SHA1-2.11  USE="-minimal" 0 kB
[ebuild   R   ] dev-perl/Digest-HMAC-1.01-r1  USE="-minimal" 0 kB
[ebuild   R   ] dev-perl/Net-DNS-0.58  USE="-ipv6 -minimal" 0 kB
[ebuild   R   ] dev-perl/Unicode-Map8-0.12  USE="-minimal" 0 kB
[ebuild   R   ] dev-perl/yaml-0.62  USE="-minimal" 0 kB
[ebuild   R   ] dev-perl/module-build-0.28.01  USE="-minimal" 0 kB
[ebuild   R   ] dev-perl/ExtUtils-CBuilder-0.18  USE="-minimal" 0 kB
[ebuild   R   ] dev-perl/extutils-parsexs-2.15  USE="-minimal" 0 kB
[ebuild   R   ] dev-perl/Unicode-Map-0.112  USE="-minimal" 0 kB
[ebuild   R   ] dev-perl/Jcode-2.06  USE="-minimal" 0 kB
[ebuild   R   ] dev-perl/Digest-MD4-1.5  USE="-minimal" 0 kB
[ebuild   R   ] dev-perl/Crypt-SmbHash-0.12  USE="-minimal" 0 kB
[ebuild   R   ] dev-perl/XML-NamespaceSupport-1.09  USE="-minimal" 0 kB
[ebuild   R   ] dev-perl/Text-Iconv-1.4  USE="-minimal" 0 kB
[ebuild   R   ] dev-perl/XML-Filter-BufferText-1.01  USE="-minimal" 0 kB
[ebuild   R   ] dev-perl/Convert-ASN1-0.20  USE="-minimal" 0 kB

Total size of downloads: 0 kB

# emerge --info
Portage 2.1.1_pre3-r5 (default-linux/x86/2006.0, gcc-4.1.1/vanilla, glibc-2.4-r3, 2.6.13-gentoo-r3 i686)
=================================================================
System uname: 2.6.13-gentoo-r3 i686 Celeron (Mendocino)
Gentoo Base System version 1.12.1
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
ccache version 2.4 [enabled]
app-admin/eselect-compiler: 2.0.0_rc2-r1
dev-lang/python:     2.4.3-r1
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     2.4-r2
dev-util/confcache:  [Not Present]
sys-apps/sandbox:    1.2.18.1
sys-devel/autoconf:  2.13, 2.60
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2
sys-devel/binutils:  2.17
sys-devel/gcc-config: [Not Present]
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.11-r5
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=pentium2 -Os -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/env.d /etc/eselect/compiler /etc/gconf /etc/revdep-rebuild /etc/terminfo"
CXXFLAGS="-march=pentium2 -Os -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig ccache distlocks metadata-transfer parallel-fetch sandbox sfperms strict"
GENTOO_MIRRORS="ftp://ftp.easynet.nl/mirror/gentoo/ http://gentoo.oregonstate.edu http://www.ibiblio.org/pub/Linux/distributions/gentoo"
MAKEOPTS="-j2"
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'"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/etc/portage/overlay"
SYNC="rsync://rsync.nl.gentoo.org/gentoo-portage"
USE="acl apache2 bash-completion berkdb bzip2 cjk crypt cups dba foomaticdb gd gdbm gif imap jpeg mime ncurses nls nptl nptlonly pam pcre perl pic png ppds python readline samba session slang ssl tcpd tiff truetype unicode utf8 vhosts x86 xml xml2 xsl zlib elibc_glibc input_devices_keyboard input_devices_mouse input_devices_evdev kernel_linux userland_GNU"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Zac Medico gentoo-dev 2006-07-27 22:39:09 UTC
The emerge output is missing the "perl" flag. Do you have it masked in /etc/portage/profile/use.mask or something?
Comment 2 Zac Medico gentoo-dev 2006-07-27 22:57:50 UTC
Please attach a debug.log created as follows:

FEATURES=python-trace emerge -pvd =dev-perl/IO-Zlib-1.04 | grep aux_get > debug.log 2>&1
Comment 3 Harm Geerts 2006-07-28 03:31:01 UTC
Created attachment 92901 [details]
debug.log

I'm assuming you ment the following, if not please say so.

FEATURES=python-trace emerge -pvd =dev-perl/IO-Zlib-1.04 2>&1 | grep aux_get > debug.log
Comment 4 Zac Medico gentoo-dev 2006-07-28 10:26:48 UTC
The following line indeicates that your cache returned an incorrect value for IUSE:

portage.py line=4731 name=aux_get event=return value=['minimal'] locals={'mycpv': 'dev-perl/IO-Zlib-1.04', 'mylist': ['IUSE'], 'mydata': 'omitted', 'self': <portage.portdbapi instance at 0xb7a7c4ac>, 'returnme': ['minimal'], 'mytree': None, 'cat': 'dev-perl', 'myebuild': '/usr/portage/dev-perl/IO-Zlib/IO-Zlib-1.04.ebuild', 'emtime': 1152012945, 'pkg': 'IO-Zlib-1.04', 'mylocation': '/usr/portage', 'x': 'IUSE', 'myManifestPath': '/usr/portage/dev-perl/IO-Zlib/Manifest', 'doregen': False}

It's only showing "minimal", but it should show "perl minimal".  Are you using a custom cache modules in /etc/portage/modules?  Do you have the latest version of $PORTDIR/eclass/perl-module.eclass?  Do you have eclasses in your overlay?
Comment 5 Harm Geerts 2006-07-28 18:51:07 UTC
No, Yes and No.
Also tried to run `emerge --regen` but that didn't help either.

basil ~ # ls /etc/portage/overlay/
app-emulation  dev-python  mail-client  media-sound  net-wireless  sys-boot
dev-db         dev-util    media-gfx    media-video  net-www       x11-themes
dev-php5       kde-base    media-libs   net-p2p      sys-apps

basil ~ # cat /etc/portage/modules
cat: /etc/portage/modules: No such file or directory

basil ~ # head -n 3 /usr/portage/eclass/perl-module.eclass
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/eclass/perl-module.eclass,v 1.99 2006/07/08 16:46:19 mcummings Exp $
Comment 6 Zac Medico gentoo-dev 2006-07-28 19:25:46 UTC
(In reply to comment #5)
> Also tried to run `emerge --regen` but that didn't help either.

Please run `rm -rf /var/cache/edb/dep/usr/portage && emerge --metadata` and then try `emerge --newuse world` again.  After that, please post the output of the following commands:

cat /usr/portage/metadata/cache/dev-perl/IO-Zlib-1.04
portageq metadata / ebuild dev-perl/IO-Zlib-1.04 IUSE
portageq metadata / installed dev-perl/IO-Zlib-1.04 IUSE USE
Comment 7 Harm Geerts 2006-07-29 08:03:23 UTC
That fixed it, but I have no idea how it came to exist in the first place.

basil ~ # rm -rf /var/cache/edb/dep/usr/portage && emerge --metadata
>>> Updating Portage cache:  100%

basil ~ # emerge -DNuvp world

These are the packages that would be merged, in order:

Calculating world dependencies... done!

Total size of downloads: 0 kB

basil ~ # cat /usr/portage/metadata/cache/dev-perl/IO-Zlib-1.04
dev-perl/Compress-Zlib perl? ( dev-lang/perl )
dev-perl/Compress-Zlib !minimal? ( perl? ( dev-lang/perl ) )
0
mirror://cpan/authors/id/T/TO/TOMHUGHES/IO-Zlib-1.04.tar.gz

http://www.cpan.org/modules/by-authors/id/T/TO/TOMHUGHES/IO-Zlib-1.04.readme
|| ( Artistic GPL-2 )
IO:: style interface to Compress::Zlib
alpha amd64 arm hppa ia64 m68k mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd
perl-module
perl minimal



0







basil ~ # portageq metadata / ebuild dev-perl/IO-Zlib-1.04 IUSE
perl minimal

basil ~ # portageq metadata / installed dev-perl/IO-Zlib-1.04 IUSE USE
perl minimal
acl apache2 bash-completion berkdb bzip2 cjk crypt cups dba foomaticdb gd gdbm gif imap jpeg mime ncurses nls nptl nptlonly pam pcre perl pic png ppds python readline samba session slang ssl tcpd tiff truetype unicode utf8 vhosts x86 xml xml2 xsl zlib elibc_glibc input_devices_keyboard input_devices_mouse input_devices_evdev kernel_linux userland_GNU
Comment 8 Zac Medico gentoo-dev 2006-07-29 08:27:52 UTC
(In reply to comment #7)
> That fixed it, but I have no idea how it came to exist in the first place.

A bug in the eclass timestamp validation that's done during cache transfer could explain that.  I'll take a close look at it...
Comment 9 Zac Medico gentoo-dev 2006-07-29 09:30:13 UTC
The code seems correct and I haven't been able to reproduce the problem.  Please reopen if this happens again.