#!@PYTHON@
+#
+# TODO: CLEAN THIS UP.
+#
+
import find
import sys
' -T, --dir-to=TO diff to directory TO\n'
)
+def cleanup ():
+ global from_diff, to_diff, prev_cwd
+ 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)
+
def untar (fn):
# os.system ('pwd');
- sys.stderr.write ('untarring ' + fn + '\n')
+ try:
+ open (fn)
+ except:
+ sys.stderr.write ("Can't find tarball: %s\n" % fn)
+ cleanup ()
+ sys.exit (1)
+ sys.stderr.write ("Untarring: %s\n" % fn)
os.system ('gzip --quiet -dc ' + fn + '| tar xf - ')
sys.stderr.flush ()
files = []
for d in dirnames:
- for p in pats:
- files = files + find.find (p, d)
+ try:
+ for p in pats:
+ files = files + find.find (p, d)
+ except:
+ sys.stderr.write ("Can't find dir: %s\n" % d)
+ cleanup ()
+ sys.exit (1)
dirs = map (lambda d: find.find ('out', d), dirnames)
dirs = reduce (lambda x,y: x + y, dirs)
Patches do not contain automatically generated files
or (urg) empty directories,
-i.e., you should rerun autoconf, configure """
+i.e., you should rerun autoconf, configure
+"""
-def makediff (fromdir, todir, patch_name):
+def makediff (fromdir, todir, patch_name):
# urg, again?
from packagepython import *
toname = os.path.basename (toname)
fromdir = '../' + fromname
- f = open (patch_name, 'w')
+ f = open (patch_name, 'wb')
f.write (header %
(mailaddress (), fromname, toname,
flags.package.name, os.path.basename (patch_name)))
elif to_src:
to_diff = to_diff + '.src'
else:
- sys.stderr.write (name + ': nothing to do: to == from == ' + from_diff + '\n')
+ sys.stderr.write (patch_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)
+ patch_name = os.path.join (os.getcwd (), 'out')
+ patch_name = os.path.join (patch_name, pn)
from_diff = '/tmp/package-diff/' + from_diff
to_diff = '/tmp/package-diff/' + 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)
+cleanup ()