self.cpdict={}
# Selectively cache metadata in order to optimize dep matching.
self._aux_cache_keys = set(
- ["CHOST", "EAPI", "KEYWORDS", "LICENSE", "SLOT", "USE"])
+ ["CHOST", "EAPI", "IUSE", "KEYWORDS", "LICENSE", "SLOT", "USE"])
self._aux_cache = {}
def match(self, *pargs, **kwargs):
d.update(izip(aux_keys,
self.dbapi.aux_get(mycpv, aux_keys)))
+ use = d["USE"].split()
+ iuse = set(d["IUSE"].split())
+ use = [f for f in use if f in iuse]
+ use.sort()
+ d["USE"] = " ".join(use)
+
# record location if it's non-default
if mypath != mycpv + ".tbz2":
d["PATH"] = mypath
if not mycpv:
continue
d.setdefault("EAPI", "0")
+ d.setdefault("IUSE", "")
d.setdefault("SLOT", "0")
+ d.setdefault("USE", "")
if header_chost:
d.setdefault("CHOST", header_chost)
self.packages[mycpv] = d
del metadata["CHOST"]
if metadata.get("EAPI") == "0":
del metadata["EAPI"]
+ if metadata.get("IUSE") == "":
+ del metadata["IUSE"]
if metadata.get("SLOT") == "0":
del metadata["SLOT"]
if metadata.get("USE") == "":