From a2b2c4fe6e75975078caa36452377089abe9a95f Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Fri, 9 May 2008 19:12:48 +0000 Subject: 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 --- pym/_emerge/__init__.py | 11 +++++++---- 1 file 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", -- cgit v1.2.3-1-g7c22