]> git.donarmstrong.com Git - lilypond.git/blobdiff - stepmake/bin/package-diff.py
release: 1.2.8
[lilypond.git] / stepmake / bin / package-diff.py
index d9e6cff3f363541f39727af563c8a066b4e7d0a0..72481671147dd5c594a9c41225b735cf7811c03a 100644 (file)
@@ -1,14 +1,13 @@
 #!@PYTHON@
 
-name = 'package-diff'
-version = '0.62'
 
+import find
 import sys
 import os
 import string
 import getopt
 import pipes
-
+topdir = ''
 def gulp_file(f):
        try:
                i = open(f)
@@ -24,9 +23,6 @@ def gulp_file(f):
        i.close ()
        return s
 
-def program_id ():
-       return name + ' ' + version;
-
 
 def mailaddress():
        try:
@@ -35,8 +31,6 @@ def mailaddress():
                return '(address unknown)'
 
 
-def identify ():
-       sys.stdout.write (program_id () + '\n')
 
 class Flags:
        def __init__ (self):
@@ -66,12 +60,18 @@ def untar (fn):
 
 def remove_automatic (dirnames):
        files = []
-       # urg, again?
-       from flower import *
-       files = files + multiple_find (pats, dirnames)
-       dirs = multiple_find (['out'], dirnames)
+
+       for d in dirnames:
+               for p in pats:
+                       files = files + find.find (p, d)
+
+       dirs = map (lambda d: find.find ('out', d), dirnames)
+       dirs = reduce (lambda x,y:  x + y, dirs)
+       
+       print dirs 
        for d in dirs:
-               files = files + multiple_find (['*'], [d])
+               files = files + find.find ('*', d)
+               
        for f in files:
                try:
                        os.remove (f)
@@ -92,23 +92,21 @@ def released_tarball(v):
 
 def remove_configure (dir):
        os.chdir (dir)
+
        # ugh
        os.system ('rm -f *.ly')
 
        # should do 'make distclean ?'
-       os.system ('rm -rf debian/out')
-       os.system ('rm -f GNUmakefile config.cache config.h config.hh config.log config.make config.status configure')
-       os.system ('rm -f stepmake/GNUmakefile stepmake/config.hh stepmake/config.log stepmake/config.status stepmake/config.make')
+       os.system ('rm -rf debian/out GNUmakefile config.cache config.h config.hh config.log config.make config.status configure stepmake/GNUmakefile stepmake/config.hh stepmake/config.log stepmake/config.status stepmake/config.make')
 
        # ugh: symlinks
-       os.system ('rm -f stepmake/stepmake/stepmake')
-       os.system ('rm -f stepmake/stepmake/bin')
+       os.system ('rm -f stepmake/stepmake/stepmake stepmake/stepmake/bin')
 
 
 # ugh, how to get rid of .tex files generated by lily?
 pats = ['configure', '*.diff', '*.diff.gz', '*.pyc',  '*.txt']
 
-header = """Generated by %s using %s,
+header = """Generated by %s,
 From = %s, To = %s
 
 usage 
