diff options
author | Zac Medico <zmedico@gentoo.org> | 2008-04-09 07:27:50 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2008-04-09 07:27:50 +0000 |
commit | baa4d15aa184196604c496dc4fb091feacfcb165 (patch) | |
tree | 0847ebbbc5a299f15ea74fd2ec0ceb14d45c2aa4 /bin | |
parent | 4f6b4ce641ee2e33b11c23d1c955c18e906a8a72 (diff) | |
download | portage-baa4d15aa184196604c496dc4fb091feacfcb165.tar.gz portage-baa4d15aa184196604c496dc4fb091feacfcb165.tar.bz2 portage-baa4d15aa184196604c496dc4fb091feacfcb165.zip |
Split out a depgraph method to check if a specific new-style virtual
package exists. (trunk r9761)
svn path=/main/branches/2.1.2/; revision=9766
Diffstat (limited to 'bin')
-rwxr-xr-x | bin/emerge | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/bin/emerge b/bin/emerge index e4359ad13..e14d7f283 100755 --- a/bin/emerge +++ b/bin/emerge @@ -2150,6 +2150,15 @@ class depgraph(object): return 0 return 1 + def _have_new_virt(self, root, atom_cp): + ret = False + for db, pkg_type, built, installed, db_keys in \ + self._filtered_trees[root]["dbs"]: + if db.cp_list(atom_cp): + ret = True + break + return ret + def _iter_atoms_for_pkg(self, pkg): # TODO: add multiple $ROOT support if pkg.root != self.target_root: @@ -2157,15 +2166,9 @@ class depgraph(object): atom_arg_map = self._atom_arg_map for atom in self._set_atoms.iterAtomsForPackage(pkg): atom_cp = portage.dep_getkey(atom) - if atom_cp != pkg.cp: - have_new_virt = False - for db, pkg_type, built, installed, db_keys in \ - self._filtered_trees[pkg.root]["dbs"]: - if db.cp_list(atom_cp): - have_new_virt = True - break - if have_new_virt: - continue + if atom_cp != pkg.cp and \ + self._have_new_virt(pkg.root, atom_cp): + continue for arg in atom_arg_map[(atom, pkg.root)]: if isinstance(arg, PackageArg) and \ arg.package != pkg: |