From 594817e3704083bf8fe5ca606392d009b6fbf0f5 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Fri, 23 May 2008 08:42:35 +0000 Subject: 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 --- bin/repoman | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'bin/repoman') 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))) -- cgit v1.2.3-1-g7c22