QOwnNotes/build-systems/build-all.sh
Patrizio Bekerle 87458992f6 #3267 release: add new packaging process for Debian with cmake and Qt6
Signed-off-by: Patrizio Bekerle <patrizio@bekerle.com>
2025-05-04 18:14:46 +02:00

116 lines
3.4 KiB
Bash
Executable file

#!/usr/bin/bash
#
# Runs all build scripts in tmux panes
#
# This is used inside the release docker container
if [ "$1" = "--docker" ]; then
echo "Importing PGP key..."
gpg --import ~/private.pgp
echo "Adding AUR ssh key..."
eval $(ssh-agent -s)
ssh-add ~/.ssh/aur_rsa
fi
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
echo "Upload source archive to GitHub release..."
# Upload source archive to GitHub release
"$DIR/github/build-github-src.sh"
# check if exit code was 0
rc=$?
if [[ $rc != 0 ]]; then exit $rc; fi
# Upload source archive to SourceForge
#$DIR/sourceforge/build-sourceforge-src.sh
echo "Starting the deployment process for all platforms..."
# lets wait a bit to make sure SourceForce has their files in place
#sleep 3
cd "$DIR" || exit 1
# kill the previous session
zellij delete-session deploy-qownnotes
# start a new deployment session with all deployment scripts from releaser.kdl
zellij --layout releaser.kdl attach deploy-qownnotes -c
exit
# fallback if zellij doesn't work
../ubuntu-launchpad/build-for-launchpad.sh
../ubuntu-launchpad/build-for-launchpad-qt6.sh
../obs/build-for-obs.sh
aur/build-for-aur.sh
gentoo/build-for-gentoo.sh
slackware/build-for-slackware.sh
snap/build-for-launchpad-snap.sh
obs/cmake-qt6/build-for-obs.sh
exit
#
# this was the previous konsole tabs implementation
#
# List of commands to run, with parameters, in quotes, space-separated; do not use quotes inside (see bash arrays)
COMMANDS=("$DIR/../ubuntu-launchpad/build-for-launchpad.sh" "$DIR/../obs/build-for-obs.sh" "$DIR/aur/build-for-aur.sh" "$DIR/gentoo/build-for-gentoo.sh" "$DIR/slackware/build-for-slackware.sh" "$DIR/snap/build-for-launchpad-snap.sh" "$DIR/obs/cmake-qt6/build-for-obs.sh")
# "$DIR/snap/build-for-local-snap.sh"
# KDS=$KONSOLE_DBUS_SERVICE # This is the ref of the current konsole and only works in a konsole
# KDS=$(org.kde.konsole) # This is found in some examples but is incomplete
qdbus >/tmp/q0 # Get the current list of konsoles
/usr/bin/konsole & # Launch a new konsole
# PID=$! # And get its PID - But for some reason this is off by a few
sleep 1
qdbus >/tmp/q1 # Get the new list of konsoles
# KDS=org.kde.konsole-$PID
# KDS=org.kde.konsole # Sometimes
KDS=$(diff /tmp/q{0,1} | grep konsole) # Let's hope there's only one
#echo $KDS
KDS=${KDS:3}
echo "$KDS"
echo $KDS >/tmp/KDS
echo >>/tmp/KDS
qdbus "$KDS" >>/tmp/KDS || exit
echo >>/tmp/KDS
# See note https://docs.kde.org/trunk5/en/applications/konsole/scripting.html about using /Konsole
qdbus $KDS /Windows/1 >>/tmp/KDS
echo >>/tmp/KDS
FirstTime=1
for i in "${COMMANDS[@]}"; do
echo "Starting: $i"
echo >>/tmp/KDS
if [ $FirstTime -eq 1 ]; then
session=$(qdbus $KDS /Windows/1 currentSession)
FirstTime=0
else
session=$(qdbus $KDS /Windows/1 newSession)
fi
echo $session >>/tmp/KDS
# Test: Display possible actions
qdbus $KDS /Sessions/${session} >>/tmp/KDS
# Doesn't work well, maybe use setTabTitleFormat 0/1 instead
# Title "0" appears to be the initial title, title "1" is the title used after commands are executed.
#qdbus $KDS /Sessions/${session} setTitle 0 $i
#qdbus $KDS /Sessions/${session} setTitle 1 $i
# The line break is necessary to commit the command. \n doesn't work
qdbus $KDS /Sessions/${session} sendText "${i}
"
# Optional: will ping when there's no more output in the window
qdbus $KDS /Sessions/${session} setMonitorSilence true
done