Bug #221053 - Save the resume list before verifying the ebuild Manifests
authorZac Medico <zmedico@gentoo.org>
Fri, 9 May 2008 19:13:08 +0000 (19:13 -0000)
committerZac Medico <zmedico@gentoo.org>
Fri, 9 May 2008 19:13:08 +0000 (19:13 -0000)
since it might be possible for the user to use --resume --skipfirst get
past a non-essential package with a broken digest. (trunk r10275)

svn path=/main/branches/2.1.2/; revision=10276

bin/emerge

index e97af9c92e05321bf0fe2d455d71cab940ce29a8..c4cdd7d381c25bc074691d0da4898af8ffbbdc38 100755 (executable)
@@ -5767,6 +5767,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 \
@@ -5800,10 +5807,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",