Move --resume options handling to the beginning of action_build() so
authorZac Medico <zmedico@gentoo.org>
Sat, 3 May 2008 03:49:45 +0000 (03:49 -0000)
committerZac Medico <zmedico@gentoo.org>
Sat, 3 May 2008 03:49:45 +0000 (03:49 -0000)
that the current options are updated with the saved options as soon
as possible. (trunk r10122:10124)

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

bin/emerge

index 117a7a0fd844c6e366727ee7ee91997da32c0d8b..c74a900a789af10f25df6f7627b0bc8c6b748abc 100755 (executable)
@@ -7585,6 +7585,41 @@ def action_depclean(settings, trees, ldpath_mtimes,
 
 def action_build(settings, trees, mtimedb,
        myopts, myaction, myfiles, spinner):
+
+       # validate the state of the resume data
+       # so that we can make assumptions later.
+       for k in ("resume", "resume_backup"):
+               if k in mtimedb:
+                       if "mergelist" in mtimedb[k]:
+                               if not mtimedb[k]["mergelist"]:
+                                       del mtimedb[k]
+                       else:
+                               del mtimedb[k]
+
+       resume = False
+       if "--resume" in myopts and \
+               ("resume" in mtimedb or
+               "resume_backup" in mtimedb):
+               resume = True
+               if "resume" not in mtimedb:
+                       mtimedb["resume"] = mtimedb["resume_backup"]
+                       del mtimedb["resume_backup"]
+                       mtimedb.commit()
+               # "myopts" is a list for backward compatibility.
+               resume_opts = mtimedb["resume"].get("myopts", [])
+               if isinstance(resume_opts, list):
+                       resume_opts = dict((k,True) for k in resume_opts)
+               for opt in ("--skipfirst", "--ask", "--tree"):
+                       resume_opts.pop(opt, None)
+               myopts.update(resume_opts)
+               # Adjust config according to options of the command being resumed.
+               for myroot in trees:
+                       mysettings =  trees[myroot]["vartree"].settings
+                       mysettings.unlock()
+                       adjust_config(myopts, mysettings)
+                       mysettings.lock()
+                       del myroot, mysettings
+
        ldpath_mtimes = mtimedb["ldpath"]
        favorites=[]
        merge_count = 0
@@ -7635,65 +7670,15 @@ def action_build(settings, trees, mtimedb,
                        print darkgreen("These are the packages that would be %s, in order:") % action
                        print
 
-       # validate the state of the resume data
-       # so that we can make assumptions later.
-       for k in ("resume", "resume_backup"):
-               if k in mtimedb:
-                       if "mergelist" in mtimedb[k]:
-                               if not mtimedb[k]["mergelist"]:
-                                       del mtimedb[k]
-                       else:
-                               del mtimedb[k]
-
        show_spinner = "--quiet" not in myopts and "--nodeps" not in myopts
        if not show_spinner:
                spinner.update = spinner.update_quiet
 
-       if "--resume" in myopts and \
-               ("resume" in mtimedb or
-               "resume_backup" in mtimedb):
-               if "resume" not in mtimedb:
-                       mtimedb["resume"] = mtimedb["resume_backup"]
-                       del mtimedb["resume_backup"]
-                       mtimedb.commit()
-
-               # Adjust config according to options of the command being resumed.
-               for myroot in trees:
-                       mysettings =  trees[myroot]["vartree"].settings
-                       mysettings.unlock()
-                       adjust_config(myopts, mysettings)
-                       mysettings.lock()
-                       del myroot, mysettings
-
+       if resume:
                favorites = mtimedb["resume"].get("favorites")
                if not isinstance(favorites, list):
                        favorites = []
 
-               # "myopts" is a list for backward compatibility.
-               resume_opts = mtimedb["resume"].get("myopts", [])
-               if isinstance(resume_opts, list):
-                       resume_opts = dict((k,True) for k in resume_opts)
-               for opt in ("--skipfirst", "--ask", "--tree"):
-                       resume_opts.pop(opt, None)
-               myopts.update(resume_opts)
-
-               buildpkgonly = "--buildpkgonly" in myopts
-               pretend = "--pretend" in myopts
-               fetchonly = "--fetchonly" in myopts or "--fetch-all-uri" in myopts
-               ask = "--ask" in myopts
-               nodeps = "--nodeps" in myopts
-               tree = "--tree" in myopts
-               if nodeps and tree:
-                       tree = False
-                       del myopts["--tree"]
-                       portage.writemsg(colorize("WARN", " * ") + \
-                               "--tree is broken with --nodeps. Disabling...\n")
-               verbose = "--verbose" in myopts
-               quiet = "--quiet" in myopts
-               if pretend or fetchonly:
-                       # make the mtimedb readonly
-                       mtimedb.filename = None
-
                if show_spinner:
                        print "Calculating dependencies  ",
                myparams = create_depgraph_params(myopts, myaction)