]> git.donarmstrong.com Git - lilypond.git/blobdiff - stepmake/bin/packagepython.py
only write non symlink files.
[lilypond.git] / stepmake / bin / packagepython.py
index 51d262302e4ea04d58f109f3f94b0f7a8c2dfc41..51a0d8af0eed93cdb1342af748f244d24f480d2d 100755 (executable)
@@ -7,7 +7,7 @@
 # 
 # source file of the GNU LilyPond music typesetter
 # 
-# (c)  1997--2003 Han-Wen Nienhuys <hanwen@stack.nl>
+# (c) 1997--2006 Han-Wen Nienhuys <hanwen@stack.nl>
 #                Jan Nieuwenhuizen <janneke@gnu.org>
 
 import re
@@ -20,142 +20,142 @@ import getopt
 make_assign_re = re.compile ('^([A-Z_]*)=(.*)$')
 
 def read_makefile (fn):
-       file = open (fn)
-       lines = file.readlines()
+    file = open (fn)
+    lines = file.readlines()
 
-       mi = pa = mj = 0
-       mp = ''
+    mi = pa = mj = 0
+    mp = ''
 
-       make_dict = {}
-       for l in lines:
-               m = make_assign_re.search (l)
-               if m:
-                       nm = m.group (1)
-                       val = m.group (2)
-                       make_dict[nm] = val
-       return make_dict
+    make_dict = {}
+    for l in lines:
+        m = make_assign_re.search (l)
+        if m:
+            nm = m.group (1)
+            val = m.group (2)
+            make_dict[nm] = val
+    return make_dict
 
 class Package:
-       def __init__ (self, dirname):
-               dict = read_makefile (dirname + '/VERSION')
-               version_list = []
-               for x in [ 'MAJOR_VERSION', 'MINOR_VERSION', 'PATCH_LEVEL']:
-                       version_list.append (string.atoi (dict[x]))
-               version_list.append (dict['MY_PATCH_LEVEL'])
-               self.topdir = dirname
-               self.groupdir = self.topdir + '/..'
-               self.patch_dir = self.groupdir + '/patches/'
-               self.release_dir = self.groupdir + '/releases/'
-               self.test_dir = self.groupdir + '/test/'
-               self.version =  tuple(version_list)
-               self.Name = dict['PACKAGE_NAME']
-               self.name = string.lower (self.Name)
-               if self.name == 'lilypond':
-                       self.nickname = 'lelie'
-               else:
-                       self.nickname = self.name
-               self.NAME = string.upper (self.Name)
+    def __init__ (self, dirname):
+        dict = read_makefile (dirname + '/VERSION')
+        version_list = []
+        for x in [ 'MAJOR_VERSION', 'MINOR_VERSION', 'PATCH_LEVEL']:
+            version_list.append (string.atoi (dict[x]))
+        version_list.append (dict['MY_PATCH_LEVEL'])
+        self.topdir = dirname
+        self.groupdir = self.topdir + '/..'
+        self.patch_dir = self.groupdir + '/patches/'
+        self.release_dir = self.groupdir + '/releases/'
+        self.test_dir = self.groupdir + '/test/'
+        self.version =  tuple(version_list)
+        self.Name = dict['PACKAGE_NAME']
+        self.name = string.lower (self.Name)
+        if self.name == 'lilypond':
+            self.nickname = 'lelie'
+        else:
+            self.nickname = self.name
+        self.NAME = string.upper (self.Name)
 
 
 class Packager:
-       def __init__ (self):
-               try:
-                       m= os.environ['MAILADDRESS']
-               except KeyError:
-                       m= '(address unknown)'
-               self.mail= m
-               try:
-                       m= os.environ['WEBMASTER']
-               except KeyError:
-                       m= self.mail
-               self.webmaster= m
+    def __init__ (self):
+        try:
+            m= os.environ['MAILADDRESS']
+        except KeyError:
+            m= '(address unknown)'
+        self.mail= m
+        try:
+            m= os.environ['WEBMASTER']
+        except KeyError:
+            m= self.mail
+        self.webmaster= m
 
 
 def full_version_tup(tup):
-       t = [0,0,0,'']
-       for i in range (4):
-         try:
-                 t[i] = tup[i]
-         except IndexError:
-                 break
-       return tuple(t)
+    t = [0,0,0,'']
+    for i in range (4):
+     try:
+         t[i] = tup[i]
+     except IndexError:
+         break
+    return tuple(t)
 
 def split_my_patchlevel (str):
-       m = re.match ('(.*?)([0-9]*)$', str)
-       return (m.group (1), string.atoi (m.group (2)))
+    m = re.match ('(.*?)([0-9]*)$', str)
+    return (m.group (1), string.atoi (m.group (2)))
 
 def next_version(tup):
