[PATCH 07 of 22] buildrpm: introduce --rpmdir instead of using hardcoded rpmbuild dir

Mads Kiilerich mads at kiilerich.com
Mon May 19 21:10:02 CDT 2014


# HG changeset patch
# User Mads Kiilerich <madski at unity3d.com>
# Date 1400551681 -7200
#      Tue May 20 04:08:01 2014 +0200
# Node ID 5af66dd01b59fe9be2e918f8f1840a9690342469
# Parent  a95a7bf9ed7ef26f622cbc01bfa28ee049fbf231
buildrpm: introduce --rpmdir instead of using hardcoded rpmbuild dir

Used as rpm _topdir when preparing spec and source and building rpms.

diff --git a/contrib/buildrpm b/contrib/buildrpm
--- a/contrib/buildrpm
+++ b/contrib/buildrpm
@@ -12,6 +12,7 @@ if [ -z "$REV" ]; then
 else
     echo "Using \$REV=$REV for --rev" 1>&2
 fi
+RPMBUILDDIR="$PWD/rpmbuild"
 while [ "$1" ]; do
     case "$1" in
     -r | --rev )
@@ -19,6 +20,11 @@ while [ "$1" ]; do
         REV="$1"
         shift
         ;;
+    --rpmbuilddir )
+        shift
+        RPMBUILDDIR="$1"
+        shift
+        ;;
     * )
         echo "Invalid parameter $1!" 1>&2
         exit 1
@@ -45,10 +51,7 @@ HG="$PWD/hg"
 PYTHONPATH="$PWD/mercurial/pure"
 export PYTHONPATH
 
-rpmdir="$PWD/rpmbuild"
-
-rm -rf $rpmdir
-mkdir -p $rpmdir/SOURCES $rpmdir/SPECS $rpmdir/RPMS $rpmdir/SRPMS $rpmdir/BUILD
+mkdir -p $RPMBUILDDIR/SOURCES $RPMBUILDDIR/SPECS $RPMBUILDDIR/RPMS $RPMBUILDDIR/SRPMS $RPMBUILDDIR/BUILD
 
 # Builds not on the stable branch is given a 0.next prefix to make clear we don't
 # have a good approximation of a version number.
@@ -72,8 +75,8 @@ hgversion=`$HG log -r "$REV" -T '{ifeq(b
 version=${hgversion%-*}
 release=${hgversion#*-}
 
-$HG archive -r "$REV" -t tgz $rpmdir/SOURCES/mercurial-$version-$release.tar.gz
-rpmspec=$rpmdir/SPECS/mercurial.spec
+$HG archive -r "$REV" -t tgz $RPMBUILDDIR/SOURCES/mercurial-$version-$release.tar.gz
+rpmspec=$RPMBUILDDIR/SPECS/mercurial.spec
 
 (
 sed \
@@ -84,9 +87,9 @@ sed \
     -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
 
-rpmbuild --define "_topdir $rpmdir" -ba $rpmspec --clean
+rpmbuild --define "_topdir $RPMBUILDDIR" -ba $rpmspec --clean
 if [ $? = 0 ]; then
     echo
-    echo "Packages are in $rpmdir:"
-    ls -l $rpmdir/*RPMS/*
+    echo "Packages are in $RPMBUILDDIR:"
+    ls -l $RPMBUILDDIR/*RPMS/*
 fi


More information about the Mercurial-devel mailing list