[GRASS-SVN] r56673 - grass/trunk/lib/init

svn_grass at osgeo.org svn_grass at osgeo.org
Mon Jun 10 03:36:48 PDT 2013


Author: neteler
Date: 2013-06-10 03:36:48 -0700 (Mon, 10 Jun 2013)
New Revision: 56673

Modified:
   grass/trunk/lib/init/grass.py
Log:
grass.py: catch existing but unwritable tmp dir

Modified: grass/trunk/lib/init/grass.py
===================================================================
--- grass/trunk/lib/init/grass.py	2013-06-10 09:51:08 UTC (rev 56672)
+++ grass/trunk/lib/init/grass.py	2013-06-10 10:36:48 UTC (rev 56673)
@@ -218,14 +218,27 @@
     if not tmp:
         tmp = os.getenv('TEMP')
     if not tmp:
+        tmp = os.getenv('TMP')
+    if not tmp:
         tmp = tempfile.gettempdir()
+    if tmp:
+        tmpdir = os.path.join(tmp, "grass7-%s-%s" % (user, gis_lock))
+        try:
+            os.mkdir(tmpdir, 0700)
+        except:
+            tmp = None
     if not tmp:
-        tmp = '/tmp'
-    tmpdir = os.path.join(tmp, "grass7-%s-%s" % (user, gis_lock))
-    try:
-        os.mkdir(tmpdir, 0700)
-    except:
-        fatal(_("Unable to create temporary directory <%s>! Exiting.") % tmpdir)
+        for ttmp in ("/tmp", "/var/tmp", "/usr/tmp"):
+            tmp = ttmp
+            tmpdir = os.path.join(tmp, "grass7-%s-%s" % (user, gis_lock))
+            try:
+                os.mkdir(tmpdir, 0700)
+            except:
+                tmp = None
+            if tmp:
+               break
+    if not tmp:
+        fatal(_("Unable to create temporary directory <grass7-%s-%s>! Exiting.") % (user, gis_lock))
 
 def create_gisrc():
     global gisrc, gisrcrc



More information about the grass-commit mailing list