| #!/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 |