Example case: $ROOT unset: app-editors/vim was emerged under / with USE="gpm perl python" (these USE flags are present in /var/db/pkg/app-editors/vim-6.4/USE) emerge -pv vim [ebuild R ] app-editors/vim-6.4 USE="bash-completion gpm nls perl python -acl -cscope -minimal -ruby -vim-with-x" 0 kB As it should be. With ROOT="/alternaroot/" and USE="-gpm -perl -python" : app-editors/vim was previously emerged with USE="-gpm -perl -python" (these are definitely not present in /alternaroot/var/db/pkg/app-editors/vim-6.4/USE). emerge -pv vim [ebuild R ] app-editors/vim-6.4 to /alternaroot/ USE="bash-completion nls -acl -cscope -gpm* -minimal -perl* -python* -ruby -vim-with-x" 0 kB emerge thinks USE flags have changed since last emerge when they have not. The bug, it would seem, is that portage is taking previous USE flags for a package from /var/db/pkg/ rather than ${ROOT}/var/db/pkg. I'm not seeing an obvious cause (i.e. my quick grepping isn't showing a VDB_PATH without a 'root' of some description before it). I have had this problem with portage-2.0.54 and 2.1_pre. emerge --info Portage 2.1_pre5-r1 (default-linux/x86/2005.0, gcc-3.4.5, glibc-2.3.6-r3, 2.6.15-gentoo-r1 i686) ================================================================= System uname: 2.6.15-gentoo-r1 i686 Pentium III (Coppermine) Gentoo Base System version 1.12.0_pre16 distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled] ccache version 2.4 [enabled] dev-lang/python: 2.3.5-r2, 2.4.2-r1 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-r1 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.11-r3 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=pentium3 -fomit-frame-pointer -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -march=pentium3 -fomit-frame-pointer -pipe -fvisibility-inlines-hidden" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig ccache distcc sandbox sfperms strict" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo" MAKEOPTS="-j7" PKGDIR="/scratch/pkgdir/" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 X alsa apache2 apm audiofile avi bash-completion berkdb bitmap-fonts bzip2 crypt cups curl dbus emboss encode esd fam firefox foomaticdb gd gdbm gif glut gpm gstreamer gtk gtk2 gtkhtml hal idn imagemagick imlib ipv6 jpeg kde lcms ldap libg++ libwww mikmod mmx mng motif mp3 mpeg ncurses network nls nptl ogg oggvorbis opengl pam pdflib perl php png postgres python qt quicktime readline sasl sdl spell sse ssl tcpd tiff truetype truetype-fonts type1-fonts usb vhosts vorbis xml2 xv zlib elibc_glibc kernel_linux userland_GNU" Unset: ASFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, LANG, LC_ALL, LDFLAGS, LINGUAS
Created attachment 80912 [details, diff] Use $ROOT packages for --pretend output
Works, thanks.
Released in 2.1_pre6.