Updated install script to store current Arch project version into a log file.
authorFrederic Jolliton <frederic@jolliton.com>
Sun, 26 Jun 2005 03:44:14 +0000 (03:44 +0000)
committerFrederic Jolliton <frederic@jolliton.com>
Sun, 26 Jun 2005 03:44:14 +0000 (03:44 +0000)
* The install script now append timestamp and Arch version of the
  project into install.log in installation directory.
git-archimport-id: frederic@jolliton.com--2005-private/confparser--main--0.1--patch-12

install

diff --git a/install b/install
index 8fdf481..d950749 100755 (executable)
--- a/install
+++ b/install
@@ -34,6 +34,7 @@ g_pretend = False
 import sys
 import os
 import errno
+import time
 import py_compile
 
 from getopt import GetoptError
@@ -44,6 +45,24 @@ except :
 
 from distutils.sysconfig import get_python_lib
 
+def isoDate() :
+
+       return '%04d-%02d-%02dT%02d:%02d:%02dZ' % time.gmtime()[ : 6 ]
+
+def archVersion() :
+
+       try :
+               treeVersion = os.popen( 'tla tree-version' ).read().splitlines()[ 0 ]
+               patchLevel = os.popen( 'tla logs' ).read().splitlines()
+               if patchLevel :
+                       patchLevel = patchLevel[ -1 ]
+               else :
+                       patchLevel = 'empty'
+               result = treeVersion + '--' + patchLevel
+       except :
+               result = None
+       return result
+
 def touch( filename ) :
 
        open( filename , 'a+' ).close()
@@ -116,6 +135,22 @@ def installModule() :
                        else :
                                byteCompile( myPrefix + '/' + module )
 
+       if g_verbose or g_pretend :
+               print 'Storing Arch version'
+
+       currentVersion = archVersion()
+       if currentVersion is None :
+               print '  Unable to compute Arch version'
+       else :
+               logFilename = myPrefix + '/install.log'
+               try :
+                       f = open( logFilename , 'a+' )
+                       f.write( isoDate() + ' Version %s installed.\n' % currentVersion )
+                       f.write( isoDate() + '   including files: %r\n' % ( g_modules , ) )
+                       f.close()
+               except IOError , OSError :
+                       print '** Error updating log file %s' % logFilename
+
 def usage() :
 
        print '''Usage: install [OPTIONS]