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

svn path=/main/trunk/; revision=12092

pym/_emerge/__init__.py

index 5679715e7ee895675f0c8d37afeea5aa8799d4bf..2d7c05eb8685196d8e6dd40d4ccbde755a2fc599 100644 (file)
@@ -1605,7 +1605,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: