commit:     fe09b49fd09f42b9b6956f6c299bd325c62f0e83
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Fri Dec  8 03:22:41 2017 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Fri Dec  8 03:29:49 2017 +0000
URL:        https://gitweb.gentoo.org/proj/portage.git/commit/?id=fe09b49f

phase-helpers.sh: make use() tolerate missing IUSE for binary packages

IUSE_IMPLICIT makes this code vulnerable to profile changes, therefore
it's risky to die for binary packages here.

 bin/phase-helpers.sh | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/bin/phase-helpers.sh b/bin/phase-helpers.sh
index c02257eb6..9b1f6adbe 100644
--- a/bin/phase-helpers.sh
+++ b/bin/phase-helpers.sh
@@ -194,7 +194,8 @@ use() {
        elif [[ -n $PORTAGE_IUSE && -n $EBUILD_PHASE &&
                -n $PORTAGE_INTERNAL_CALLER ]] ; then
                if [[ ! $u =~ $PORTAGE_IUSE ]] ; then
-                       if [[ ! ${EAPI} =~ ^(0|1|2|3|4|4-python|4-slot-abi)$ ]] 
; then
+                       if [[ ${EMERGE_FROM} != binary &&
+                               ! ${EAPI} =~ ^(0|1|2|3|4|4-python|4-slot-abi)$ 
]] ; then
                                # This is only strict starting with EAPI 5, 
since implicit IUSE
                                # is not well defined for earlier EAPIs (see 
bug #449708).
                                die "USE Flag '${u}' not in IUSE for 
${CATEGORY}/${PF}"

Reply via email to