OLD | NEW |
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 Loading... |
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 |
OLD | NEW |