| 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 |