From d42426e5263b01076457675cdfda6c6c5f8a9abf Mon Sep 17 00:00:00 2001 From: Mystery Man Date: Wed, 7 Dec 2005 10:44:44 +0000 Subject: This commit was manufactured by cvs2svn to create tag 'V1_5_4_1mdk'. --- create-srpm | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100755 create-srpm (limited to 'create-srpm') diff --git a/create-srpm b/create-srpm new file mode 100755 index 0000000..cdf8e26 --- /dev/null +++ b/create-srpm @@ -0,0 +1,71 @@ +#!/usr/bin/python + +from RepSys import Error, config +from RepSys.rpmutil import get_srpm +from RepSys.cgiutil import get_targets +import sys +import os +import pwd + +class CmdError(Error): pass + +class CmdIface: + def author_email(self, author): + return config.get("users", author) + + def submit_package(self, packageurl, packagerev, targetname): + pw = pwd.getpwuid(os.getuid()) + username = pw[0] + packager = config.get("users", username) or pw[4] + if not packager: + raise CmdError, "your email was not found" + elif not packagerev: + raise CmdError, "no revision provided" + elif not targetname: + raise CmdError, "no target provided" + else: + targetname = targetname.lower() + for target in get_targets(): + if target.name.lower() == targetname: + break + else: + raise CmdError, "target not found" + try: + tmp = int(packagerev) + except ValueError: + raise CmdError, "invalid revision provided" + for allowed in target.allowed: + if packageurl.startswith(allowed): + break + else: + raise CmdError, "%s is not allowed for this target" \ + % packageurl + get_srpm(packageurl, + revision=packagerev, + targetdirs=target.target, + packager=packager, + revname=1, + svnlog=1, + scripts=target.scripts) + return 1 + + def submit_targets(self): + return [x.name for x in get_targets()] + + +def main(): + + iface = CmdIface() + + print sys.argv + + if len(sys.argv) == 3: + rev = None + target = sys.argv[2] + else: + rev = sys.argv[2] + target = sys.argv[3] + + iface.submit_package(sys.argv[1], rev, target) + +main() -- cgit v1.2.1