QOwnNotes/ubuntu-launchpad/build-for-launchpad-trusty.sh
2016-09-05 17:58:44 +02:00

124 lines
3.2 KiB
Bash
Executable file

#!/usr/bin/env bash
#
# This is the build script for Ubuntu Launchpad (Trusty)
# https://launchpad.net/~pbek/+archive/ubuntu/qownnotes-trusty
#
# We will need some packages to execute this locally:
# sudo apt-get install build-essential autoconf automake autotools-dev dh-make debhelper devscripts fakeroot xutils lintian pbuilder cdbs
#
# To make this script work also the Qt 5.6 Trusty repository has to be in place
# https://launchpad.net/~beineri/+archive/ubuntu/opt-qt56-trusty
#
# sudo apt-add-repository ppa:beineri/opt-qt56-trusty
# sudo apt-get update
#
# The GPG public key $GPG_PUBLIC_KEY also has to be in place locally
# Also a ~/.dput.cf has to be in place
#
# uncomment this if you want to force a version
#QOWNNOTES_VERSION=0.78.1
BRANCH=develop
#BRANCH=master
UBUNTU_RELEASES=( "trusty" )
DATE=$(LC_ALL=C date +'%a, %d %b %Y %T %z')
PROJECT_PATH="/tmp/QOwnNotes-$$"
CUR_DIR=$(pwd)
UPLOAD="true"
DEBUILD_ARGS="-d"
GPG_PUBLIC_KEY=F5161BD3
export DEBFULLNAME="Patrizio Bekerle"
export DEBEMAIL="patrizio@bekerle.com"
while test $# -gt 0
do
case "$1" in
--no-upload) UPLOAD="false"
;;
--no-orig-tar-upload) DEBUILD_ARGS="-sd"
;;
esac
shift
done
echo "Started the debian source packaging process for trusty, using latest '$BRANCH' git tree"
if [ -d $PROJECT_PATH ]; then
rm -rf $PROJECT_PATH
fi
# checkout the source code
git clone --depth=50 https://github.com/pbek/QOwnNotes.git $PROJECT_PATH -b $BRANCH
cd $PROJECT_PATH
# checkout submodules
git submodule update --init
if [ -z $QOWNNOTES_VERSION ]; then
# get version from version.h
QOWNNOTES_VERSION=`cat src/version.h | sed "s/[^0-9,.]//g"`
else
# set new version if we want to override it
echo "#define VERSION \"$QOWNNOTES_VERSION\"" > src/version.h
fi
# set release string to disable the update check
echo "#define RELEASE \"Launchpad PPA\"" > src/release.h
changelogText="Released version $QOWNNOTES_VERSION"
echo "Using version $QOWNNOTES_VERSION..."
qownnotesSrcDir="qownnotes_${QOWNNOTES_VERSION}"
# copy the src directory
cp -R src $qownnotesSrcDir
# archive the source code
tar -czf $qownnotesSrcDir.orig.tar.gz $qownnotesSrcDir
changelogPath=debian/changelog
# build for every Ubuntu release
for ubuntuRelease in "${UBUNTU_RELEASES[@]}"
do
:
echo "Building for $ubuntuRelease..."
cd $qownnotesSrcDir
# get the modified trusty files in place
cp ../ubuntu-launchpad/trusty/* debian
# cp ../ubuntu-launchpad/trusty/rules debian
versionPart="$QOWNNOTES_VERSION-1ubuntu3ppa1~${ubuntuRelease}1"
# update the changelog file
#dch -v $versionPart $changelogText
#dch -r $changelogText
# create the changelog file
echo "qownnotes ($versionPart) $ubuntuRelease; urgency=low" > $changelogPath
echo "" >> $changelogPath
echo " * $changelogText" >> $changelogPath
echo "" >> $changelogPath
echo " -- $DEBFULLNAME <$DEBEMAIL> $DATE" >> $changelogPath
# launch debuild
debuild -S -sa -k$GPG_PUBLIC_KEY $DEBUILD_ARGS
cd ..
# send to launchpad
if [ "$UPLOAD" = "true" ]; then
dput ppa:pbek/qownnotes-trusty qownnotes_${versionPart}_source.changes
fi
done
# remove everything after we are done
if [ -d $PROJECT_PATH ]; then
rm -rf $PROJECT_PATH
fi