summaryrefslogtreecommitdiffstats
path: root/pym/_emerge
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2009-03-12 05:57:24 +0000
committerZac Medico <zmedico@gentoo.org>2009-03-12 05:57:24 +0000
commit9b60960253474c9fff59a84f5c6d97ad122447d4 (patch)
treed0ef67bd6bdafa572b069b084d2bd64a32d60fb7 /pym/_emerge
parentf77d0db5730489e02352a5e8f94d882b2db6b0c1 (diff)
downloadportage-9b60960253474c9fff59a84f5c6d97ad122447d4.tar.gz
portage-9b60960253474c9fff59a84f5c6d97ad122447d4.tar.bz2
portage-9b60960253474c9fff59a84f5c6d97ad122447d4.zip
Bug #261992 - Inside Binpkg._prefetch_exit(), avoid potention issues with
shutil.rmtree() by just doing a minimal cleanup. (trunk r13070) svn path=/main/branches/2.1.6/; revision=13084
Diffstat (limited to 'pym/_emerge')
-rw-r--r--pym/_emerge/__init__.py14
1 files changed, 8 insertions, 6 deletions
diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py
index 345fe8c45..6b23b4c97 100644
--- a/pym/_emerge/__init__.py
+++ b/pym/_emerge/__init__.py
@@ -3394,12 +3394,14 @@ class Binpkg(CompositeTask):
pkg_count = self.pkg_count
if not (self.opts.pretend or self.opts.fetchonly):
self._build_dir.lock()
- try:
- shutil.rmtree(self._build_dir.dir_path)
- except EnvironmentError, e:
- if e.errno != errno.ENOENT:
- raise
- del e
+ # 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
+ # Initialze PORTAGE_LOG_FILE.
portage.prepare_build_dirs(self.settings["ROOT"], self.settings, 1)
fetcher = BinpkgFetcher(background=self.background,
logfile=self.settings.get("PORTAGE_LOG_FILE"), pkg=self.pkg,