cryptonas-archive/make-deb.sh

62 lines
1.5 KiB
Bash
Executable File

#!/bin/sh
set -eu
PRJ_ROOT=$(dirname $(cd "$(dirname $0)"; pwd))
PREFIX=cryptobox
get_debian_version()
# compare the given version with the one from debian/changelog
{
head -1 "$SRC_DIR/debian/changelog" | cut -f 2 -d "(" | cut -f 1 -d ")"
}
set_cryptobox_package_version()
# set the version attribute in scr/cryptobox/__init__.py
{
sed -i "s/^__version__.*$/__version__ = \"$1\"/" "$SRC_DIR/src/cryptobox/__init__.py"
}
[ $# -lt 1 -o $# -gt 2 ] && echo "Syntax: `basename $0` VERSION {PATH}" && echo && exit 1
REL_SRC_DIR=${PREFIX}-${1}
[ $# -eq 2 ] && REL_SRC_DIR=$2
SRC_DIR=$(cd "$(pwd)/$REL_SRC_DIR"; pwd)
[ ! -d "$SRC_DIR" ] && echo "the directory '$REL_SRC_DIR' does not exist!" && exit 2
deb_version=$(get_debian_version)
if test "$1" = "$deb_version"
then true
else echo "The version number you specified ($1) was not equal to the current debian changelog version ($deb_version)!"
echo "Run 'debchange -i' to create a new changelog entry."
echo
exit 3
fi
set_cryptobox_package_version "$1"
# create the tar file
"$(dirname $0)/make-tar.sh" "$@"
TAR_FILE=$PRJ_ROOT/tags/packages/${PREFIX}-${1}.tar.gz
DEB_DIR=$(dirname "$TAR_FILE")/debian
TMP_DIR=/tmp/builddir-$PREFIX-$$
mkdir -p "$TMP_DIR"
cd "$TMP_DIR"
NEW_TAR_FILE=${PREFIX}_${1}.orig.tar.gz
cp "$TAR_FILE" "$NEW_TAR_FILE"
tar xzf "$TAR_FILE"
cd "$PREFIX-$1"
svn export "$SRC_DIR/debian" debian
# build i386 binary package
debuild -us -uc
# build arm binary package
debuild -us -uc -aarm
mkdir -p "$DEB_DIR"
for a in "$TMP_DIR"/${PREFIX}*
do test -f "$a" && mv "$a" "$DEB_DIR"
done