Mercurial > hg
view contrib/builddeb @ 26328:188c1e9506f5
match: remove a mutable default argument
Mutable default arguments are know to the state of California to cause bugs. We
added support for None in the underlying function in the parent commit.
therefore we do not need to do anything but passing None.
author | Pierre-Yves David <pierre-yves.david@fb.com> |
---|---|
date | Thu, 24 Sep 2015 01:00:43 -0700 |
parents | 7f49efcaa9b4 |
children | 6474b64045fb |
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 CLEANUP=1 DEBVERSION=jessie while [ "$1" ]; do case "$1" in --release ) shift DEBVERSION="$1" shift ;; --cleanup ) shift BUILD= ;; --build ) shift CLEANUP= ;; --debbuilddir ) shift DEBBUILDDIR="$1" shift ;; * ) echo "Invalid parameter $1!" 1>&2 exit 1 ;; esac done trap "if [ '$CLEANUP' ] ; then rm -r '$PWD/debian' ; fi" EXIT set -u if [ ! -d .hg ]; then echo 'You are not inside a Mercurial repository!' 1>&2 exit 1 fi gethgversion control=debian/control changelog=debian/changelog if [ "$BUILD" ]; then if [ -d debian ] ; then echo "Error! debian control directory already exists!" exit 1 fi cp -r $PWD/contrib/debian debian chmod -R 0755 debian # 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/" < $changelog > $changelog.tmp date=$(date --rfc-2822) sed "s/__DATE__/$date/" < $changelog.tmp > $changelog rm $changelog.tmp debuild -us -uc -b if [ $? != 0 ]; then echo 'debuild failed!' exit 1 fi fi if [ "$CLEANUP" ] ; then echo OUTPUTDIR=${OUTPUTDIR:=packages/debian-$DEBVERSION} find ../mercurial*.deb ../mercurial_*.build ../mercurial_*.changes \ -type f -newer $control -print0 | \ xargs -Inarf -0 mv narf "$OUTPUTDIR" echo "Built packages for $version-$release:" find "$OUTPUTDIR" -type f -newer $control -name '*.deb' fi