Fix interaction of resume opts with spinner output handling so that output always...
authorZac Medico <zmedico@gentoo.org>
Mon, 9 Jul 2007 10:14:00 +0000 (10:14 -0000)
committerZac Medico <zmedico@gentoo.org>
Mon, 9 Jul 2007 10:14:00 +0000 (10:14 -0000)
svn path=/main/branches/2.1.2/; revision=7208

bin/emerge

index fd600aa86b93fa631f8e9587571937ccb939d775..b0310c2ad2f0e51f0d82e8cdc566de98176de3b4 100755 (executable)
@@ -3232,11 +3232,6 @@ class depgraph:
                Add a resume command to the graph and validate it in the process.  This
                will raise a PackageNotFound exception if a package is not available.
                """
-               # "myopts" is a list for backward compatibility.
-               resume_opts = dict((k,True) for k in resume_data["myopts"])
-               for opt in ("--skipfirst", "--ask", "--tree"):
-                       resume_opts.pop(opt, None)
-               self.myopts.update(resume_opts)
                self._sets["args"].update(resume_data.get("favorites", []))
                mergelist = resume_data.get("mergelist", [])
                fakedb = self.mydbapi
@@ -5303,15 +5298,25 @@ def action_build(settings, trees, mtimedb,
                        mysettings.lock()
                        del myroot, mysettings
 
-               myparams = create_depgraph_params(myopts, myaction)
-               if "--quiet" not in myopts and "--nodeps" not in myopts:
+               # "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)
+               show_spinner = "--quiet" not in myopts and "--nodeps" not in myopts
+               if not show_spinner:
+                       spinner.update = spinner.update_quiet
+               if show_spinner:
                        print "Calculating dependencies  ",
+               myparams = create_depgraph_params(myopts, myaction)
                mydepgraph = depgraph(settings, trees,
                        myopts, myparams, spinner)
                try:
                        mydepgraph.loadResumeCommand(mtimedb["resume"])
                except portage_exception.PackageNotFound:
-                       if "--quiet" not in myopts:
+                       if show_spinner:
                                print
                        from output import EOutput
                        out = EOutput()
@@ -5319,7 +5324,7 @@ def action_build(settings, trees, mtimedb,
                        out.eerror("       available to be emerged. Please restart/continue")
                        out.eerror("       the merge operation manually.")
                        return 1
-               if "--quiet" not in myopts and "--nodeps" not in myopts:
+               if show_spinner:
                        print "\b\b... done!"
        else:
                if ("--resume" in myopts):