@@ -141,7 +139,7 @@ def makediff (fromdir, todir, patch_name):
 
        f = open (patch_name, 'w')
        f.write (header %
-               (mailaddress (), program_id (),  fromname, toname, 
+               (mailaddress (),   fromname, toname, 
                 flags.package.name, os.path.basename (patch_name)))
 
        f.close ()
@@ -152,133 +150,130 @@ def makediff (fromdir, todir, patch_name):
        os.system ('diff -urN %s . >> %s' % (fromdir, patch_name))
        os.system ('gzip --quiet -9f %s' % patch_name)
    
-def main ():
-       os.environ['GZIP'] = '-q'
-       identify ()
-       print 'argv: ' + string.join (sys.argv[2:])
-       (options, files) = getopt.getopt (sys.argv[1:], 
-               'hF:f:o:p:rT:t:', ['from=', 'dir-from=', 'dir-to=', 'help', 'output=', 'package=', 'release', 'to='])
-
-       patch_name = ''
+
+os.environ['GZIP'] = '-q'
+print 'argv: ' + string.join (sys.argv[2:])
+(options, files) = getopt.getopt (sys.argv[1:], 
+       'hF:f:o:p:rT:t:', ['from=', 'dir-from=', 'dir-to=', 'help', 'output=', 'package=', 'release', 'to='])
+
+patch_name = ''
+from_src = ''
+to_src = ''
+release=0
+from_version=0
+to_version=0
+for opt in options:
+       o = opt[0]
+       a = opt[1]
+       if o == '--from' or o == '-f':
+                from_version = a
+       elif o == '--to' or o == '-t':
+                to_version = a
+       elif o == '--dir-from' or o == '-F':
+                from_src = a;
+       elif o == '--dir-to' or o == '-T':
+                to_src = a;
+       elif o == '--help' or o == '-h':
+               help ()
+               sys.exit (0)
+       elif o == '--output' or o == '-o':
+               patch_name = os.path.join (os.getcwd (), a)
+       elif o == '-p' or o == '--package':
+               topdir = a
+       elif o == '--release' or o == '-r':
+               release=1
+       else:
+               raise getopt.error
+
+sys.path.append (topdir + '/stepmake/bin')
+from packagepython import *
+package = Package (topdir)
+flags.package = package
+packager = Packager ()
+
+if from_src:
+       from_package = Package (from_src)
+       flags.from_version = from_package.version
+if from_version:
+       flags.from_version = version_str_to_tuple (from_version)
        from_src = ''
+
+if to_src:
+       to_package = Package (to_src)
+       flags.to_version = to_package.version
+if to_version:
+       flags.to_version = version_str_to_tuple (to_version)
        to_src = ''
-       release=0
-       from_version=0
-       to_version=0
-       for opt in options:
-               o = opt[0]
-               a = opt[1]
-               if o == '--from' or o == '-f':
-                        from_version = a
-               elif o == '--to' or o == '-t':
-                        to_version = a
-               elif o == '--dir-from' or o == '-F':
-                        from_src = a;
-               elif o == '--dir-to' or o == '-T':
-                        to_src = a;
-               elif o == '--help' or o == '-h':
-                       help ()
-                       return 0;
-               elif o == '--output' or o == '-o':
-                       patch_name = os.path.join (os.getcwd (), a)
-               elif o == '-p' or o == '--package':
-                       topdir = a
-               elif o == '--release' or o == '-r':
-                       release=1
-               else:
-                       raise getopt.error
-
-       sys.path.append (topdir + '/stepmake/bin')
-       from packagepython import *
-       package = Package (topdir)
-       flags.package = package
-       packager = Packager ()
-       from flower import *
 
-       if from_src:
-               from_package = Package (from_src)
-               flags.from_version = from_package.version
-       if from_version:
-               flags.from_version = version_str_to_tuple (from_version)
-               from_src = ''
-                       
-       if to_src:
-               to_package = Package (to_src)
-               flags.to_version = to_package.version
-       if to_version:
-               flags.to_version = version_str_to_tuple (to_version)
-               to_src = ''
-                       
-       if not flags.to_version:
-               flags.to_version = package.version
+if not flags.to_version:
+       flags.to_version = package.version
 
-       if not flags.from_version:
-               flags.from_version = prev_version (flags.to_version)
+if not flags.from_version:
+       flags.from_version = prev_version (flags.to_version)
 
-       # urg
-       if release:
-               flags.from_version = (flags.from_version[0], 
-                       flags.from_version[1], flags.from_version[2], '');
+# urg
+if release:
+       flags.from_version = (flags.from_version[0], 
+               flags.from_version[1], flags.from_version[2], '');
 
-       import tempfile
-       prev_cwd = os.getcwd ();
+import tempfile
+prev_cwd = os.getcwd ();
 
-       os.system ('rm -rf /tmp/package-diff') 
-       try:
-               os.mkdir ('/tmp/package-diff')
-       except:
-               pass
-               
-       from_diff = dirname (flags.from_version)
-       to_diff =  dirname (flags.to_version)
-       if to_diff == from_diff:
-               if from_src:
-                     from_diff = from_diff + '.src'
-               elif to_src:
-                     to_diff = to_diff + '.src'
-               else:
-                     sys.stderr.write (name + ': nothing to do: to == from == ' + from_diff + '\n')
-                     sys.exit (1)
-
-       if not patch_name:
-               pn = to_diff + '.diff'
-               patch_name =  os.path.join (os.getcwd (), pn)
-
-       from_diff = '/tmp/package-diff/' + from_diff
-       to_diff =  '/tmp/package-diff/' + to_diff
-
-       if not from_src:
-               os.chdir ('/tmp/package-diff')
-               untar (released_tarball (flags.from_version))
-               os.chdir (prev_cwd)
-       else:
-               sys.stderr.write ('copying ' + from_src + ' to ' + from_diff + '\n')
-               # os.system ('cp -pr %s %s' % (srcdir, from_diff))
-               os.system ('mkdir -p %s '% (from_diff))
-               os.chdir (from_src)
-               os.system ('tar cf - --exclude out --exclude out-www . \
-                       | tar -xf - -C %s' % from_diff)
-
-
-       if not to_src:
-               os.chdir ('/tmp/package-diff')
-               untar (released_tarball (flags.to_version))
-               os.chdir (prev_cwd)
+os.system ('rm -rf /tmp/package-diff') 
+try:
+       os.mkdir ('/tmp/package-diff')
+except:
+       pass
+
+from_diff = dirname (flags.from_version)
+to_diff =  dirname (flags.to_version)
+if to_diff == from_diff:
+       if from_src:
+             from_diff = from_diff + '.src'
+       elif to_src:
+             to_diff = to_diff + '.src'
        else:
-               sys.stderr.write ('copying ' + to_src + ' to ' + to_diff + '\n')
-               os.system ('mkdir -p %s '% (to_diff))
-               # os.system ('cp -pr %s %s'  (to_src, to_diff))%
-               os.chdir (to_src)
-               os.system ('tar -cf - --exclude out --exclude out-www . \
-                       . | tar -xf - -C %s ' % to_diff)
+             sys.stderr.write (name + ': nothing to do: to == from == ' + from_diff + '\n')
+             sys.exit (1)
+
+if not patch_name:
+       pn = to_diff + '.diff'
+       patch_name =  os.path.join (os.getcwd (), pn)
+
+from_diff = '/tmp/package-diff/' + from_diff
+to_diff =  '/tmp/package-diff/' + to_diff
+
+if not from_src:
+       os.chdir ('/tmp/package-diff')
+       untar (released_tarball (flags.from_version))
+       os.chdir (prev_cwd)
+else:
+       sys.stderr.write ('copying ' + from_src + ' to ' + from_diff + '\n')
+       # os.system ('cp -pr %s %s' % (srcdir, from_diff))
+       os.system ('mkdir -p %s '% (from_diff))
+       os.chdir (from_src)
+       os.system ('tar cf - --exclude out --exclude out-www . \
+               | tar -xf - -C %s' % from_diff)
 
-       os.chdir (to_diff)
-       makediff (from_diff, to_diff, patch_name) 
 
+if not to_src:
        os.chdir ('/tmp/package-diff')
-       sys.stderr.write ('cleaning ... ')
-       os.system ('rm -fr %s %s' % (from_diff, to_diff))
-       sys.stderr.write ('\n')
+       untar (released_tarball (flags.to_version))
        os.chdir (prev_cwd)
+else:
+       sys.stderr.write ('copying ' + to_src + ' to ' + to_diff + '\n')
+       os.system ('mkdir -p %s '% (to_diff))
+       # os.system ('cp -pr %s %s'  (to_src, to_diff))%
+       os.chdir (to_src)
+       os.system ('tar -cf - --exclude out --exclude out-www . \
+               . | tar -xf - -C %s ' % to_diff)
+
+os.chdir (to_diff)
+makediff (from_diff, to_diff, patch_name) 
+
+os.chdir ('/tmp/package-diff')
+sys.stderr.write ('cleaning ... ')
+os.system ('rm -fr %s %s' % (from_diff, to_diff))
+sys.stderr.write ('\n')
+os.chdir (prev_cwd)
 
-main ()