diff options
author | Zac Medico <zmedico@gentoo.org> | 2009-03-27 07:02:59 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2009-03-27 07:02:59 +0000 |
commit | 6f687106b0aae198f84831d1fa7debf557fc6ad9 (patch) | |
tree | f93dcbf12d840724771a55e6c7d724eed3b7b788 | |
parent | In portdbapi.findname2(), move some of the path joining out of the loop. (diff) | |
download | portage-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
-rw-r--r-- | pym/portage/__init__.py | 15 |
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) |