summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xmgagnome12
1 files changed, 8 insertions, 4 deletions
diff --git a/mgagnome b/mgagnome
index 1b54e3c..198599f 100755
--- a/mgagnome
+++ b/mgagnome
@@ -447,6 +447,7 @@ def cmd_dep3(options, parser):
p.add_dep3()
def cmd_package_new_version(options, parser):
+ # Determine the package name
if options.upstream:
downstream, downstream_files = get_downstream_names()
@@ -456,31 +457,34 @@ def cmd_package_new_version(options, parser):
if len(downstream[options.package]) != 1:
# XXX - Make it more intelligent
- print >>sys.stderr, "ERROR: Multiple packages for upstream name: %s" % options.package
+ print >>sys.stderr, "ERROR: Multiple packages found for %s: %s" % (options.package, ", ".join(downstream[options.package]))
sys.exit(1)
package = list(downstream[options.package])[0]
else:
package = options.package
-
-
+ # Directories packages are located in
root = os.path.expanduser(PKGROOT)
cwd = os.path.join(root, package)
+ # Checkout package to ensure the checkout reflects the latest changes
try:
subprocess.check_call(['mgarepo', 'co', package], cwd=root)
except subprocess.CalledProcessError:
sys.exit(1)
+
+ # SpecFile class handles the actual version+release change
s = SpecFile(os.path.join(cwd, "SPECS", "%s.spec" % package))
print "%s => %s" % (s.version, options.version)
if not s.update(options.version):
sys.exit(1)
+ # We can even checkin and submit :-)
if options.submit:
try:
# checkin changes
- subprocess.check_call(['mgarepo', 'ci', '-m', 'new version'], cwd=cwd)
+ subprocess.check_call(['mgarepo', 'ci', '-m', 'new version %s' % options.version], cwd=cwd)
# and submit
subprocess.check_call(['mgarepo', 'submit'], cwd=cwd)
except subprocess.CalledProcessError: