#!/usr/bin/env python import os, sys, re SourceDir = "src" 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) if len(sys.argv) == 1: version = GetVersion() specfile = "rdiff-backup-%s-1.spec" % version print "Using specfile %s" % specfile elif len(sys.argv) == 2: specfile = sys.argv[1] print "Using specfile %s" % specfile else: print ("%s takes zero or one argument, the name of the rpm spec " "file" % sys.argv[0]) sys.exit(1) base = ".".join(specfile.split(".")[:-1]) srcrpm = base+".src.rpm" i386rpm = base+".i386.rpm" source_rpm = base+".src.rpm" tarfile = "-".join(base.split("-")[:-1]) + ".tar.gz" assert not os.system("install -o root -g root -m 644 %s " "/usr/src/redhat/SOURCES" % (tarfile,)) assert not os.system("rpm -ba --sign -vv --target i386 " + specfile) assert not os.system("install -o ben -g ben -m 644 " "/usr/src/redhat/RPMS/i386/%s ." % i386rpm) assert not os.system("install -o ben -g ben -m 644 " "/usr/src/redhat/SRPMS/%s ." % source_rpm)