When I add the keyword "~x86-solaris" into the ebuild texlive-pictures-2008-r1.ebuild (or replace all other keywords with sed, see below) the next "USE=picture emerge texlive" crashes Reproducible: Always Steps to Reproduce: 1. cp $PREFIX/portage/dev-texlive/texlive-pictures/texlive-pictures-2008-r1.ebuild $OVERLAY/dev-texlive/texlive-pictures/ 2. sed -ie '/^KEY/s/".*"/"~x86-solaris"/' $OVERLAY/dev-texlive/texlive-pictures/texlive-pictures-2008-r1.ebuild 3. ebuild $OVERLAY/dev-texlive/texlive-pictures/texlive-pictures-2008-r1.ebuild manifest 4. USE="pictures" emerge texlive Actual Results: portage@fuji-cyber4 ~ $ emerge -tav texlive These are the packages that would be merged, in reverse order: Calculating dependencies... done! Traceback (most recent call last): File "/opt/gentoo/usr/bin/emerge", line 42, in <module> retval = _emerge.emerge_main() File "/opt/gentoo/usr/lib/portage/pym/_emerge/__init__.py", line 16385, in emerge_main myopts, myaction, myfiles, spinner) File "/opt/gentoo/usr/lib/portage/pym/_emerge/__init__.py", line 15153, in action_build mydepgraph.display_problems() File "/opt/gentoo/usr/lib/portage/pym/_emerge/__init__.py", line 8604, in display_problems self._show_unsatisfied_dep(*pargs, **kwargs) File "/opt/gentoo/usr/lib/portage/pym/_emerge/__init__.py", line 6074, in _show_unsatisfied_dep pkgsettings, db, pkg_type, built, installed, db_keys) File "/opt/gentoo/usr/lib/portage/pym/_emerge/__init__.py", line 1483, in get_mask_info mreasons = get_masking_status(pkg, pkgsettings, root_config) File "/opt/gentoo/usr/lib/portage/pym/_emerge/__init__.py", line 1450, in get_masking_status if not "EPREFIX" in metadata or not metadata["EPREFIX"]: NameError: global name 'metadata' is not defined portage@fuji-cyber4 ~ $ Expected Results: no fails before actually emerging something portage@fuji-cyber4 ~ $ emerge --info Portage 2.2.00.13398-prefix (prefix/sunos/solaris/5.11/x86, gcc-4.2.4, unavailable, 5.11 i86pc) ================================================================= System uname: Solaris-2.11-i86pc-i386-32bit-ELF Timestamp of tree: Sun, 26 Apr 2009 14:33:21 +0000 ccache version 2.4 [enabled] app-shells/bash: 3.2_p48-r1 dev-lang/python: 2.5.4-r2, 2.6.2 dev-util/ccache: 2.4-r8 sys-devel/autoconf: 2.13, 2.63-r1 sys-devel/automake: 1.9.6-r2, 1.10.2-r00.1 sys-devel/binutils: 2.19.1-r1 sys-devel/gcc-config: 1.4.1-r00.1 sys-devel/libtool: 2.2.6a ACCEPT_KEYWORDS="~x86-solaris" CBUILD="i386-pc-solaris2.11" CFLAGS="-O2 -march=native -pipe" CHOST="i386-pc-solaris2.11" CONFIG_PROTECT="/etc" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/terminfo" CXXFLAGS="-O2 -march=native -pipe" DISTDIR="/export/incoming/distfiles" EMERGE_DEFAULT_OPTS="--usepkg" EPREFIX="/opt/gentoo" FEATURES="buildpkg ccache collision-protect distlock distlocks fixpackages nostrip parallel-fetch preserve-libs protect-owned sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo" LANG="de_DE.UTF-8" LDFLAGS="" LINGUAS="de en" MAKEOPTS="-j3" PKGDIR="/opt/gentoo/portage/packages" PORTAGE_CONFIGROOT="/opt/gentoo/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/opt/gentoo/var/tmp" PORTDIR="/opt/gentoo/portage" PORTDIR_OVERLAY="/opt/gentoo/local/portage/etalas" SYNC="svn+http://overlays.gentoo.org/svn/proj/alt/trunk/prefix-overlay" USE="bash-completion cracklib midi multislot ncurses nls nptl ogg prefix readline ssl unicode vorbis x264 x86-solaris zlib" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="SunOS" INPUT_DEVICES="keyboard mouse" KERNEL="SunOS" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="de en" USERLAND="GNU" VIDEO_CARDS="none nvidia" Unset: CPPFLAGS, CTARGET, FFLAGS, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
sorry, USE=png, the dependancy is texlive-picture ...
hmmm, this is with binpkgs involved, isn't it?
Created attachment 189524 [details, diff] metadata can you apply the attached patch and see if that solves the problem? you can run: patch $EPREFIX/usr/lib/portage/pym/_emerge/__init__.py < patchfile
hey, nice hit. without --use-binpkg: portage@fuji-cyber4 ~ $ EMERGE_DEFAULT_OPTS="" emerge -tpv texlive These are the packages that would be merged, in reverse order: Calculating dependencies... done! emerge: there are no ebuilds built with USE flags to satisfy "media-libs/gd[jpeg,png]". !!! One of the following packages is required to complete your request: - media-libs/gd-2.0.35 (Change USE: +jpeg +png) (dependency required by "app-text/dvipng-1.11" [ebuild]) (dependency required by "app-text/texlive-2008" [ebuild]) (dependency required by "texlive" [argument]) and no more crashes with your patch and --use-binpkg. thanks!
I'll release a portage with this patch soon. Thanks for testing.
in portage-2.2.00.13405