Referencing #1612, the SRC_URI and DEPEND lines from postfix are as follows: SRC_URI="ftp://ftp.porcupine.org/mirrors/postfix-release/official/${P}.tar.gz mta-tls? ( ftp://ftp.aet.tu-cottbus.de/pub/postfix_tls/pfixtls-${POSTFIX_TLS_VER}.tar.gz )" DEPEND="virtual/glibc >=sys-libs/db-3.2 >=dev-libs/libpcre-3.4 >=dev-libs/cyrus-sasl-1.5.27 mta-ldap? ( >=net-nds/openldap-1.2 ) mta-mysql? ( >=dev-db/mysql-3.23.28 ) mta-tls? ( >=dev-libs/openssl-0.9.6c )" Now. Despite explicitly setting the USE flag to "-mta-tls" and making *sure* mta-tls is not in my USE flags from another source, I ran: ebuild --debug postfix-1.1.7.ebuild package and get: ... >>> Unpacking postfix-1.1.7.tar.gz + tar xz --no-same-owner -f /usr/portage/distfiles/postfix-1.1.7.tar.gz + echo '>>> Unpacking pfixtls-0.8.7-1.1.7-0.9.6c.tar.gz' >>> Unpacking pfixtls-0.8.7-1.1.7-0.9.6c.tar.gz + tar xz --no-same-owner -f /usr/portage/distfiles/pfixtls-0.8.7-1.1.7-0.9.6c.tar.gz + use mta-tls + cd /var/tmp/portage/postfix-1.1.7/work/postfix-1.1.7/conf Obviously, the SRC_URI and DEPEND line are being ignored or otherwise misinterpred. However, using constucts such as: if use mta-tls; then cd ${S} patch -p1 < ${WORKDIR}/pfixtls-${POSTFIX_TLS_VER}/pfixtls.diff || die fi I was able to prevent the USE flags from affecting the *build*, at least as far as I can tell. Thus, I was able to close #1612, but the real bug is in portage, at least as far as I can tell.
Just FYI - I went back to the 'official' USE form of if ["`use foo`"]; then and got no change.
Do you have "cvs" set in features? If so, all SRC_URI USE variables are turned on so that the digests you commit are complete.
As far as I can tell, no: host:~# grep -r FEATURES /etc | grep cvs /etc/make.conf:#FEATURES="digest cvs sandbox noclean noauto" /etc/make.conf.build:#FEATURES="digest cvs sandbox noclean noauto" host:~# and in my make.conf: #FEATURES="digest cvs sandbox noclean noauto" FEATURES="sandbox digest"
If you were setting the USE variables in the environment rather than your config files, then this is a known bug that's now fixed on developer cvs. Let me know if that's the case.
If I Recall Correctly, I tried both not having mta-tls in the USE flags, and also explicitly setting the USE flag to "-mta-tls". For each of these cases, I tried /etc/make.conf and the commandline. I can try again with the current CVS version if you like, tonight around 7 pm.
As can be seen below, even Portage 1.9.1 still seems to have some trouble. The SRC_URI thing seems to be fixed, but now it tries to get the fchksum still. host postfix # USE="-ssl" ebuild postfix-1.1.7-r3.ebuild package >>> Downloading http://www.ibiblio.org/gentoo/distfiles/postfix-1.1.7.tar.gz --21:22:48-- http://www.ibiblio.org/gentoo/distfiles/postfix-1.1.7.tar.gz => `/usr/portage/distfiles/postfix-1.1.7.tar.gz' Resolving www.ibiblio.org... done. Connecting to www.ibiblio.org[152.2.210.81]:80... connected. HTTP request sent, awaiting response... 200 OK Length: 1,186,995 [application/x-tar] 100%[====================================>] 1,186,995 94.61K/s ETA 00:00 21:23:00 (94.61 KB/s) - `/usr/portage/distfiles/postfix-1.1.7.tar.gz' saved [1186995/1186995] >>> md5 ;-) postfix-1.1.7.tar.gz Traceback (most recent call last): File "/usr/sbin/ebuild", line 33, in ? a=portage.doebuild(pargs[0],x,getroot(),debug=debug) File "/usr/lib/python2.2/site-packages/portage.py", line 997, in doebuild if not digestcheck(checkme): File "/usr/lib/python2.2/site-packages/portage.py", line 860, in digestcheck mymd5=md5(settings["DISTDIR"]+"/"+x) File "/usr/lib/python2.2/site-packages/portage.py", line 1259, in md5 return fchksum.fmd5t(x)[0] IOError: [Errno 2] No such file or directory: '/usr/portage/distfiles/pfixtls-0.8.7-1.1.7-0.9.6c.tar.gz' host postfix #
Confirmed still broke with 1.9.11
*** This bug has been marked as a duplicate of 1612 ***
I reread these bugs more closely. This has nothing to do with DEPEND, which is working fine and caused confusion in trying to replicate this bug. The settings for A and AA were swapped; this has been fixed in portage 1.9.12.