diff options
-rwxr-xr-x | bin/ebuild.sh | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/bin/ebuild.sh b/bin/ebuild.sh index 9d49ae2a4..ca001ab33 100755 --- a/bin/ebuild.sh +++ b/bin/ebuild.sh @@ -141,12 +141,16 @@ useq() { found=1 fi + if [[ $EBUILD_PHASE = depend ]] ; then + # Skip this for older EAPIs since lots of ebuilds/eclasses + # have stuff in global scope that really belongs somewhere + # like pkg_setup or src_configure. + if [[ -n $EAPI ]] && ! hasq "$EAPI" 0 1 2 ; then + die "use() called during invalid phase: $EBUILD_PHASE" + fi + # Make sure we have this USE flag in IUSE - # Skip this during the "depend" phase because lots of ebuilds/eclasses - # have stuff in global scope that really belongs somewhere like pkg_setup - # or src_configure. - if [[ -n $PORTAGE_IUSE && -n $EBUILD_PHASE && \ - $EBUILD_PHASE != depend ]] ; then + elif [[ -n $PORTAGE_IUSE && -n $EBUILD_PHASE ]] ; then [[ $u =~ $PORTAGE_IUSE ]] || \ eqawarn "QA Notice: USE Flag '${u}' not" \ "in IUSE for ${CATEGORY}/${PF}" |