When emerge automatically resumes, add --ignore-default-opts to the command line...
authorZac Medico <zmedico@gentoo.org>
Fri, 2 Mar 2007 20:07:20 +0000 (20:07 -0000)
committerZac Medico <zmedico@gentoo.org>
Fri, 2 Mar 2007 20:07:20 +0000 (20:07 -0000)
svn path=/main/branches/2.1.2/; revision=6134

bin/emerge

index 5f23b0ce89c7ae54a2e19718dec487be4d4a7158..5a8420960e0fb651ebaecf0a86812fea2e985ac1 100755 (executable)
@@ -2923,7 +2923,12 @@ class MergeTask(object):
                                fetch_env["FEATURES"] = fetch_env.get("FEATURES", "") + " -cvs"
                                fetch_env["PORTAGE_NICENESS"] = "0"
                                fetch_args = [sys.argv[0], "--resume", "--fetchonly"]
-                               for myopt, myarg in self.myopts.iteritems():
+                               resume_opts = self.myopts.copy()
+                               # For automatic resume, we need to prevent
+                               # any of bad_resume_opts from leaking in
+                               # via EMERGE_DEFAULT_OPTS.
+                               resume_opts["--ignore-default-opts"] = True
+                               for myopt, myarg in resume_opts.iteritems():
                                        if myopt not in bad_resume_opts:
                                                if myarg is True:
                                                        fetch_args.append(myopt)
@@ -2932,6 +2937,8 @@ class MergeTask(object):
                                portage.portage_exec.spawn(fetch_args, env=fetch_env,
                                        fd_pipes=fd_pipes, returnpid=True)
                                logfile.close() # belongs to the spawned process
+                               del fetch_log, logfile, fd_pipes, fetch_env, fetch_args, \
+                                       resume_opts
 
                mergecount=0
                for x in mymergelist:
@@ -3180,7 +3187,12 @@ class MergeTask(object):
                                                                mtimedb.commit()
                                                                portage.run_exitfuncs()
                                                                mynewargv=[sys.argv[0],"--resume"]
-                                                               for myopt, myarg in self.myopts.iteritems():
+                                                               resume_opts = self.myopts.copy()
+                                                               # For automatic resume, we need to prevent
+                                                               # any of bad_resume_opts from leaking in
+                                                               # via EMERGE_DEFAULT_OPTS.
+                                                               resume_opts["--ignore-default-opts"] = True
+                                                               for myopt, myarg in resume_opts.iteritems():
                                                                        if myopt not in bad_resume_opts:
                                                                                if myarg is True:
                                                                                        mynewargv.append(myopt)