Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(60)

Side by Side Diff: pym/_emerge/EbuildMerge.py

Issue 6713043: Merge packages asynchronously in Portage. (Closed)
Patch Set: Don't set _task_queues.merge.max_jobs Created 9 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « pym/_emerge/EbuildBuild.py ('k') | pym/_emerge/MergeListItem.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright 1999-2009 Gentoo Foundation 1 # Copyright 1999-2009 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2 2 # Distributed under the terms of the GNU General Public License v2
3 3
4 from _emerge.SlotObject import SlotObject 4 from _emerge.SlotObject import SlotObject
5 import portage 5 import portage
6 from portage import os 6 from portage import os
7 from portage.dbapi._MergeProcess import MergeProcess
8 from portage.dbapi.vartree import dblink
7 9
8 class EbuildMerge(SlotObject): 10 class EbuildMerge(SlotObject):
9 11
10 __slots__ = ("find_blockers", "logger", "ldpath_mtimes", 12 __slots__ = ("find_blockers", "logger", "ldpath_mtimes",
11 "pkg", "pkg_count", "pkg_path", "pretend", 13 "pkg", "pkg_count", "pkg_path", "pretend",
12 "scheduler", "settings", "tree", "world_atom") 14 "scheduler", "settings", "tree", "world_atom")
13 15
14 » def execute(self): 16 » def create_task(self):
15 root_config = self.pkg.root_config 17 root_config = self.pkg.root_config
16 settings = self.settings 18 settings = self.settings
17 » » retval = portage.merge(settings["CATEGORY"], 19 » » mycat = settings["CATEGORY"]
18 » » » settings["PF"], settings["D"], 20 » » mypkg = settings["PF"]
19 » » » os.path.join(settings["PORTAGE_BUILDDIR"], 21 » » pkgloc = settings["D"]
20 » » » "build-info"), root_config.root, settings, 22 » » infloc = os.path.join(settings["PORTAGE_BUILDDIR"], "build-info" )
21 » » » myebuild=settings["EBUILD"], 23 » » myroot = root_config.root
22 » » » mytree=self.tree, mydbapi=root_config.trees[self.tree].d bapi, 24 » » myebuild = settings["EBUILD"]
23 » » » vartree=root_config.trees["vartree"], 25 » » mydbapi = root_config.trees[self.tree].dbapi
24 » » » prev_mtimes=self.ldpath_mtimes, 26 » » vartree = root_config.trees["vartree"]
25 » » » scheduler=self.scheduler, 27 » » background = (settings.get('PORTAGE_BACKGROUND') == '1')
26 » » » blockers=self.find_blockers) 28 » » logfile = settings.get('PORTAGE_LOG_FILE')
27 29
28 » » if retval == os.EX_OK: 30 » » merge_task = MergeProcess(
29 » » » self.world_atom(self.pkg) 31 » » » dblink=dblink, mycat=mycat, mypkg=mypkg, settings=settin gs,
30 » » » self._log_success() 32 » » » treetype=self.tree, vartree=vartree, scheduler=self.sche duler,
33 » » » background=background, blockers=self.find_blockers, pkgl oc=pkgloc,
34 » » » infloc=infloc, myebuild=myebuild, mydbapi=mydbapi,
35 » » » prev_mtimes=self.ldpath_mtimes, logfile=logfile)
36 » » merge_task.addExitListener(self._log_exit)
37 » » return merge_task
31 38
32 » » return retval 39 » def _log_exit(self, task):
40 » » if task.returncode != os.EX_OK:
41 » » » return
33 42
34 def _log_success(self):
35 pkg = self.pkg 43 pkg = self.pkg
44 self.world_atom(pkg)
36 pkg_count = self.pkg_count 45 pkg_count = self.pkg_count
37 pkg_path = self.pkg_path 46 pkg_path = self.pkg_path
38 logger = self.logger 47 logger = self.logger
39 if "noclean" not in self.settings.features: 48 if "noclean" not in self.settings.features:
40 short_msg = "emerge: (%s of %s) %s Clean Post" % \ 49 short_msg = "emerge: (%s of %s) %s Clean Post" % \
41 (pkg_count.curval, pkg_count.maxval, pkg.cpv) 50 (pkg_count.curval, pkg_count.maxval, pkg.cpv)
42 logger.log((" === (%s of %s) " + \ 51 logger.log((" === (%s of %s) " + \
43 "Post-Build Cleaning (%s::%s)") % \ 52 "Post-Build Cleaning (%s::%s)") % \
44 (pkg_count.curval, pkg_count.maxval, pkg.cpv, pk g_path), 53 (pkg_count.curval, pkg_count.maxval, pkg.cpv, pk g_path),
45 short_msg=short_msg) 54 short_msg=short_msg)
46 logger.log(" ::: completed emerge (%s of %s) %s to %s" % \ 55 logger.log(" ::: completed emerge (%s of %s) %s to %s" % \
47 (pkg_count.curval, pkg_count.maxval, pkg.cpv, pkg.root)) 56 (pkg_count.curval, pkg_count.maxval, pkg.cpv, pkg.root))
48 57
OLDNEW
« no previous file with comments | « pym/_emerge/EbuildBuild.py ('k') | pym/_emerge/MergeListItem.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698