From af68d7d489e1e6a65e4262ef67fdd14f061cdcff Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Fri, 1 Aug 2008 00:47:23 +0000 Subject: 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 --- pym/_emerge/__init__.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'pym/_emerge') 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 -- cgit v1.2.3-1-g7c22