summaryrefslogtreecommitdiffstats
path: root/bin
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2008-05-03 03:49:45 +0000
committerZac Medico <zmedico@gentoo.org>2008-05-03 03:49:45 +0000
commitbe4a62c14d9e1e7f8f084244ab8dbdaaeef805f3 (patch)
treea3fc61eac2f51fab23e897aaa93978b31ffc03ed /bin
parent2a4e6cb48ea4aca704aea15c11afd624b2294a4e (diff)
downloadportage-be4a62c14d9e1e7f8f084244ab8dbdaaeef805f3.tar.gz
portage-be4a62c14d9e1e7f8f084244ab8dbdaaeef805f3.tar.bz2
portage-be4a62c14d9e1e7f8f084244ab8dbdaaeef805f3.zip
Move --resume options handling to the beginning of action_build() so
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
Diffstat (limited to 'bin')
-rwxr-xr-xbin/emerge87
1 files changed, 36 insertions, 51 deletions
diff --git a/bin/emerge b/bin/emerge
index 117a7a0fd..c74a900a7 100755
--- a/bin/emerge
+++ b/bin/emerge
@@ -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)