summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2010-03-02 20:24:48 +0000
committerZac Medico <zmedico@gentoo.org>2010-03-02 20:24:48 +0000
commit6cc62aaae04c5032fcfe06b87b96d6e94228a982 (patch)
tree752adb7682722335f5b85db79381218a87297011 /pym/_emerge/main.py
parentBug #303567 - Merge libc asap, in order to account for implicit dependencies. (diff)
downloadportage-multirepo-6cc62aaae04c5032fcfe06b87b96d6e94228a982.tar.gz
portage-multirepo-6cc62aaae04c5032fcfe06b87b96d6e94228a982.tar.bz2
portage-multirepo-6cc62aaae04c5032fcfe06b87b96d6e94228a982.zip
Add @rebuilt-binaries set which uses BUILD_TIME to pull in binary packages
that have a different build time from a currently installed package of the exact same version. (trunk r15363) svn path=/main/branches/2.1.7/; revision=15590
Diffstat (limited to 'pym/_emerge/main.py')
-rw-r--r--pym/_emerge/main.py63
1 files changed, 33 insertions, 30 deletions
diff --git a/pym/_emerge/main.py b/pym/_emerge/main.py
index c53ecd4a..b7cc8f7c 100644
--- a/pym/_emerge/main.py
+++ b/pym/_emerge/main.py
@@ -1066,10 +1066,43 @@ def emerge_main():
config_protect_check(trees)
check_procfs()
+ if "getbinpkg" in settings.features:
+ myopts["--getbinpkg"] = True
+
+ if "--getbinpkgonly" in myopts:
+ myopts["--getbinpkg"] = True
+
+ if "--getbinpkgonly" in myopts:
+ myopts["--usepkgonly"] = True
+
+ if "--getbinpkg" in myopts:
+ myopts["--usepkg"] = True
+
+ if "--usepkgonly" in myopts:
+ myopts["--usepkg"] = True
+
+ if "buildpkg" in settings.features or "--buildpkgonly" in myopts:
+ myopts["--buildpkg"] = True
+
+ if "--buildpkgonly" in myopts:
+ # --buildpkgonly will not merge anything, so
+ # it cancels all binary package options.
+ for opt in ("--getbinpkg", "--getbinpkgonly",
+ "--usepkg", "--usepkgonly"):
+ myopts.pop(opt, None)
+
for mytrees in trees.values():
mydb = mytrees["porttree"].dbapi
# Freeze the portdbapi for performance (memoize all xmatch results).
mydb.freeze()
+
+ if "--usepkg" in myopts:
+ # Populate the bintree with current --getbinpkg setting.
+ # This needs to happen before expand_set_arguments(), in case
+ # any sets use the bintree.
+ mytrees["bintree"].populate(
+ getbinpkgs="--getbinpkg" in myopts)
+
del mytrees, mydb
if "moo" in myfiles:
@@ -1125,42 +1158,12 @@ def emerge_main():
spinner.update = spinner.update_quiet
portage.util.noiselimit = -1
- # Always create packages if FEATURES=buildpkg
- # Imply --buildpkg if --buildpkgonly
- if ("buildpkg" in settings.features) or ("--buildpkgonly" in myopts):
- if "--buildpkg" not in myopts:
- myopts["--buildpkg"] = True
-
- # Always try and fetch binary packages if FEATURES=getbinpkg
- if ("getbinpkg" in settings.features):
- myopts["--getbinpkg"] = True
-
- if "--buildpkgonly" in myopts:
- # --buildpkgonly will not merge anything, so
- # it cancels all binary package options.
- for opt in ("--getbinpkg", "--getbinpkgonly",
- "--usepkg", "--usepkgonly"):
- myopts.pop(opt, None)
-
if "--fetch-all-uri" in myopts:
myopts["--fetchonly"] = True
if "--skipfirst" in myopts and "--resume" not in myopts:
myopts["--resume"] = True
- if ("--getbinpkgonly" in myopts) and not ("--usepkgonly" in myopts):
- myopts["--usepkgonly"] = True
-
- if ("--getbinpkgonly" in myopts) and not ("--getbinpkg" in myopts):
- myopts["--getbinpkg"] = True
-
- if ("--getbinpkg" in myopts) and not ("--usepkg" in myopts):
- myopts["--usepkg"] = True
-
- # Also allow -K to apply --usepkg/-k
- if ("--usepkgonly" in myopts) and not ("--usepkg" in myopts):
- myopts["--usepkg"] = True
-
# Allow -p to remove --ask
if "--pretend" in myopts:
myopts.pop("--ask", None)