11 (options, files) = getopt.getopt(sys.argv[1:], 'ho:p:', ['help', 'outdir=', 'package='])
14 sys.stdout.write (r"""Usage: release [OPTION]...
15 Make a tarball and patch
18 -o, --outdir=DIR where to leave patches.
19 -h, --help print this help
20 -p, --package=DIR specify package"""
27 if o == '-h' or o == '--help':
29 elif o == '-p' or o == '--package':
31 elif o == '--outdir' or o == '-o':
35 sys.path.append (topdir + '/stepmake/bin')
36 from packagepython import *
37 package = Package (topdir)
38 os.chdir(package.topdir)
41 os.system ('set -x; rm ' + os.path.join (outdir, package.name + '*gz'))
47 status = os.system('make dist')
49 raise 'make dist failed'
51 cur_ver = package.version
54 pn = '%s-%s' %(package.name, version_tuple_to_str(cur_ver))
55 tarball = pn + '.tar.gz'
56 orig = os.path.join (outdir, tarball)
58 os.remove(os.path.join (package.release_dir, tarball))
61 os.link(orig, os.path.join (package.release_dir, tarball))
63 # urg: howto check exit code?
64 os.system(sys.executable + ' ' + package.topdir + '/stepmake/bin/package-diff.py --outdir=%s --package=%s' % (outdir, topdir))
66 diffname = pn + '.diff.gz'
67 rel_pn = package.patch_dir + diffname
69 diffname = os.path.join (outdir, diffname)
72 os.rename(diffname, rel_pn)
74 sys.stderr.write ("Can't find diff: %s\n" % diffname)
76 os.link(rel_pn, diffname)