view contrib/builddeb @ 25160:fefc72523491

run-tests: insist that if people use Python 3, they use 3.5.x We depend on both stdlib functionality (difflib.diff_bytes) and language behavior (bytes formatting) introduced in 3.5, so let's try and prevent some useless bug reports before they happen.
author Augie Fackler <augie@google.com>
date Sun, 17 May 2015 21:26:04 -0400
parents 56c64c91b429
children e5f2a2a095cb
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
DEBBUILDDIR="$PWD/debbuild"
while [ "$1" ]; do
    case "$1" in
    --prepare )
        shift
        BUILD=
        ;;
    --debbuilddir )
        shift
        DEBBUILDDIR="$1"
        shift
        ;;
    * )
        echo "Invalid parameter $1!" 1>&2
        exit 1
        ;;
    esac
done

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
    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