mirror of
https://github.com/pbek/QOwnNotes.git
synced 2025-06-28 12:59:52 +00:00
127 lines
3.2 KiB
Bash
Executable file
127 lines
3.2 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
#
|
|
# This is the build script for Ubuntu Launchpad
|
|
# https://launchpad.net/~pbek/+archive/ubuntu/qownnotes-qt6
|
|
#
|
|
# 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 gnupg
|
|
#
|
|
# Also a ~/.dput.cf has to be in place
|
|
#
|
|
|
|
# uncomment this if you want to force a version
|
|
#QOWNNOTES_VERSION=23.3.0.1
|
|
|
|
BRANCH=main
|
|
#BRANCH=release
|
|
|
|
# https://wiki.ubuntu.com/Releases
|
|
UBUNTU_RELEASES=("jammy" "noble" "oracular")
|
|
|
|
DATE=$(LC_ALL=C date +'%a, %d %b %Y %T %z')
|
|
PROJECT_PATH="/tmp/QOwnNotes-$$"
|
|
UPLOAD="true"
|
|
DEBUILD_ARGS=""
|
|
SIGNING_EMAIL=patrizio@bekerle.com
|
|
export DEBFULLNAME="Patrizio Bekerle"
|
|
export DEBEMAIL="patrizio@bekerle.com"
|
|
|
|
#echo "/usr/share/cdbs/1/class/qmake.mk"
|
|
#cat /usr/share/cdbs/1/class/qmake.mk
|
|
|
|
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, using latest '$BRANCH' git tree"
|
|
|
|
if [ -d $PROJECT_PATH ]; then
|
|
rm -rf $PROJECT_PATH
|
|
fi
|
|
|
|
# checkout the source code
|
|
git clone --depth=1 git@github.com:pbek/QOwnNotes.git $PROJECT_PATH -b $BRANCH
|
|
cd $PROJECT_PATH || exit 1
|
|
|
|
# checkout submodules
|
|
git submodule update --init
|
|
|
|
# build binary translation files
|
|
lrelease src/QOwnNotes.pro
|
|
|
|
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 Qt6"' >src/release.h
|
|
|
|
changelogText="Released version $QOWNNOTES_VERSION"
|
|
|
|
echo "Using version $QOWNNOTES_VERSION..."
|
|
|
|
qownnotesSrcDir="qownnotes-qt6_${QOWNNOTES_VERSION}"
|
|
|
|
# copy the src directory
|
|
cp -R src $qownnotesSrcDir
|
|
|
|
# DONE: Remove me after commit
|
|
#cp /QOwnNotes/src/dialogs/evernoteimportdialog.h $qownnotesSrcDir/dialogs
|
|
|
|
# archive the source code
|
|
tar -czf $qownnotesSrcDir.orig.tar.gz $qownnotesSrcDir
|
|
|
|
changelogPath=debian/changelog
|
|
|
|
# check if the signing key is available
|
|
gpg --list-secret-keys
|
|
|
|
# build for every Ubuntu release
|
|
for ubuntuRelease in "${UBUNTU_RELEASES[@]}"; do
|
|
:
|
|
echo "Building for $ubuntuRelease..."
|
|
cd $qownnotesSrcDir || exit 1
|
|
|
|
# get the modified qt6 files in place
|
|
# cp ../ubuntu-launchpad/qt6/* debian
|
|
cp /QOwnNotes/ubuntu-launchpad/qt6/* debian
|
|
|
|
versionPart="$QOWNNOTES_VERSION-1ubuntu3ppa1~${ubuntuRelease}1"
|
|
|
|
# update the changelog file
|
|
#dch -v $versionPart $changelogText
|
|
#dch -r $changelogText
|
|
|
|
# create the changelog file
|
|
echo "qownnotes-qt6 ($versionPart) $ubuntuRelease; urgency=low" >$changelogPath
|
|
echo "" >>$changelogPath
|
|
echo " * $changelogText" >>$changelogPath
|
|
echo "" >>$changelogPath
|
|
echo " -- $DEBFULLNAME <$DEBEMAIL> $DATE" >>$changelogPath
|
|
|
|
# launch debuild
|
|
debuild -S -sa -k$SIGNING_EMAIL $DEBUILD_ARGS
|
|
cd ..
|
|
|
|
# send to launchpad
|
|
if [ "$UPLOAD" = "true" ]; then
|
|
dput ppa:pbek/qownnotes-qt6 qownnotes-qt6_${versionPart}_source.changes
|
|
fi
|
|
done
|
|
|
|
# remove everything after we are done
|
|
if [ -d $PROJECT_PATH ]; then
|
|
rm -rf $PROJECT_PATH
|
|
fi
|