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

Side by Side Diff: pym/_emerge/EbuildBuild.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/Binpkg.py ('k') | pym/_emerge/EbuildMerge.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-2011 Gentoo Foundation 1 # Copyright 1999-2011 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.EbuildExecuter import EbuildExecuter 4 from _emerge.EbuildExecuter import EbuildExecuter
5 from _emerge.EbuildPhase import EbuildPhase 5 from _emerge.EbuildPhase import EbuildPhase
6 from _emerge.EbuildBinpkg import EbuildBinpkg 6 from _emerge.EbuildBinpkg import EbuildBinpkg
7 from _emerge.EbuildFetcher import EbuildFetcher 7 from _emerge.EbuildFetcher import EbuildFetcher
8 from _emerge.CompositeTask import CompositeTask 8 from _emerge.CompositeTask import CompositeTask
9 from _emerge.EbuildMerge import EbuildMerge 9 from _emerge.EbuildMerge import EbuildMerge
10 from _emerge.EbuildFetchonly import EbuildFetchonly 10 from _emerge.EbuildFetchonly import EbuildFetchonly
(...skipping 296 matching lines...) Expand 10 before | Expand all | Expand 10 after
307 clean_phase = EbuildPhase(background=self.background, 307 clean_phase = EbuildPhase(background=self.background,
308 phase=phase, scheduler=self.scheduler, settings=self.set tings) 308 phase=phase, scheduler=self.scheduler, settings=self.set tings)
309 self._start_task(clean_phase, self._clean_exit) 309 self._start_task(clean_phase, self._clean_exit)
310 310
311 def _clean_exit(self, clean_phase): 311 def _clean_exit(self, clean_phase):
312 if self._final_exit(clean_phase) != os.EX_OK or \ 312 if self._final_exit(clean_phase) != os.EX_OK or \
313 self.opts.buildpkgonly: 313 self.opts.buildpkgonly:
314 self._unlock_builddir() 314 self._unlock_builddir()
315 self.wait() 315 self.wait()
316 316
317 » def install(self): 317 » def install(self, exit_handler):
318 """ 318 """
319 Install the package and then clean up and release locks. 319 Install the package and then clean up and release locks.
320 Only call this after the build has completed successfully 320 Only call this after the build has completed successfully
321 and neither fetchonly nor buildpkgonly mode are enabled. 321 and neither fetchonly nor buildpkgonly mode are enabled.
322 """ 322 """
323 323
324 ldpath_mtimes = self.ldpath_mtimes 324 ldpath_mtimes = self.ldpath_mtimes
325 logger = self.logger 325 logger = self.logger
326 pkg = self.pkg 326 pkg = self.pkg
327 pkg_count = self.pkg_count 327 pkg_count = self.pkg_count
328 settings = self.settings 328 settings = self.settings
329 world_atom = self.world_atom 329 world_atom = self.world_atom
330 ebuild_path = self._ebuild_path 330 ebuild_path = self._ebuild_path
331 tree = self._tree 331 tree = self._tree
332 332
333 merge = EbuildMerge(find_blockers=self.find_blockers, 333 merge = EbuildMerge(find_blockers=self.find_blockers,
334 ldpath_mtimes=ldpath_mtimes, logger=logger, pkg=pkg, 334 ldpath_mtimes=ldpath_mtimes, logger=logger, pkg=pkg,
335 pkg_count=pkg_count, pkg_path=ebuild_path, 335 pkg_count=pkg_count, pkg_path=ebuild_path,
336 scheduler=self.scheduler, 336 scheduler=self.scheduler,
337 settings=settings, tree=tree, world_atom=world_atom) 337 settings=settings, tree=tree, world_atom=world_atom)
338 338
339 msg = " === (%s of %s) Merging (%s::%s)" % \ 339 msg = " === (%s of %s) Merging (%s::%s)" % \
340 (pkg_count.curval, pkg_count.maxval, 340 (pkg_count.curval, pkg_count.maxval,
341 pkg.cpv, ebuild_path) 341 pkg.cpv, ebuild_path)
342 short_msg = "emerge: (%s of %s) %s Merge" % \ 342 short_msg = "emerge: (%s of %s) %s Merge" % \
343 (pkg_count.curval, pkg_count.maxval, pkg.cpv) 343 (pkg_count.curval, pkg_count.maxval, pkg.cpv)
344 logger.log(msg, short_msg=short_msg) 344 logger.log(msg, short_msg=short_msg)
345 345
346 » » try: 346 » » task = merge.create_task()
347 » » » rval = merge.execute() 347 » » task.addExitListener(self._install_exit)
348 » » finally: 348 » » self._start_task(task, exit_handler)
349 » » » self._unlock_builddir()
350 349
351 » » return rval 350 » def _install_exit(self, task):
351 » » self._unlock_builddir()
352 » » self._default_final_exit(task)
352 353
OLDNEW
« no previous file with comments | « pym/_emerge/Binpkg.py ('k') | pym/_emerge/EbuildMerge.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698