summaryrefslogtreecommitdiff
path: root/rdiff-backup/dist/makedist
diff options
context:
space:
mode:
Diffstat (limited to 'rdiff-backup/dist/makedist')
-rwxr-xr-xrdiff-backup/dist/makedist66
1 files changed, 66 insertions, 0 deletions
diff --git a/rdiff-backup/dist/makedist b/rdiff-backup/dist/makedist
new file mode 100755
index 0000000..20198f4
--- /dev/null
+++ b/rdiff-backup/dist/makedist
@@ -0,0 +1,66 @@
+#!/usr/bin/env python
+
+import os, re, shutil, time
+
+filelist = ["rdiff-backup", "CHANGELOG", "COPYING", "README", "FAQ.html"]
+
+# Various details about the files must also be specified by the rpm
+# spec template.
+spec_template = "rdiff-backup.spec"
+
+
+def GetVersion():
+ """Return version string by reading in ./rdiff-backup"""
+ fp = open("rdiff-backup", "r")
+ match = re.search("Version (.*?) ", fp.read())
+ fp.close()
+ return match.group(1)
+
+def CopyMan(destination, version):
+ """Create updated man page at the specified location"""
+ fp = open(destination, "w")
+ date = time.strftime("%B %Y", time.localtime(time.time()))
+ version = "Version "+version
+ firstline = ('.TH RDIFF-BACKUP 1 "%s" "%s" "User Manuals"\n' %
+ (date, version))
+ fp.write(firstline)
+ infp = open("rdiff-backup.1", "r")
+ infp.readline()
+ fp.write(infp.read())
+ fp.close()
+ infp.close()
+
+def MakeTar(version):
+ """Create rdiff-backup tar file"""
+ tardir = "rdiff-backup-%s" % version
+ tarfile = "rdiff-backup-%s.tar.gz" % version
+ os.mkdir(tardir)
+ for file in filelist: shutil.copyfile(file, os.path.join(tardir, file))
+ os.chmod(os.path.join(tardir, "rdiff-backup"), 0755)
+ CopyMan(os.path.join(tardir, "rdiff-backup.1"), version)
+ os.system("tar -cvzf %s %s" % (tarfile, tardir))
+ shutil.rmtree(tardir)
+ return tarfile
+
+def MakeSpecFile(version):
+ """Create spec file using spec template"""
+ specfile = "rdiff-backup-%s-1.spec" % version
+ outfp = open(specfile, "w")
+ outfp.write("Version: %s\n" % version)
+ infp = open(spec_template, "r")
+ outfp.write(infp.read())
+ infp.close()
+ outfp.close()
+ return specfile
+
+def Main():
+ assert not os.system("./Make")
+ version = GetVersion()
+ print "Processing version " + version
+ tarfile = MakeTar(version)
+ print "Made tar file " + tarfile
+ specfile = MakeSpecFile(version)
+ print "Made specfile " + specfile
+
+if __name__ == "__main__": Main()
+