##// END OF EJS Templates
convert: improve support for unusual .gitmodules...
convert: improve support for unusual .gitmodules Previously convert would throw an exception if it encountered a git commit with a .gitmodules file that was malformed (i.e. was missing, but had submodule files, or was malformed). Instead of breaking the convert entirely, let's print error messages and move on.

File last commit:

r24972:56c64c91 default
r25699:5c97a4ec default
Show More
builddeb
62 lines | 1.3 KiB | text/plain | TextLexer
#!/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