diff options
-rw-r--r-- | pym/_emerge/__init__.py | 24 |
1 files changed, 9 insertions, 15 deletions
diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py index 04c8d72b5..2fb2003a8 100644 --- a/pym/_emerge/__init__.py +++ b/pym/_emerge/__init__.py @@ -2507,7 +2507,7 @@ class EbuildFetcher(SpawnProcess): if not self.prefetch: self._build_dir = EbuildBuildDir(pkg=self.pkg, settings=settings) self._build_dir.lock() - self._build_dir.clean() + self._build_dir.clean_log() portage.prepare_build_dirs(self.pkg.root, self._build_dir.settings, 0) if self.logfile is None: self.logfile = settings.get("PORTAGE_LOG_FILE") @@ -2578,7 +2578,7 @@ class EbuildFetcher(SpawnProcess): portage.elog.elog_process(self.pkg.cpv, self._build_dir.settings) features = self._build_dir.settings.features if self.returncode == os.EX_OK: - self._build_dir.clean() + self._build_dir.clean_log() self._build_dir.unlock() self.config_pool.deallocate(self._build_dir.settings) self._build_dir = None @@ -2633,18 +2633,16 @@ class EbuildBuildDir(SlotObject): if catdir_lock is not None: portage.locks.unlockdir(catdir_lock) - def clean(self): + def clean_log(self): """Uses shutil.rmtree() rather than spawning a 'clean' phase. Disabled by keepwork or keeptemp in FEATURES.""" settings = self.settings - features = settings.features - if not ("keepwork" in features or "keeptemp" in features): + + for x in ('.logid', 'temp/build.log'): try: - shutil.rmtree(settings["PORTAGE_BUILDDIR"]) - except EnvironmentError, e: - if e.errno != errno.ENOENT: - raise - del e + os.unlink(os.path.join(settings["PORTAGE_BUILDDIR"], x)) + except OSError: + pass def unlock(self): if self._lock_obj is None: @@ -3415,11 +3413,7 @@ class Binpkg(CompositeTask): self._build_dir.lock() # If necessary, discard old log so that we don't # append to it. - for x in ('.logid', 'temp/build.log'): - try: - os.unlink(os.path.join(self._build_dir.dir_path, x)) - except OSError: - pass + self._build_dir.clean_log() # Initialze PORTAGE_LOG_FILE. portage.prepare_build_dirs(self.settings["ROOT"], self.settings, 1) fetcher = BinpkgFetcher(background=self.background, |