##// END OF EJS Templates
buildrpm: introduce --rpmdir instead of using hardcoded rpmbuild dir...
Mads Kiilerich -
r22437:9e2e4fc5 default
parent child Browse files
Show More
@@ -8,6 +8,7 b''
8 # - centOS 6
8 # - centOS 6
9
9
10 BUILD=1
10 BUILD=1
11 RPMBUILDDIR="$PWD/rpmbuild"
11 while [ "$1" ]; do
12 while [ "$1" ]; do
12 case "$1" in
13 case "$1" in
13 --prepare )
14 --prepare )
@@ -18,6 +19,11 b' while [ "$1" ]; do'
18 shift
19 shift
19 PYTHONVER=2.7.8
20 PYTHONVER=2.7.8
20 ;;
21 ;;
22 --rpmbuilddir )
23 shift
24 RPMBUILDDIR="$1"
25 shift
26 ;;
21 * )
27 * )
22 echo "Invalid parameter $1!" 1>&2
28 echo "Invalid parameter $1!" 1>&2
23 exit 1
29 exit 1
@@ -44,10 +50,7 b' HG="$PWD/hg"'
44 PYTHONPATH="$PWD/mercurial/pure"
50 PYTHONPATH="$PWD/mercurial/pure"
45 export PYTHONPATH
51 export PYTHONPATH
46
52
47 rpmdir="$PWD/rpmbuild"
53 mkdir -p $RPMBUILDDIR/SOURCES $RPMBUILDDIR/SPECS $RPMBUILDDIR/RPMS $RPMBUILDDIR/SRPMS $RPMBUILDDIR/BUILD
48
49 rm -rf $rpmdir
50 mkdir -p $rpmdir/SOURCES $rpmdir/SPECS $rpmdir/RPMS $rpmdir/SRPMS $rpmdir/BUILD
51
54
52 hgversion=`$HG version | sed -ne 's/.*(version \(.*\))$/\1/p'`
55 hgversion=`$HG version | sed -ne 's/.*(version \(.*\))$/\1/p'`
53
56
@@ -67,22 +70,22 b' else'
67 RPMPYTHONVER=%{nil}
70 RPMPYTHONVER=%{nil}
68 fi
71 fi
69
72
70 $HG archive -t tgz $rpmdir/SOURCES/mercurial-$version-$release.tar.gz
73 $HG archive -t tgz $RPMBUILDDIR/SOURCES/mercurial-$version-$release.tar.gz
71 if [ "$PYTHONVER" ]; then
74 if [ "$PYTHONVER" ]; then
72 (
75 (
73 cd build
76 cd build
74 PYTHON_SRCFILE=Python-$PYTHONVER.tgz
77 PYTHON_SRCFILE=Python-$PYTHONVER.tgz
75 [ -f $PYTHON_SRCFILE ] || curl -Lo $PYTHON_SRCFILE http://www.python.org/ftp/python/$PYTHONVER/$PYTHON_SRCFILE
78 [ -f $PYTHON_SRCFILE ] || curl -Lo $PYTHON_SRCFILE http://www.python.org/ftp/python/$PYTHONVER/$PYTHON_SRCFILE
76 ln -f $PYTHON_SRCFILE $rpmdir/SOURCES/$PYTHON_SRCFILE
79 ln -f $PYTHON_SRCFILE $RPMBUILDDIR/SOURCES/$PYTHON_SRCFILE
77
80
78 DOCUTILSVER=`sed -ne "s/^%global docutilsname docutils-//p" $specfile`
81 DOCUTILSVER=`sed -ne "s/^%global docutilsname docutils-//p" $specfile`
79 DOCUTILS_SRCFILE=docutils-$DOCUTILSVER.tar.gz
82 DOCUTILS_SRCFILE=docutils-$DOCUTILSVER.tar.gz
80 [ -f $DOCUTILS_SRCFILE ] || curl -Lo $DOCUTILS_SRCFILE http://downloads.sourceforge.net/project/docutils/docutils/$DOCUTILSVER/$DOCUTILS_SRCFILE
83 [ -f $DOCUTILS_SRCFILE ] || curl -Lo $DOCUTILS_SRCFILE http://downloads.sourceforge.net/project/docutils/docutils/$DOCUTILSVER/$DOCUTILS_SRCFILE
81 ln -f $DOCUTILS_SRCFILE $rpmdir/SOURCES/$DOCUTILS_SRCFILE
84 ln -f $DOCUTILS_SRCFILE $RPMBUILDDIR/SOURCES/$DOCUTILS_SRCFILE
82 )
85 )
83 fi
86 fi
84
87
85 rpmspec=$rpmdir/SPECS/mercurial.spec
88 rpmspec=$RPMBUILDDIR/SPECS/mercurial.spec
86
89
87 sed -e "s,^Version:.*,Version: $version," \
90 sed -e "s,^Version:.*,Version: $version," \
88 -e "s,^Release:.*,Release: $release," \
91 -e "s,^Release:.*,Release: $release," \
@@ -138,13 +141,13 b' sed -i \\'
138 $rpmspec
141 $rpmspec
139
142
140 if [ "$BUILD" ]; then
143 if [ "$BUILD" ]; then
141 rpmbuild --define "_topdir $rpmdir" -ba $rpmspec --clean
144 rpmbuild --define "_topdir $RPMBUILDDIR" -ba $rpmspec --clean
142 if [ $? = 0 ]; then
145 if [ $? = 0 ]; then
143 echo
146 echo
144 echo "Built packages for $version-$release:"
147 echo "Built packages for $version-$release:"
145 find $rpmdir/*RPMS/ -type f -newer $rpmspec
148 find $RPMBUILDDIR/*RPMS/ -type f -newer $rpmspec
146 fi
149 fi
147 else
150 else
148 echo "Prepared sources for $version-$release $rpmspec are in $rpmdir/SOURCES/ - use like:"
151 echo "Prepared sources for $version-$release $rpmspec are in $RPMBUILDDIR/SOURCES/ - use like:"
149 echo "rpmbuild --define '_topdir $rpmdir' -ba $rpmspec --clean"
152 echo "rpmbuild --define '_topdir $RPMBUILDDIR' -ba $rpmspec --clean"
150 fi
153 fi
General Comments 0
You need to be logged in to leave comments. Login now