| 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.EbuildPhase import EbuildPhase | 4 from _emerge.EbuildPhase import EbuildPhase |
| 5 from _emerge.BinpkgFetcher import BinpkgFetcher | 5 from _emerge.BinpkgFetcher import BinpkgFetcher |
| 6 from _emerge.BinpkgEnvExtractor import BinpkgEnvExtractor | 6 from _emerge.BinpkgEnvExtractor import BinpkgEnvExtractor |
| 7 from _emerge.BinpkgExtractorAsync import BinpkgExtractorAsync | 7 from _emerge.BinpkgExtractorAsync import BinpkgExtractorAsync |
| 8 from _emerge.CompositeTask import CompositeTask | 8 from _emerge.CompositeTask import CompositeTask |
| 9 from _emerge.BinpkgVerifier import BinpkgVerifier | 9 from _emerge.BinpkgVerifier import BinpkgVerifier |
| 10 from _emerge.EbuildMerge import EbuildMerge | 10 from _emerge.EbuildMerge import EbuildMerge |
| (...skipping 289 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 300 self._writemsg_level("!!! Error Extracting '%s'\n" % \ | 300 self._writemsg_level("!!! Error Extracting '%s'\n" % \ |
| 301 self._pkg_path, noiselevel=-1, level=logging.ERR
OR) | 301 self._pkg_path, noiselevel=-1, level=logging.ERR
OR) |
| 302 self.wait() | 302 self.wait() |
| 303 | 303 |
| 304 def _unlock_builddir(self): | 304 def _unlock_builddir(self): |
| 305 if self.opts.pretend or self.opts.fetchonly: | 305 if self.opts.pretend or self.opts.fetchonly: |
| 306 return | 306 return |
| 307 portage.elog.elog_process(self.pkg.cpv, self.settings) | 307 portage.elog.elog_process(self.pkg.cpv, self.settings) |
| 308 self._build_dir.unlock() | 308 self._build_dir.unlock() |
| 309 | 309 |
| 310 » def install(self): | 310 » def install(self, handler): |
| 311 | 311 |
| 312 # This gives bashrc users an opportunity to do various things | 312 # This gives bashrc users an opportunity to do various things |
| 313 # such as remove binary packages after they're installed. | 313 # such as remove binary packages after they're installed. |
| 314 settings = self.settings | 314 settings = self.settings |
| 315 settings["PORTAGE_BINPKG_FILE"] = self._pkg_path | 315 settings["PORTAGE_BINPKG_FILE"] = self._pkg_path |
| 316 settings.backup_changes("PORTAGE_BINPKG_FILE") | 316 settings.backup_changes("PORTAGE_BINPKG_FILE") |
| 317 | 317 |
| 318 merge = EbuildMerge(find_blockers=self.find_blockers, | 318 merge = EbuildMerge(find_blockers=self.find_blockers, |
| 319 ldpath_mtimes=self.ldpath_mtimes, logger=self.logger, | 319 ldpath_mtimes=self.ldpath_mtimes, logger=self.logger, |
| 320 pkg=self.pkg, pkg_count=self.pkg_count, | 320 pkg=self.pkg, pkg_count=self.pkg_count, |
| 321 pkg_path=self._pkg_path, scheduler=self.scheduler, | 321 pkg_path=self._pkg_path, scheduler=self.scheduler, |
| 322 settings=settings, tree=self._tree, world_atom=self.worl
d_atom) | 322 settings=settings, tree=self._tree, world_atom=self.worl
d_atom) |
| 323 task = merge.create_task() |
| 324 task.addExitListener(self._install_exit) |
| 325 self._start_task(task, handler) |
| 323 | 326 |
| 324 » » try: | 327 » def _install_exit(self, task): |
| 325 » » » retval = merge.execute() | 328 » » self.settings.pop("PORTAGE_BINPKG_FILE", None) |
| 326 » » finally: | 329 » » self._unlock_builddir() |
| 327 » » » settings.pop("PORTAGE_BINPKG_FILE", None) | |
| 328 » » » self._unlock_builddir() | |
| 329 | 330 |
| 330 » » if retval == os.EX_OK and \ | 331 » » if self._default_final_exit(task) != os.EX_OK: |
| 331 » » » 'binpkg-logs' not in self.settings.features and \ | 332 » » » return |
| 333 |
| 334 » » if 'binpkg-logs' not in self.settings.features and \ |
| 332 self.settings.get("PORTAGE_LOG_FILE"): | 335 self.settings.get("PORTAGE_LOG_FILE"): |
| 333 try: | 336 try: |
| 334 os.unlink(self.settings["PORTAGE_LOG_FILE"]) | 337 os.unlink(self.settings["PORTAGE_LOG_FILE"]) |
| 335 except OSError: | 338 except OSError: |
| 336 pass | 339 pass |
| 337 return retval | |
| 338 | |
| OLD | NEW |