tvheadend/support/apt-update

79 lines
1.6 KiB
Text
Raw Permalink Normal View History

#!/bin/bash
#
# Upload packages to launchpad. Note: you must configure dput for tvh-X
# as target PPA, and you should also define DEBFULLNAME and DEBEMAIL
# environment variables
#
# Terminate
function die
{
echo >&2 "ERROR: $@"
exit 1
}
2012-10-04 14:37:16 +01:00
# CMD
CMD=$(basename "$0")
2013-03-27 09:45:24 +00:00
DIR=$(cd $(dirname "$0"); pwd)
2012-10-04 14:37:16 +01:00
# Configuration
TVH_ROOT=$(cd "$(dirname "$0")"/..; pwd)
[ -z "$TVH_DIST" ] && TVH_DIST="wheezy lucid precise trusty utopic"
2012-10-04 14:37:16 +01:00
[ -z "$TVH_ARCH" ] && TVH_ARCH="i386 amd64"
# Options
[ ! -z "$1" ] && REL=$1 || REL=master
[ ! -z "$2" ] && PPA=$2 || PPA=unstable
# Setup
cd "$TVH_ROOT" || exit 1
NOW=`date -R`
2013-03-27 09:45:24 +00:00
CHANGELOG=./debian/changelog
VERFILE=./src/version.c
# Checkout
git checkout $REL || die "could not checkout $REL"
2013-03-27 09:45:24 +00:00
# Get version
VER=$("./support/version" $VERFILE)
# Export git tree
TMPDIR=/tmp/$CMD-$$
trap "rm -rf $TMPDIR" EXIT
mkdir -p "$TMPDIR"
git archive --prefix=tvheadend/ HEAD | tar -C "${TMPDIR}" -x ||\
die "failed to archive git tree"
cd "$TMPDIR/tvheadend" || die "failed to enter archived tree"
2013-03-27 09:45:24 +00:00
cd ..
# For each distro
for d in $TVH_DIST; do
V=${VER}~${d}
2013-03-27 09:45:24 +00:00
mv tvheadend "tvheadend-${V}"
cd "tvheadend-${V}"
# Create changelog
2013-03-27 09:45:24 +00:00
./support/changelog "$CHANGELOG" "$d" "$VER" || exit 1
# Build source package
dpkg-buildpackage -I.git* -S -sgpg -pgpg || exit 1
2012-10-04 14:37:16 +01:00
# Build
if [ "$CMD" == "pbuilder" ]; then
for a in $TVH_ARCH; do
pbuilder-dist $d $a ../tvheadend_${V}.dsc
done
# Upload
2012-10-04 14:37:16 +01:00
else
2013-03-27 09:45:24 +00:00
[ ! -f "$HOME/.dput.cf" ] && DPUT_OPT="$DPUT_OPT -c $DIR/dput.cf"
dput $DPUT_OPT tvh-${PPA} ../tvheadend_${V}_source.changes || exit 1
2012-10-04 14:37:16 +01:00
fi
2013-03-27 09:45:24 +00:00
# Rename back
cd ..
mv "tvheadend-${V}" tvheadend
done