When I try to upgrade world with portage-2.0.50-r2 using the Deep flag, I get strange dependency errors on evolution-1.4.6. This error does not occur using portage-2.0.50-r1. Reproducible: Always Steps to Reproduce: 1. ACCEPT_KEYWORDS="amd64 ~amd64" sudo emerge -upD world Actual Results: emerge: there are no ebuilds to satisfy ":". !!! Problem with ebuild net-mail/evolution-1.4.6 !!! Possibly a DEPEND/*DEPEND problem. !!! Depgraph creation failed. Expected Results: It should have produced this error since it is failing in parsing the following dependency expression (in evolution-1.4.6.ebuild) correctly: amd64? ( ) : ( kerberos? ( >=app-crypt/mit-krb5-1.2.5 ) ) It works if the expression is rewritten to: !amd64? ( kerberos? ( >=app-crypt/mit-krb5-1.2.5 ) ) This is emerge info after downgrading to 2.0.50-r2: Portage 2.0.50-r1 (default-amd64-2004.0, gcc-3.3.3, glibc-2.3.3_pre20040207- r0, 2.6.4-gentoo-r1) ================================================================= System uname: 2.6.4-gentoo-r1 x86_64 5 Gentoo Base System version 1.4.3.13p1 Autoconf: sys-devel/autoconf-2.59-r3 Automake: sys-devel/automake-1.8.2 ACCEPT_KEYWORDS="amd64 ~amd64" AUTOCLEAN="yes" CFLAGS="-O2" CHOST="x86_64-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /opt/jetty/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/con fig /usr/kde/3.2/share/config /usr/kde/3/share/config /usr/lib/mozilla/defaults /pref /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O2" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache sandbox" GENTOO_MIRRORS="http://gentoo.oregonstate.edu http://distro.ibiblio.org/pub/Linux/distributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="S3TC X Xaw3d acpi aim amd64 antlr apache2 apm arts async avi bcel berkdb bindist bsh cddb cdr chroot crypt cscope cups curl dedicated dga dnd doc dvd dvdr emacs emacs-w3 encode escreen esd fastcgi fbcon fbdev fluidsynth foomaticdb freetype fs gdbm gif gnome gphoto2 gpm gps gtk gtk2 icq imap imlib innodb jabber java javamail jdepend jikes jpeg jsch junit justify jython kde ldap libg++ libwww log4j mikmod motif mozilla mpeg mpeg4 msn multilib mysql nas ncurses nls nvidia oggvorbis opengl optional-tasks oro oscar oss pam pcap pdflib perl png postgres python qt quicktime readline regexp rhino ruby samba sasl sdl slang speedo spell ssl tcltk tcpd transcode truetype type1 xemacs xine xml2 xmms xv yahoo zlib"
actually that's a bug in the evolution ebuild ... the proper syntax is as you showed, !amd64? ( stuff )
Then 2.0.50-r2 has been made more strict than r1? I find the evolution syntax quite logical, so then I should suggest that it is allowed as before. find /usr/portage -name "*.ebuild" | xargs grep '([ \t]* )[ \t]*:' shows that the same syntax occurs in evolution 1.4.5 as well as a couple of samba-3 ebuilds.
amd64? ( ) : ( kerberos? ( >=app-crypt/mit-krb5-1.2.5 ) ) that may be logical, but the 2nd version is def _much_ more readable (especially for a newcomer)
*** Bug 45447 has been marked as a duplicate of this bug. ***
don't know how that got into there ... /me looks at amd64 people fixed to use the second syntax.
if you want amd64 ppl to look, cc them. amd64 ppl, check this bug out.
I think Brad added it. Anyway, kerberos is available on amd64 now, so I just fixed both evolution and samba to totally drop the !amd64 deps.