summaryrefslogtreecommitdiffstats
path: root/bin/repoman
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2008-05-23 08:42:35 +0000
committerZac Medico <zmedico@gentoo.org>2008-05-23 08:42:35 +0000
commit594817e3704083bf8fe5ca606392d009b6fbf0f5 (patch)
treefaadc98f67612502b8ab2d267bfc77b6ba896ce2 /bin/repoman
parente07fefd05857b5322aa2991ac2c2042245e1d836 (diff)
downloadportage-594817e3704083bf8fe5ca606392d009b6fbf0f5.tar.gz
portage-594817e3704083bf8fe5ca606392d009b6fbf0f5.tar.bz2
portage-594817e3704083bf8fe5ca606392d009b6fbf0f5.zip
Bug #2272 - Extend dependency atom sytax to specify enabled or disabled
states of USE flags. Matching with the new syntax is currently only supported in the dbapi classes and dependency resolver (use matching does not work yet in config files such as package.mask). svn path=/main/trunk/; revision=10387
Diffstat (limited to 'bin/repoman')
-rwxr-xr-xbin/repoman9
1 files changed, 8 insertions, 1 deletions
diff --git a/bin/repoman b/bin/repoman
index 7599b957f..5ed5c0b62 100755
--- a/bin/repoman
+++ b/bin/repoman
@@ -509,7 +509,7 @@ portdb = trees["/"]["porttree"].dbapi
portdb.mysettings = repoman_settings
# We really only need to cache the metadata that's necessary for visibility
# filtering. Anything else can be discarded to reduce memory consumption.
-for k in ("DEPEND", "IUSE", "LICENCE", "PDEPEND",
+for k in ("DEPEND", "LICENCE", "PDEPEND",
"PROVIDE", "RDEPEND", "RESTRICT", "repository"):
portdb._aux_cache_keys.discard(k)
# dep_zapdeps looks at the vardbapi, but it shouldn't for repoman.
@@ -1258,6 +1258,7 @@ for x in scanlist:
is_blocker = atom.startswith("!")
if is_blocker:
atom = token.lstrip("!")
+ atom = portage.dep.Atom(atom)
if mytype == "DEPEND" and \
not is_blocker and \
not inherited_java_eclass and \
@@ -1277,6 +1278,12 @@ for x in scanlist:
(relative_path + ": %s slot dependency" + \
" not supported with EAPI='%s':" + \
" '%s'") % (mytype, eapi, atom))
+ if atom.use and eapi in ("0", "1"):
+ stats['EAPI.incompatible'] += 1
+ fails['EAPI.incompatible'].append(
+ (relative_path + ": %s use dependency" + \
+ " not supported with EAPI='%s':" + \
+ " '%s'") % (mytype, eapi, atom))
type_list.extend([mytype] * (len(badsyntax) - len(type_list)))