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

Side by Side Diff: pym/_emerge/MergeListItem.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/EbuildMerge.py ('k') | pym/_emerge/PackageMerge.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 portage import os 4 from portage import os
5 from portage.output import colorize 5 from portage.output import colorize
6 6
7 from _emerge.Binpkg import Binpkg 7 from _emerge.Binpkg import Binpkg
8 from _emerge.CompositeTask import CompositeTask 8 from _emerge.CompositeTask import CompositeTask
9 from _emerge.EbuildBuild import EbuildBuild 9 from _emerge.EbuildBuild import EbuildBuild
10 from _emerge.PackageUninstall import PackageUninstall 10 from _emerge.PackageUninstall import PackageUninstall
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
104 return 104 return
105 105
106 def _poll(self): 106 def _poll(self):
107 self._install_task.poll() 107 self._install_task.poll()
108 return self.returncode 108 return self.returncode
109 109
110 def _wait(self): 110 def _wait(self):
111 self._install_task.wait() 111 self._install_task.wait()
112 return self.returncode 112 return self.returncode
113 113
114 » def merge(self): 114 » def merge(self, exit_handler):
115 115
116 pkg = self.pkg 116 pkg = self.pkg
117 build_opts = self.build_opts 117 build_opts = self.build_opts
118 find_blockers = self.find_blockers 118 find_blockers = self.find_blockers
119 logger = self.logger 119 logger = self.logger
120 mtimedb = self.mtimedb 120 mtimedb = self.mtimedb
121 pkg_count = self.pkg_count 121 pkg_count = self.pkg_count
122 prefetcher = self.prefetcher 122 prefetcher = self.prefetcher
123 scheduler = self.scheduler 123 scheduler = self.scheduler
124 settings = self.settings 124 settings = self.settings
125 world_atom = self.world_atom 125 world_atom = self.world_atom
126 ldpath_mtimes = mtimedb["ldpath"] 126 ldpath_mtimes = mtimedb["ldpath"]
127 127
128 if pkg.installed: 128 if pkg.installed:
129 if not (build_opts.buildpkgonly or \ 129 if not (build_opts.buildpkgonly or \
130 build_opts.fetchonly or build_opts.pretend): 130 build_opts.fetchonly or build_opts.pretend):
131 131
132 uninstall = PackageUninstall(background=self.bac kground, 132 uninstall = PackageUninstall(background=self.bac kground,
133 ldpath_mtimes=ldpath_mtimes, opts=self.e merge_opts, 133 ldpath_mtimes=ldpath_mtimes, opts=self.e merge_opts,
134 pkg=pkg, scheduler=scheduler, settings=s ettings, 134 pkg=pkg, scheduler=scheduler, settings=s ettings,
135 world_atom=world_atom) 135 world_atom=world_atom)
136 136
137 uninstall.start() 137 uninstall.start()
138 » » » » retval = uninstall.wait() 138 » » » » self.returncode = uninstall.wait()
139 » » » » if retval != os.EX_OK: 139 » » » else:
140 » » » » » return retval 140 » » » » self.returncode = os.EX_OK
141 » » » return os.EX_OK 141 » » » exit_handler(self)
142 » » elif build_opts.fetchonly or \
143 » » » build_opts.buildpkgonly:
144 » » » exit_handler(self)
145 » » else:
146 » » » self._current_task = self._install_task
147 » » » self._install_task.install(exit_handler)
142 148
143 if build_opts.fetchonly or \
144 build_opts.buildpkgonly:
145 return self.returncode
146
147 retval = self._install_task.install()
148 return retval
149
OLDNEW
« no previous file with comments | « pym/_emerge/EbuildMerge.py ('k') | pym/_emerge/PackageMerge.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698