Index: bin/ebuild.sh =================================================================== RCS file: /var/cvsroot/gentoo-src/portage/bin/ebuild.sh,v retrieving revision 1.201.2.35 diff -u -r1.201.2.35 ebuild.sh --- bin/ebuild.sh 31 May 2005 22:44:50 -0000 1.201.2.35 +++ bin/ebuild.sh 11 Jun 2005 21:06:46 -0000 @@ -130,7 +130,16 @@ # 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 prefix expanded=0 + # USE_EXPANDed USE flags are not in IUSE + for prefix in ${USE_EXPAND_PREFIX}; do + if [ "${u:0:${#prefix}}" == "${prefix}" ]; then + expanded=1 + fi + done + if [ ${expanded} -eq 0 ]; then + echo "QA Notice: USE Flag '${u}' not in IUSE for ${CATEGORY}/${PF}" >&2 + fi fi for x in ${USE}; do Index: pym/portage.py =================================================================== RCS file: /var/cvsroot/gentoo-src/portage/pym/portage.py,v retrieving revision 1.524.2.76 diff -u -r1.524.2.76 portage.py --- pym/portage.py 29 May 2005 12:40:08 -0000 1.524.2.76 +++ pym/portage.py 11 Jun 2005 21:06:55 -0000 @@ -1382,6 +1387,7 @@ #cache split-up USE var in a global usesplit=[] + expandprefix=[] for x in string.split(self.configlist[-1]["USE"]): if x not in self.usemask: @@ -1389,6 +1395,7 @@ if self.has_key("USE_EXPAND"): for var in string.split(self["USE_EXPAND"]): + expandprefix.append(var.lower()+"_") if self.has_key(var): for x in string.split(self[var]): mystr = string.lower(var)+"_"+x @@ -1402,6 +1409,7 @@ usesplit.insert(0,self.configdict["defaults"]["ARCH"]) self.configlist[-1]["USE"]=string.join(usesplit," ") + self.configlist[-1]["USE_EXPAND_PREFIX"]=string.join(expandprefix," ") self.already_in_regenerate = 0