When running a repoman scan/full on a package, it checks other overlays. This occurs when you're on an overlay AND when you're on the PORTDIR. emerge -V: Portage 2.0.51_pre13 (default-x86-1.4, gcc-3.3.3, glibc-2.3.3.20040420-r0, 2.6.7 i686 Pentium II (Deschutes)) Any other info needed?
Created attachment 35300 [details, diff] repoman.patch ; explicitly remove the overlay tree from access. This patch explicitly removes *ALL* trees but portdir when isCvs is active (which currently, is whenever a CVS directory is detected). If bug #55642 is fixed/included, I'll update this patch to compensate. It also flushes the cache, prior to doing the dep checks, so unless I'm missing some weirdo code path, there shouldn't be any possible way for non PORTDIR trees to satisfy deps. Eclass cache needs to be checked into. Also, this patch could just call portage.close_portdbapi_caches(), and nuke all trees from dbapi.porttrees instead. Eh :) LV: I'd be curious about what ebuilds you're experiencing this with- I don't see how it is possible for it to be happening, but this patch ought to block it from even being possible.
Err, s/LV/eldad/ ... probably a good indication it's time for me to sleep ;) Side note, I tend to think it *should* be possible for the overlay to satisfy deps from PORTDIR. I can't see any reason why this behaviour should be modified, unless people are actually commiting from overlays (non-gentoo trees come to mind).
Yeah, good indicator :) The patch breaks repoman slighly: when used under PORTDIR, it gives: We're not in PORTDIR... setting to: /usr/portage when used in my checked-out gentoo-x86 tree, it gives a nice traceback: We're not in PORTDIR... setting to: /home/eldad/cvs/gentoo-x86 RepoMan scours the neighborhood... !!! aux_get(): ebuild for 'net-analyzer/ibmonitor-1.2' does not exist at: !!! None Traceback (most recent call last): File "/usr/bin/repoman", line 754, in ? myvalue=string.join(portage.db["/"]["porttree"].dbapi.aux_get(catdir+"/"+y,[ mytype ])) File "/usr/lib/portage/pym/portage.py", line 5100, in aux_get raise KeyError, "'%s' at %s" % (mycpv,myebuild) KeyError: "'net-analyzer/ibmonitor-1.2' at None" I've disabled the second overlay and this still happens.
Portage 2.0.51_pre13 (default-x86-1.4, gcc-3.3.3, glibc-2.3.3.20040420-r0, 2.6.7 i686 Pentium II (Deschutes)) ================================================================= System uname: 2.6.7 i686 Pentium II (Deschutes) Gentoo Base System version 1.4.16 ccache version 2.3 [enabled] Autoconf: sys-devel/autoconf-2.59-r3 Automake: sys-devel/automake-1.8.3 Binutils: sys-devel/binutils-2.14.90.0.8-r1 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-O3 -march=i686 -funroll-loops -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.2/share/config /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /usr/X11R6/bin/startx /etc/env.d" CXXFLAGS="-O3 -march=i686 -funroll-loops -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache cvs sandbox sign" GENTOO_MIRRORS="http://ftp.uni-erlangen.de/pub/mirrors/gentoo/ http://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo/" MAKEOPTS="" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/home/eldad/cvs/gentoo-x86" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="3dfx X alsa apache2 apm audiofile avi bonobo cdr crypt cups curl doc encode flac fluidsynth foomaticdb gd gif gimpprint gphoto2 gpm gtk gtk2 gtkhtml guile imap imlib jack jack-tmpfs java jikes jpeg kde ladcca libg++ libwww mad maildir memlimit mikmod mmap mmx mng mozilla mpeg ncurses nls oggvorbis opengl oss pam pdflib perl png python qt quicktime readline sdl slang sox ssl tiff truetype voodoo3 wmf x86 xml2 xmms xv xvid zlib linguas_he"
This specific instance of repoman idiocy was fixed back in pre14/pre15.