summaryrefslogtreecommitdiff
path: root/pym
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2009-03-27 07:02:59 +0000
committerZac Medico <zmedico@gentoo.org>2009-03-27 07:02:59 +0000
commit6f687106b0aae198f84831d1fa7debf557fc6ad9 (patch)
treef93dcbf12d840724771a55e6c7d724eed3b7b788 /pym
parentIn portdbapi.findname2(), move some of the path joining out of the loop. (diff)
downloadportage-multirepo-6f687106b0aae198f84831d1fa7debf557fc6ad9.tar.gz
portage-multirepo-6f687106b0aae198f84831d1fa7debf557fc6ad9.tar.bz2
portage-multirepo-6f687106b0aae198f84831d1fa7debf557fc6ad9.zip
Inside config.setcpv(), don't clear out self.configdict['pkg'] entirely
since some values need to be reused sometimes. (trunk r13226) svn path=/main/branches/2.1.6/; revision=13228
Diffstat (limited to 'pym')
-rw-r--r--pym/portage/__init__.py15
1 files changed, 11 insertions, 4 deletions
diff --git a/pym/portage/__init__.py b/pym/portage/__init__.py
index 2ce6472a..673ad290 100644
--- a/pym/portage/__init__.py
+++ b/pym/portage/__init__.py
@@ -2092,16 +2092,23 @@ class config(object):
env_configdict = self.configdict["env"]
pkg_configdict = self.configdict["pkg"]
previous_iuse = pkg_configdict.get("IUSE")
- pkg_configdict.clear()
+
+ aux_keys = [k for k in auxdbkeys \
+ if not k.startswith("UNUSED_")]
+ aux_keys.append("repository")
+
+ # Discard any existing metadata from the previous package, but
+ # preserve things like USE_EXPAND values and PORTAGE_USE which
+ # might be reused.
+ for k in aux_keys:
+ pkg_configdict.pop(k, None)
+
pkg_configdict["CATEGORY"] = cat
pkg_configdict["PF"] = pf
if mydb:
if not hasattr(mydb, "aux_get"):
pkg_configdict.update(mydb)
else:
- aux_keys = [k for k in auxdbkeys \
- if not k.startswith("UNUSED_")]
- aux_keys.append("repository")
for k, v in izip(aux_keys, mydb.aux_get(self.mycpv, aux_keys)):
pkg_configdict[k] = v
repository = pkg_configdict.pop("repository", None)