summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2008-05-09 19:12:48 +0000
committerZac Medico <zmedico@gentoo.org>2008-05-09 19:12:48 +0000
commita2b2c4fe6e75975078caa36452377089abe9a95f (patch)
treef322ab2f5dced24fa9554d5224c3259f0bbd007b
parentb042f5fbe54f1beae112b690c979d593c401c0c4 (diff)
downloadportage-a2b2c4fe6e75975078caa36452377089abe9a95f.tar.gz
portage-a2b2c4fe6e75975078caa36452377089abe9a95f.tar.bz2
portage-a2b2c4fe6e75975078caa36452377089abe9a95f.zip
Bug #221053 - Save the resume list before verifying the ebuild Manifests
since it might be possible for the user to use --resume --skipfirst get past a non-essential package with a broken digest. svn path=/main/trunk/; revision=10275
-rw-r--r--pym/_emerge/__init__.py11
1 files changed, 7 insertions, 4 deletions
diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py
index 1d05c67a9..7891c4426 100644
--- a/pym/_emerge/__init__.py
+++ b/pym/_emerge/__init__.py
@@ -5607,6 +5607,13 @@ class MergeTask(object):
print colorize("GOOD", "*** Resuming merge...")
emergelog(xterm_titles, " *** Resuming merge...")
+ # Do this before verifying the ebuild Manifests since it might
+ # be possible for the user to use --resume --skipfirst get past
+ # a non-essential package with a broken digest.
+ mtimedb["resume"]["mergelist"] = [list(x) for x in mylist \
+ if isinstance(x, Package) and x.operation == "merge"]
+ mtimedb.commit()
+
# Verify all the manifests now so that the user is notified of failure
# as soon as possible.
if "--fetchonly" not in self.myopts and \
@@ -5640,10 +5647,6 @@ class MergeTask(object):
args_set = InternalPackageSet(favorites)
world_set = root_config.sets["world"]
- mtimedb["resume"]["mergelist"] = [list(x) for x in mylist \
- if isinstance(x, Package) and x.operation == "merge"]
- mtimedb.commit()
-
mymergelist = mylist
myfeat = self.settings.features[:]
bad_resume_opts = set(["--ask", "--changelog", "--skipfirst",