Mercurial > hg
view contrib/builddeb @ 26139:f643b6863382
buildrpm: mkdir -p two needed directories (issue4779)
Without this, building RPMs can fail.
author | Augie Fackler <augie@google.com> |
---|---|
date | Tue, 01 Sep 2015 14:41:41 -0400 |
parents | 05306b9359d3 |
children | 7f49efcaa9b4 |
line wrap: on
line source
#!/bin/sh -e # # Build a Mercurial debian package from the current repo # # Tested on Jessie (stable as of original script authoring.) . $(dirname $0)/packagelib.sh BUILD=1 DEBVERSION=jessie while [ "$1" ]; do case "$1" in --release ) shift DEBVERSION="$1" shift ;; --prepare ) shift BUILD= ;; --debbuilddir ) shift DEBBUILDDIR="$1" shift ;; * ) echo "Invalid parameter $1!" 1>&2 exit 1 ;; esac done DEBBUILDDIR=${OUTPUTDIR:="$PWD/debbuild"} set -u rm -rf $DEBBUILDDIR mkdir -p $DEBBUILDDIR if [ ! -d .hg ]; then echo 'You are not inside a Mercurial repository!' 1>&2 exit 1 fi gethgversion cp -r $PWD/contrib/debian $DEBBUILDDIR/DEBIAN chmod -R 0755 $DEBBUILDDIR/DEBIAN control=$DEBBUILDDIR/DEBIAN/control # This looks like sed -i, but sed -i behaves just differently enough # between BSD and GNU sed that I gave up and did the dumb thing. sed "s/__VERSION__/$version/" < $control > $control.tmp mv $control.tmp $control if [ "$BUILD" ]; then make PREFIX=$DEBBUILDDIR/usr install dpkg-deb --build $DEBBUILDDIR mv $DEBBUILDDIR.deb $DEBBUILDDIR/mercurial-$version-$release.deb if [ $? = 0 ]; then echo echo "Built packages for $version-$release:" find $DEBBUILDDIR/ -type f -newer $control fi else echo "Prepared sources for $version-$release $control are in $DEBBUILDDIR - use like:" echo "dpkg-deb --build $DEBBUILDDIR" fi