# eix -e baselayout [D] sys-apps/baselayout Available versions: [P]*1.11.15-r3 [P]*1.12.9-r2 [P]~*1.12.10-r3 [P]~*1.12.10-r4 [M](~)2.0.0_rc4 [M](~)2.0.0_rc4-r1 {bootstrap build kernel_FreeBSD kernel_linux pam static unicode} Installed versions: 2.0.0_rc4-r1(17:34:49 09/08/07)(-bootstrap -build kernel_FreeBSD -kernel_linux -pam -static unicode) Homepage: http://www.gentoo.org/ Description: Filesystem baselayout and init scripts # eix -e sandbox [D] sys-apps/sandbox Available versions: [M]*1.2.12 [M]~*1.2.16 [M]*1.2.17 [M]**1.2.18 [M]*1.2.18.1 [M]~*1.2.20_alpha1-r2 [M](~)1.2.20_alpha2 Installed versions: 1.2.20_alpha2(23:39:18 09/03/07) Homepage: http://www.gentoo.org/ Description: sandbox'd LD_PRELOAD hack # egrep -B1 -A1 "baselayout|sandbox" /usr/portage/profiles/default-bsd/fbsd/6.2/package.mask # Diego Pettenò <flameeyes@gentoo.org> (4 Oct 2006) # We want this unmasked as is the only baselayout usable here ->=sys-apps/baselayout-1.13.0_alpha1 # And this masked as we cannot use this anymore sys-freebsd/freebsd-baselayout <sys-apps/baselayout-1.13.0_alpha1 # Diego Pettenò <flameeyes@gentoo.org> (21 Oct 2006) # We need a newer version of sandbox, as it's the only one working # for us ->=sys-apps/sandbox-1.2.20_alpha1 <sys-apps/sandbox-1.2.20_alpha2
# emerge --info Portage 2.1.3.9 (default-bsd/fbsd/6.2/x86, gcc-4.2.0, freebsd-lib-6.2-r1, 6.2-RELEASE i386) ================================================================= System uname: 6.2-RELEASE i386 i386 Timestamp of tree: Sat, 08 Sep 2007 14:50:01 +0000 app-shells/bash: 3.2_p17-r1 dev-lang/python: 2.5.1-r2 sys-apps/baselayout: 2.0.0_rc4-r1 sys-apps/sandbox: 1.2.20_alpha2 sys-devel/autoconf: 2.61-r1 sys-devel/automake: 1.7.9-r1, 1.10 sys-devel/binutils: 2.17-r1 sys-devel/gcc-config: 1.4.0-r2 sys-devel/libtool: 1.5.24 virtual/os-headers: 6.2-r1 ACCEPT_KEYWORDS="x86-fbsd ~x86-fbsd" CBUILD="i686-gentoo-freebsd6.2" CFLAGS="-O2 -march=pentium4 -pipe" CHOST="i686-gentoo-freebsd6.2" CONFIG_PROTECT="/etc" CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo" CXXFLAGS="-O2 -march=pentium4 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="collision-protect distlocks metadata-transfer parallel-fetch sfperms strict unmerge-orphans userfetch userpriv usersandbox" GENTOO_MIRRORS="http://mirror.ing.unibo.it/gentoo/ ftp://ftp.unina.it/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 --filter=H_**/files/digest-*" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="acl avahi bash-completion berkdb bzip2 cli cracklib crypt cups dri ftp gdbm gnutls iconv java5 ldap libedit mailwrapper midi ncurses nls oss pam pcre ppds python radius readline reflection samba sasl session spl sqlite sqlite3 ssl tcpd unicode usb x86-fbsd xorg zlib" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" ELIBC="FreeBSD" INPUT_DEVICES="keyboard mouse" KERNEL="FreeBSD" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="BSD" VIDEO_CARDS="apm ark chips cirrus cyrix dummy i128 i810 mach64 mga neomagic nv r128 radeon rendition s3 s3virge savage siliconmotion sis tga trident tseng vga via vmware" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
The profile format is just a huge undocumented mess. Why is the '->=...' entry supposed to have higher precedence even than things following it? Moreover, why should it apply to /usr/portage/profile/package.mask which is not even part of the cascading profile? I changed eix svn trunk now so that "-" entries always take effect (no matter whether they occur before or after the corresponding "non-" entry) and always override package.mask, but probably this will break some other things sooner or later.
My assumption that "-" entries always take effect in portage was wrong. It appears that portage actually treats PORTDIR/profile/package.mask as the first file in profile, even though it is not part of the cascading profile. I try to mirror this now in eix as far as possible, although this is not a trivial task, since eix also has to keep track whether changes are due to local or global settings and/or whether they are due to local mask files. The changes are implemented in current eix svn trunk; please test. If I hear nothing negative in the next days, this will be released as eix-0.9.12.
Closing since eix-0.9.12 with the fix is now in the tree.