summaryrefslogtreecommitdiffstats
path: root/pym/_emerge/__init__.py
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2008-08-01 00:47:23 +0000
committerZac Medico <zmedico@gentoo.org>2008-08-01 00:47:23 +0000
commitaf68d7d489e1e6a65e4262ef67fdd14f061cdcff (patch)
tree1f6c43387223f0acc17fcb6165cfbb74e180148a /pym/_emerge/__init__.py
parent0a1c9e82f925d820ab1020de244fcbb3262def91 (diff)
downloadportage-af68d7d489e1e6a65e4262ef67fdd14f061cdcff.tar.gz
portage-af68d7d489e1e6a65e4262ef67fdd14f061cdcff.tar.bz2
portage-af68d7d489e1e6a65e4262ef67fdd14f061cdcff.zip
Bug #233487 - Fix --fetch-all-uri breakage:
* Make --fetch-all-uri imply --fetchonly so that all the --fetchonly conditionals apply to --fetch-all-uri as well. * Add an EbuildFetcher.fetchall attribute, and also add the required support to portage.doebuild() for a "fetchall" phase that EbuildFetcher can invoke in the background via the ebuild(1) command. svn path=/main/trunk/; revision=11303
Diffstat (limited to 'pym/_emerge/__init__.py')
-rw-r--r--pym/_emerge/__init__.py13
1 files changed, 10 insertions, 3 deletions
diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py
index c99dfb09a..f002aa318 100644
--- a/pym/_emerge/__init__.py
+++ b/pym/_emerge/__init__.py
@@ -2227,7 +2227,7 @@ class MiscFunctionsProcess(SpawnProcess):
class EbuildFetcher(SpawnProcess):
- __slots__ = ("fetchonly", "pkg",)
+ __slots__ = ("fetchonly", "fetchall", "pkg",)
def _start(self):
@@ -2235,6 +2235,9 @@ class EbuildFetcher(SpawnProcess):
portdb = root_config.trees["porttree"].dbapi
ebuild_path = portdb.findname(self.pkg.cpv)
settings = root_config.settings
+ phase = "fetch"
+ if self.fetchall:
+ phase = "fetchall"
fetch_env = dict(settings.iteritems())
fetch_env["PORTAGE_NICENESS"] = "0"
@@ -2244,7 +2247,7 @@ class EbuildFetcher(SpawnProcess):
ebuild_binary = os.path.join(
settings["PORTAGE_BIN_PATH"], "ebuild")
- fetch_args = [ebuild_binary, ebuild_path, "fetch"]
+ fetch_args = [ebuild_binary, ebuild_path, phase]
debug = settings.get("PORTAGE_DEBUG") == "1"
if debug:
fetch_args.append("--debug")
@@ -2396,7 +2399,8 @@ class EbuildBuild(CompositeTask):
if self.background:
fetch_log = self.scheduler.fetch.log_file
- fetcher = EbuildFetcher(fetchonly=opts.fetchonly,
+ fetcher = EbuildFetcher(fetchall=opts.fetch_all_uri,
+ fetchonly=opts.fetchonly,
background=self.background, logfile=fetch_log,
pkg=pkg, scheduler=self.scheduler)
@@ -13399,6 +13403,9 @@ def emerge_main():
"--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