ezmlm-web-archiv/make-deb.sh

68 lines
1.8 KiB
Bash
Executable File

#!/bin/sh
set -eu
PRJ_ROOT=$(dirname $(cd "$(dirname $0)"; pwd))
DEBIAN_DIR="$PRJ_ROOT/debian"
#ARCHITECTURES="i386 ia64 alpha amd64 armeb arm hppa m32r m68k mips mipsel powerpc ppc64 s390 s390x sh3 sh3eb sh4 sh4eb sparc"
ARCHITECTURES="i386"
PREFIX=ezmlm-web
get_debian_version()
# compare the given version with the one from debian/changelog
{
head -1 "$DEBIAN_DIR/changelog" | cut -f 2 -d "(" | cut -f 1 -d "-"
}
set_package_version()
# set the version attribute in ezmlm-web.cgi
{
sed -i "s/^\$VERSION = '.*$/\$VERSION = '$1';/" "$SRC_DIR/ezmlm-web.cgi"
}
[ $# -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_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 "$DEBIAN_DIR" debian
# problem: the orig tarball is being rebuild again and again - so it is always different
for arch in $ARCHITECTURES
do dpkg-buildpackage -tc -us -uc -rfakeroot -a$arch
#do debuild -us -uc -a$arch
done
mkdir -p "$DEB_DIR"
for a in "$TMP_DIR"/${PREFIX}*
do test -f "$a" && mv "$a" "$DEB_DIR/"
done