aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOlivier Blin <oblin@mandriva.com>2006-11-13 18:06:25 +0000
committerOlivier Blin <oblin@mandriva.com>2006-11-13 18:06:25 +0000
commitddfe1eae14c0a6bebe9343c3ea8aa890e056fec2 (patch)
tree1e01fc46c00a6758162ca0f9d154a0f86fe28365
parentf6c282e106b441f26535f1a621d906a4c9aa861d (diff)
downloadmgarepo-ddfe1eae14c0a6bebe9343c3ea8aa890e056fec2.tar
mgarepo-ddfe1eae14c0a6bebe9343c3ea8aa890e056fec2.tar.gz
mgarepo-ddfe1eae14c0a6bebe9343c3ea8aa890e056fec2.tar.bz2
mgarepo-ddfe1eae14c0a6bebe9343c3ea8aa890e056fec2.tar.xz
mgarepo-ddfe1eae14c0a6bebe9343c3ea8aa890e056fec2.zip
merge with 1.6 branch (commits 83373 and 83726)
-rw-r--r--RepSys/commands/getsrpm.py1
-rw-r--r--RepSys/rpmutil.py6
-rwxr-xr-xcreate-srpm23
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__":