diff options
author | Zac Medico <zmedico@gentoo.org> | 2008-05-09 19:12:48 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2008-05-09 19:12:48 +0000 |
commit | a2b2c4fe6e75975078caa36452377089abe9a95f (patch) | |
tree | f322ab2f5dced24fa9554d5224c3259f0bbd007b | |
parent | b042f5fbe54f1beae112b690c979d593c401c0c4 (diff) | |
download | portage-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__.py | 11 |
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", |