blob: 1573d7e22f323045e9180e9adda833b098c93aee [file] [log] [blame]
#!/bin/bash
set -e
while [ $1 ]
do
OPT=$1
shift
if [ "$OPT" == "--commit" ]
then
OPT_COMMIT=y
continue
fi
if [ "$OPT" == "--sign" ]
then
OPT_SIGN=y
continue
fi
if [ "$OPT" == "--no-git-clean" ]
then
OPT_NO_GIT_CLEAN=y
continue
fi
echo $0: Unknown option: "$OPT" 1>&2
exit 1
done
#
# Clean working dirctory
#
if [ ! $OPT_NO_GIT_CLEAN ]
then
git reset --hard HEAD
git clean -dfx ../..
fi
git checkout debian/changelog
if [ ! -d module ]
then
mkdir module
cp -a ../../drivers/gator/* module/
fi
#
# Update changelog
#
if [ "$DEBEMAIL" == "" -o "$DEBFULLNAME" == "" ]
then
export DEBEMAIL='jon.medhurst@linaro.org'
export DEBFULLNAME='Jon Medhurst (Tixy)'
fi
dch -i -c debian/changelog CHANGE_MSG
dch -r -c debian/changelog ""
TIMESTAMP="$(date -u +%Y%m%d%H%M%S)"
sed -i -e "1 s/ubuntu1/-$TIMESTAMP/" debian/changelog
GIT_COMMIT="$(git rev-parse HEAD)"
GIT_REMOTE_AND_BRANCH="$(git show-ref | sed -n 's,'$GIT_COMMIT'.*refs/remotes/\(.*\),\1,p' | sed -n 1p)"
GIT_REMOTE=$(echo $GIT_REMOTE_AND_BRANCH | awk -F/ '{print $1}')
GIT_BRANCH=$(echo $GIT_REMOTE_AND_BRANCH | awk -F/ '{print $2}')
GIT_URL="$(git remote -v show $GIT_REMOTE | sed -n 's/.*Fetch URL: \(.*\)/\1/p')"
GIT_TAG="$(git describe --exact-match --tags $GIT_COMMIT 2>/dev/null || echo "")"
CHANGE_MSG="Automatically packaged from git repository:\n"
CHANGE_MSG="$CHANGE_MSG URL: $GIT_URL\n"
CHANGE_MSG="$CHANGE_MSG Tag: $GIT_TAG\n"
CHANGE_MSG="$CHANGE_MSG Branch: $GIT_BRANCH\n"
CHANGE_MSG="$CHANGE_MSG Commit: $GIT_COMMIT"
sed -i -e "s%CHANGE_MSG%$CHANGE_MSG%" debian/changelog
echo $CHANGE_MSG
FULL_VERSION="$(sed -n '1s/.*(\(.*\)).*/\1/p' debian/changelog)"
VERSION="$(echo $FULL_VERSION | sed 's/\([0-9.]*\).*/\1/')"
sed "s/__VERSION__/$VERSION/g" debian/dkms.conf.in > debian/dkms.conf
sed "s/__VERSION__/$VERSION/g" debian/gator-module-dkms.install.in > debian/gator-module-dkms.install
#
# Commit changes
#
if [ $OPT_COMMIT ]
then
git add debian/changelog
git commit -s -m "gator-$FULL_VERSION: Automated packaging"
fi
#
# Build packages
#
if [ ! $OPT_SIGN ]
then
DEBUILD_SIGN="-us -uc"
fi
debuild $DEBUILD_SIGN -aarmhf -b
debuild --no-tgz-check $DEBUILD_SIGN -S