-       l = list(full_version_tup (tup))
-       t3name=t3num=''
-       if l[3]:
-               (t3name,t3num)= split_my_patchlevel (l[3])
-               if t3num: 
-                       t3num = '%d' % (t3num + 1)
-               else:
-                       t3num = t3name =''
-       else:
-               l[2] = l[2] +1
-
-       return tuple(l[0:3] + [t3name +  t3num])
+    l = list(full_version_tup (tup))
+    t3name=t3num=''
+    if l[3]:
+        (t3name,t3num)= split_my_patchlevel (l[3])
+        if t3num: 
+            t3num = '%d' % (t3num + 1)
+        else:
+            t3num = t3name =''
+    else:
+        l[2] = l[2] +1
+
+    return tuple(l[0:3] + [t3name +  t3num])
 
 def prev_version(tup):
-       l = list(full_version_tup (tup))
-       t3name=t3num=''
-       if l[3]:
-               (t3name, t3num) = split_my_patchlevel (l[3])
-               if t3num and t3num - 1 > 0:
-                       t3num = '%d' %(t3num - 1)
-               else:
-                       t3num = t3name =''
-
-       else:
-               l[2] = l[2] -1
-               
-       return tuple(l[0:3] + [t3name +  t3num])
+    l = list(full_version_tup (tup))
+    t3name=t3num=''
+    if l[3]:
+        (t3name, t3num) = split_my_patchlevel (l[3])
+        if t3num and t3num - 1 > 0:
+            t3num = '%d' %(t3num - 1)
+        else:
+            t3num = t3name =''
+
+    else:
+        l[2] = l[2] -1
+        
+    return tuple(l[0:3] + [t3name +  t3num])
 
 def version_tuple_to_str(tup):
-       tup = full_version_tup (tup)
-       if tup[3]:
-               my = '.' + tup[3]
-       else:
-               my = ''
-       return ('%d.%d.%d' % tup[0:3]) + my
+    tup = full_version_tup (tup)
+    if tup[3]:
+        my = '.' + tup[3]
+    else:
+        my = ''
+    return ('%d.%d.%d' % tup[0:3]) + my
 
 def version_str_to_tuple(str):
-       t = string.split(str, '.')
-       mypatch = ''
-       if len (t) >= 4:
-               mypatch = string.join (t[3:], '.')
-       return (string.atoi(t[0]), string.atoi(t[1]), string.atoi(t[2]), mypatch)
+    t = string.split(str, '.')
+    mypatch = ''
+    if len (t) >= 4:
+        mypatch = string.join (t[3:], '.')
+    return (string.atoi(t[0]), string.atoi(t[1]), string.atoi(t[2]), mypatch)
 
 def version_compare (ltup, rtup):
-       rtup = full_version_tup (ltup)
-       rtup = full_version_tup (rtup)
-       for i in (0,1,2):
-               if ltup[i] - rtup[i]: return ltup[i] - rtup[i]
-       if ltup[3] and rtup[3]:
-               (lname, lnum) = split_my_patchlevel (ltup[i])
-               (rname, rnum) = split_my_patchlevel (rtup[3])
-               if lname != rname:
-                       raise 'ambiguous'
-               return sign (lnum - rnum)
-       if ltup[3]:
-               return 1
-       else:
-               return -1
-       
+    rtup = full_version_tup (ltup)
+    rtup = full_version_tup (rtup)
+    for i in (0,1,2):
+        if ltup[i] - rtup[i]: return ltup[i] - rtup[i]
+    if ltup[3] and rtup[3]:
+        (lname, lnum) = split_my_patchlevel (ltup[i])
+        (rname, rnum) = split_my_patchlevel (rtup[3])
+        if lname != rname:
+            raise 'ambiguous'
+        return sign (lnum - rnum)
+    if ltup[3]:
+        return 1
+    else:
+        return -1
+    
 if __name__ == '__main__':
-       p = Package ('.')
-       v=  p.version
-       print v, prev_version(v), next_version(v)
-       pv=(0,1,1,'jcn4')
-       print version_tuple_to_str(pv), prev_version(pv), next_version(pv)
-       print version_tuple_to_str((0,1,1,''))    
-       print full_version_tup ((0,1))
-
-       
+    p = Package ('.')
+    v=  p.version
+    print v, prev_version(v), next_version(v)
+    pv=(0,1,1,'jcn4')
+    print version_tuple_to_str(pv), prev_version(pv), next_version(pv)
+    print version_tuple_to_str((0,1,1,''))    
+    print full_version_tup ((0,1))
+
+    
 def dump_file(f, s):
-       i = open(f, 'w')
-       i.write(s)
-       i.close ()
+    i = open(f, 'w')
+    i.write(s)
+    i.close ()