[PATCH 06 of 22] buildrpm: introduce --rev for building RPMs for other versions
Mads Kiilerich
mads at kiilerich.com
Mon May 19 21:10:01 CDT 2014
# HG changeset patch
# User Mads Kiilerich <madski at unity3d.com>
# Date 1400111317 -7200
# Thu May 15 01:48:37 2014 +0200
# Node ID a95a7bf9ed7ef26f622cbc01bfa28ee049fbf231
# Parent 2259d306178fe5cce7f57cda30241d7a991f0b8d
buildrpm: introduce --rev for building RPMs for other versions
Can be used to build packages on the stable branch using packaging improvements
on the development branch.
diff --git a/contrib/buildrpm b/contrib/buildrpm
--- a/contrib/buildrpm
+++ b/contrib/buildrpm
@@ -7,6 +7,25 @@
# - CentOS 5
# - centOS 6
+if [ -z "$REV" ]; then
+ REV=.
+else
+ echo "Using \$REV=$REV for --rev" 1>&2
+fi
+while [ "$1" ]; do
+ case "$1" in
+ -r | --rev )
+ shift
+ REV="$1"
+ shift
+ ;;
+ * )
+ echo "Invalid parameter $1!" 1>&2
+ exit 1
+ ;;
+ esac
+done
+
cd "`dirname $0`/.."
specfile=contrib/mercurial.spec
@@ -40,7 +59,7 @@ mkdir -p $rpmdir/SOURCES $rpmdir/SPECS $
# Tags with -rc are named X.X.X-0.rc instead of X.X.X-rc - that makes sure that
# the final -1.x cames after -0.rc.x (so 3.0.0-1.7 comes after 3.0.0-0.rc.7).
-hgversion=`$HG par -T '{ifeq(branch, "stable", "", "0.next.")}{sub("-rc-1$", "-0.rc", sub(r"(?<=^\d\.\d)(?=(-rc)?-1$)", ".0", "{latesttag}-1"))}.{latesttagdistance}.{node|short}\n'`
+hgversion=`$HG log -r "$REV" -T '{ifeq(branch, "stable", "", "0.next.")}{sub("-rc-1$", "-0.rc", sub(r"(?<=^\d\.\d)(?=(-rc)?-1$)", ".0", "{latesttag}-1"))}.{latesttagdistance}.{node|short}\n'`
# An example of full version numbers:
# 3.0.0-1.0.2195ac506c6a
@@ -53,7 +72,7 @@ hgversion=`$HG par -T '{ifeq(branch, "st
version=${hgversion%-*}
release=${hgversion#*-}
-$HG archive -t tgz $rpmdir/SOURCES/mercurial-$version-$release.tar.gz
+$HG archive -r "$REV" -t tgz $rpmdir/SOURCES/mercurial-$version-$release.tar.gz
rpmspec=$rpmdir/SPECS/mercurial.spec
(
@@ -61,7 +80,7 @@ sed \
-e "s,^Version:.*,Version: $version," \
-e "s,^Release:.*,Release: $release," \
$specfile
-$HG log -r "sort(::.-::parents(tagged('re:^[0-9.]*$')&::parents(.)),-date)" \
+$HG log -r "sort(::($REV)-::parents(tagged('re:^[0-9.]*$')&::parents($REV)),-date)" \
-T '* {date(date|localdate, "%a %b %d %Y")} {author} {sub("-rc-1$", "-0.rc", sub(r"(?<=^\d\.\d)(?=(-rc)?-1$)", ".0", "{latesttag}-1"))}.{latesttagdistance}.{node|short}\n{if(tags,"- {tags}\n")}- {desc|firstline}\n\n'
) > $rpmspec
More information about the Mercurial-devel
mailing list