Portage 2.1 (default-linux/x86/2006.0, gcc-3.4.6, glibc-2.3.6-r3, 2.6.15-gentoo-r1 i686) ================================================================= System uname: 2.6.15-gentoo-r1 i686 Intel(R) Pentium(R) 4 CPU 2.80GHz Gentoo Base System version 1.6.14 dev-lang/python: 2.4.2 dev-python/pycrypto: 2.0.1-r5 dev-util/ccache: [Not Present] dev-util/confcache: [Not Present] sys-apps/sandbox: 1.2.17 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1 sys-devel/binutils: 2.16.1-r2 sys-devel/gcc-config: 1.3.13-r2 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=pentium4 -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/lib/X11/xkb /usr/share/config" CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/terminfo" CXXFLAGS="-O2 -march=pentium4 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig buildpkg digest distlocks metadata-transfer sandbox sfperms strict" GENTOO_MIRRORS="http://distfiles.gentoo.org" 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'" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 X a52 aac aalib alsa apache2 apm arts artswrappersuid audiofile avi berkdb bitmap-fonts bzip2 cdparania cdr cli crypt cups curl dga divx4linux dri dts dvd dvdr dvdread encode flac flash foomaticdb fortran gd gdbm gif gimprint gmp gphoto2 gstreamer gtk gtk2 imap imlib isdnlog jpeg kde kdeenablefinal libg++ libwww live lzw-tiff mad mikmod milter mjpeg mmx mng motif mozilla mp3 mpeg mysql nas ncurses network no-htdocs nptl nsplugin nvidia ogg opengl pcmcia pcre pda pdflib perl png pppd python qt quicktime rdesktop readline reflection rtc samba scanner sdl session spell spl sse ssl subversion tcpd tiff transcode truetype truetype-fonts type1-fonts udev userlocales vhosts vorbis wifi wmf xanim xine xml xmms xorg xv xvid zlib elibc_glibc kernel_linux userland_GNU" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
After the recent upgrade to portage 2.1, having digest in FEATURES causes portage to regenerate every Manifest, adding the new AUX/RMD160/SHA256 digests. I would only expect Manifests to be generated if the actual Manifest is invalid or missing. I expect portage to see its own Manifests as valid even if they only have MD5 digests, as long as it is valid. This particularly wreaks havoc on bootstrapping, when emerge starts attempting to generate Manifests with the currently broken or missing pycrypto present on the stage media, and when using chroot environments with shared portage snapshots to build images.
The usefullness of the "digest" feature is quesionable. Generally, it's not a bad idea to permanently enable it FEATURES. It's similar to having -strict in features.
(In reply to comment #2) Oops, I meant to say that it _is_ a bad idea. Anyway, why do you do that?
(In reply to comment #3) > (In reply to comment #2) > Oops, I meant to say that it _is_ a bad idea. Anyway, why do you do that? > I know it's a bad idea, I just feel terrible about it ;) I maintain a lot of overlays. Generating Manifests and digests for internally used overlays is a 100% waste of time. Easier to just set FEATURES="digest" and let the build host environment generate Manifests and digests for the overlay ebuilds as it goes.
In that case, you may as well add "-strict" to features then. FEATURES="digest" is not helping you. (In reply to comment #1) > I would only expect Manifests to be generated if the actual Manifest is > invalid or missing. Missing is one thing. If by "invalid" you mean that the digests differ, then again, you should simply add "-strict" to features.
(In reply to comment #5) > In that case, you may as well add "-strict" to features then. > FEATURES="digest" is not helping you. Here is the scenario... Server A is used to build binary install packages for distribution to target servers B-Z. Server A is using portage-20060625, so are servers B-Z. Server A is also used to develop and build custom packages via an overlay. I implicitly trust my own source code and ebuilds from my own overlay, so I turn on digest in FEATURES in server A. Servers B-Z do _not_ have FEATURES="digest" set and should not. They sync their local overlays from server A and use the exact same portage snapshot as server A. Before the portage upgrade, Manifests/digests were only generated for packages in the local overlay. Packages in the original gentoo portage tree matched exactly with what was originally obtained from the gentoo sync mirrors, so no harm no foul. After the portage upgrade, emerge starts generating digests for _everything_ in the local portage tree _and_ the overlays on server A. Not good. The manifests and digests in the local portage tree on server A, obtained from gentoo mirrors, no longer match the manifests/digests on servers B-Z. During the next sync on server A, _every_ Manifest and digest will be re-downloaded since it won't match with the mirrors. If I synced the new generated manifests/digests over to servers B-Z, they will no longer match again. If emerge without FEATURES="digest" sees the original manifests and digests as authentic without the extra hashes, so should emerge _with_ FEATURES="digest". Thereby _not_ generating new digests just because the extra hashes are missing.
digest is usefull if its only worked on local overlay, it makes sense to me :-)
There's probably no point in fixing this anymore, since the old Manifest format should be essentially extinct by now.