Hola-
basically, use_expand'd vars need to be exempted from IUSE checks, as 
long as the USE_EXPAND var is in IUSE.
This does that.
~harring
Index: ebuild.sh
===================================================================
RCS file: /var/cvsroot/gentoo-src/portage/bin/ebuild.sh,v
retrieving revision 1.201.2.40
diff -u -r1.201.2.40 ebuild.sh
--- ebuild.sh   9 Aug 2005 11:25:44 -0000       1.201.2.40
+++ ebuild.sh   17 Aug 2005 00:50:27 -0000
@@ -15,6 +15,7 @@
        if [ -f "${T}/environment" ]; then
                source "${T}/environment" &>/dev/null
        fi
+       USE_EXPAND=$(echo ${USE_EXPAND} | tr A-Z a-z)
 fi
 
 if [ -n "$#" ]; then
@@ -130,7 +131,19 @@
        
        # Make sure we have this USE flag in IUSE
        if ! hasq "${u}" ${IUSE} ${E_IUSE} && ! hasq "${u}" ${PORTAGE_ARCHLIST} 
selinux; then
-               echo "QA Notice: USE Flag '${u}' not in IUSE for 
${CATEGORY}/${PF}" >&2
+               local x
+               local invalid=1
+               for x in ${USE_EXPAND}; do
+                       if [ "${u:0:${#x}}" == "${x}" ]; then
+                               if hasq "${x}" ${IUSE} ${E_IUSE}; then
+                                       unset invalid
+                               fi
+                               break
+                       fi
+               done
+               if [ -n "${invalid}" ]; then
+                       echo "QA Notice: USE Flag '${u}' not in IUSE for 
${CATEGORY}/${PF}" >&2
+               fi
        fi
 
        for x in ${USE}; do

Attachment: pgpVlG8eJOxdX.pgp
Description: PGP signature



Reply via email to