commit: 87e32d4863f3f72ace3fc123b04a0e6f5ff96799
Author: Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Mon Dec 28 02:09:34 2015 +0000
Commit: Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Tue Dec 29 20:27:41 2015 +0000
URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=87e32d48
repoman: fix KeyError triggered by fetch failure during manifest generation
(bug 569942)
Fix Scanner not to override portdbapi._aux_cache_keys when generating
manifests, since spawn_nofetch requires additional keys.
Fixes: 39d81c514c33 ("[...]config.__getitem__(): Partially drop backward
compatibility for nonexistent keys.")
X-Gentoo-Bug: 569942
X-Gentoo-Bug-url: https://bugs.gentoo.org/show_bug.cgi?id=569942
Acked-by: Brian Dolbec <dolsen <AT> gentoo.org>
pym/repoman/scanner.py | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/pym/repoman/scanner.py b/pym/repoman/scanner.py
index 9a87f65..d1c10d7 100644
--- a/pym/repoman/scanner.py
+++ b/pym/repoman/scanner.py
@@ -93,9 +93,13 @@ class Scanner(object):
self.portdb.settings = self.repo_settings.repoman_settings
# We really only need to cache the metadata that's necessary
for visibility
# filtering. Anything else can be discarded to reduce memory
consumption.
- self.portdb._aux_cache_keys.clear()
- self.portdb._aux_cache_keys.update(
- ["EAPI", "IUSE", "KEYWORDS", "repository", "SLOT"])
+ if self.options.mode != "manifest" and self.options.digest !=
"y":
+ # Don't do this when generating manifests, since that
uses
+ # additional keys if spawn_nofetch is called (RESTRICT
and
+ # DEFINED_PHASES).
+ self.portdb._aux_cache_keys.clear()
+ self.portdb._aux_cache_keys.update(
+ ["EAPI", "IUSE", "KEYWORDS", "repository",
"SLOT"])
self.reposplit = myreporoot.split(os.path.sep)
self.repolevel = len(self.reposplit)