From ddfe1eae14c0a6bebe9343c3ea8aa890e056fec2 Mon Sep 17 00:00:00 2001 From: Olivier Blin Date: Mon, 13 Nov 2006 18:06:25 +0000 Subject: merge with 1.6 branch (commits 83373 and 83726) --- RepSys/commands/getsrpm.py | 1 + RepSys/rpmutil.py | 6 ++++-- create-srpm | 23 +++++++++++++++++++---- 3 files changed, 24 insertions(+), 6 deletions(-) diff --git a/RepSys/commands/getsrpm.py b/RepSys/commands/getsrpm.py index a212b52..d76aca7 100644 --- a/RepSys/commands/getsrpm.py +++ b/RepSys/commands/getsrpm.py @@ -74,6 +74,7 @@ def parse_options(): if len(args) != 1: raise Error, "invalid arguments" opts.pkgdirurl = default_parent(args[0]) + opts.verbose = 1 return opts def main(): diff --git a/RepSys/rpmutil.py b/RepSys/rpmutil.py index 26ececf..07b3bf3 100644 --- a/RepSys/rpmutil.py +++ b/RepSys/rpmutil.py @@ -37,7 +37,8 @@ def get_srpm(pkgdirurl, svnlog = 0, scripts = [], submit = False, - template = None): + template = None, + verbose = 0): svn = SVN() tmpdir = tempfile.mktemp() topdir = "--define '_topdir %s'" % tmpdir @@ -95,7 +96,8 @@ def get_srpm(pkgdirurl, for targetdir in targetdirs: targetsrpm = os.path.join(os.path.realpath(targetdir), os.path.basename(srpm)) targetsrpms.append(targetsrpm) - sys.stderr.write("Wrote: %s\n" % targetsrpm) + if verbose: + sys.stderr.write("Wrote: %s\n" % targetsrpm) execcmd("cp -f", srpm, targetdir) os.unlink(srpm) return targetsrpms diff --git a/create-srpm b/create-srpm index 000afd2..544b011 100755 --- a/create-srpm +++ b/create-srpm @@ -3,7 +3,7 @@ from RepSys import Error, config from RepSys.rpmutil import get_srpm from RepSys.cgiutil import get_targets -from RepSys.util import mapurl +from RepSys.util import mapurl, execcmd, get_helper import sys import os import pwd @@ -16,7 +16,7 @@ class CmdIface: return config.get("users", author) def submit_package(self, packageurl, packagerev, targetname, - dontmapurl_=0): + dontmapurl_=0, define=[]): pw = pwd.getpwuid(os.getuid()) username = pw[0] packager = config.get("users", username) or pw[4] @@ -46,13 +46,27 @@ class CmdIface: newurl = packageurl if not dontmapurl_: newurl = mapurl(packageurl) - get_srpm(newurl, + targetsrpms = get_srpm(newurl, revision=packagerev, targetdirs=target.target, packager=packager, revname=1, svnlog=1, scripts=target.scripts) + + uploadsrpm = get_helper("upload-srpm") + if uploadsrpm: + upload_command = [ uploadsrpm ] + if define: + for x in define: + upload_command.append("--define") + upload_command.append(x) + upload_command.append(targetname) + upload_command.append(targetsrpms[0]) + status, output = execcmd(" ".join(upload_command)) + os.unlink(targetsrpms[0]) + if status != 0: + raise CmdError, "Failed to upload %s:\n%s" % (packageurl, output) return 1 def submit_targets(self): @@ -69,6 +83,7 @@ def parse_options(): parser.add_option("-M", "--nomapping", action="store_true", dest="urlmap", default=False, help="disable url mapping") + parser.add_option("--define", action="append") opts, args = parser.parse_args() if not args: parser.error("you must supply a package url") @@ -78,7 +93,7 @@ def parse_options(): def main(): iface = CmdIface() opts, args = parse_options() - iface.submit_package(args[0], opts.revision, opts.target, opts.urlmap) + iface.submit_package(args[0], opts.revision, opts.target, opts.urlmap, opts.define) if __name__ == "__main__": -- cgit v1.2.1