From 5508f6ac774d838353828a3890e15133bf65447f Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Mon, 4 Oct 2010 18:45:45 -0700 Subject: Cache InternalPackageSet in _iter_match_pkgs(). --- pym/_emerge/depgraph.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py index e65b942b1..d9d0ed7c3 100644 --- a/pym/_emerge/depgraph.py +++ b/pym/_emerge/depgraph.py @@ -2508,6 +2508,8 @@ class depgraph(object): break if cpv_list: + atom_set = InternalPackageSet(initial_atoms=(atom,), + allow_repo=True, allow_wildcard=True) if atom.repo is None and hasattr(db, "getRepositories"): repo_list = db.getRepositories() else: @@ -2534,8 +2536,8 @@ class depgraph(object): # Make sure that cpv from the current repo satisfies the atom. # This might not be the case if there are several repos with # the same cpv, but different metadata keys, like SLOT. - if not InternalPackageSet(initial_atoms=(atom,), allow_repo=True, - ).findAtomForPackage(pkg, modified_use=self._pkg_use_enabled(pkg)): + if not atom_set.findAtomForPackage(pkg, + modified_use=self._pkg_use_enabled(pkg)): continue yield pkg -- cgit v1.2.3-1-g7c22