From c6f42e256cfcc0bb52d27e7eb671d73ef9791527 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Thu, 29 May 2008 00:37:59 +0000 Subject: Fix the code from bug #220341 so that it matches the atom against the installed package, like it's supposed to. (trunk r10470) svn path=/main/branches/2.1.2/; revision=10472 --- bin/emerge | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'bin/emerge') diff --git a/bin/emerge b/bin/emerge index eec4fa15e..90a905278 100755 --- a/bin/emerge +++ b/bin/emerge @@ -3151,13 +3151,23 @@ class depgraph(object): for pkg in matched_packages: if not vardb.cpv_exists(pkg.cpv): continue + inst_pkg = self._pkg_cache.get( + (pkg_type, root, pkg.cpv, "nomerge")) + if inst_pkg is None: + metadata = izip(self._mydbapi_keys, + vardb.aux_get(cpv, self._mydbapi_keys)) + inst_pkg = Package(built=built, cpv=pkg.cpv, + installed=installed, metadata=metadata, + onlydeps=onlydeps, root_config=root_config, + type_name=pkg_type) + self._pkg_cache[inst_pkg] = inst_pkg # Remove the slot from the atom and verify that # the package matches the resulting atom. atom_without_slot = portage_dep.remove_slot(atom) atom_without_slot = portage_dep.Atom(atom_without_slot) if portage.match_from_list( - atom_without_slot, [pkg]): - cpv_list = [pkg.cpv] + atom_without_slot, [inst_pkg]): + cpv_list = [inst_pkg.cpv] break if not cpv_list: -- cgit v1.2.3-1-g7c22