From: Zac Medico Date: Tue, 5 Oct 2010 01:45:45 +0000 (-0700) Subject: Cache InternalPackageSet in _iter_match_pkgs(). X-Git-Tag: v2.2_rc90~26 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=5508f6ac774d838353828a3890e15133bf65447f;p=portage.git Cache InternalPackageSet in _iter_match_pkgs(). --- 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