Bug #248782 - Handle permission error in EbuildFetchonly.execute() if PORTAGE_TMPDIR
authorZac Medico <zmedico@gentoo.org>
Wed, 26 Nov 2008 00:42:05 +0000 (00:42 -0000)
committerZac Medico <zmedico@gentoo.org>
Wed, 26 Nov 2008 00:42:05 +0000 (00:42 -0000)
is not writable. (trunk r12092)

svn path=/main/branches/2.1.6/; revision=12093

pym/_emerge/__init__.py

index f7c5ad0322d5679fd6c3823bb795e99ace8836a3..9a0f864831cc5226ce7095fb4ebc69f7d4b923d2 100644 (file)
@@ -1586,7 +1586,12 @@ class EbuildFetchonly(SlotObject):
                settings = self.settings
                global_tmpdir = settings["PORTAGE_TMPDIR"]
                from tempfile import mkdtemp
-               private_tmpdir = mkdtemp("", "._portage_fetch_.", global_tmpdir)
+               try:
+                       private_tmpdir = mkdtemp("", "._portage_fetch_.", global_tmpdir)
+               except OSError, e:
+                       if e.errno != portage.exception.PermissionDenied.errno:
+                               raise
+                       raise portage.exception.PermissionDenied(global_tmpdir)
                settings["PORTAGE_TMPDIR"] = private_tmpdir
                settings.backup_changes("PORTAGE_TMPDIR")
                try: