aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Dirk Hohndel <dirk@hohndel.org>2021-05-07 11:48:28 -0700
committerGravatar Dirk Hohndel <dirk@hohndel.org>2021-05-07 12:17:21 -0700
commitfd3ebf9b62c9d0f73a9dd3105bfe5a933f63aabb (patch)
treee54e5d2cf0a8c57138208e8fba8578d491a62e3a
parent312b760c5b189d8171fa3cbbe8dda868cffd546d (diff)
downloadsubsurface-fd3ebf9b62c9d0f73a9dd3105bfe5a933f63aabb.tar.gz
build-system: build for Ubuntu 21.04 / hirsute as well
This release drops the qt5-default package - which really wasn't needed since focal. So just drop it on all of the builds after 18.04 (bionic). Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
-rw-r--r--.github/workflows/linux-focal-5.12.yml2
-rw-r--r--.github/workflows/linux-groovy-5.14.yml2
-rw-r--r--.github/workflows/linux-hirsute-5.15.yml72
-rw-r--r--packaging/ubuntu/make-package.sh12
4 files changed, 84 insertions, 4 deletions
diff --git a/.github/workflows/linux-focal-5.12.yml b/.github/workflows/linux-focal-5.12.yml
index 612e18ebf..e96828b19 100644
--- a/.github/workflows/linux-focal-5.12.yml
+++ b/.github/workflows/linux-focal-5.12.yml
@@ -30,7 +30,7 @@ jobs:
libqt5webkit5-dev libsqlite3-dev libssh2-1-dev libssl-dev libssl-dev \
libtool libusb-1.0-0-dev libxml2-dev libxslt1-dev libzip-dev make \
pkg-config qml-module-qtlocation qml-module-qtpositioning \
- qml-module-qtquick2 qt5-default qt5-qmake qtchooser qtconnectivity5-dev \
+ qml-module-qtquick2 qt5-qmake qtchooser qtconnectivity5-dev \
qtdeclarative5-dev qtdeclarative5-private-dev qtlocation5-dev \
qtpositioning5-dev qtscript5-dev qttools5-dev qttools5-dev-tools \
qtquickcontrols2-5-dev xvfb libbluetooth-dev libmtp-dev
diff --git a/.github/workflows/linux-groovy-5.14.yml b/.github/workflows/linux-groovy-5.14.yml
index 3f1c947ff..17a0ea8d5 100644
--- a/.github/workflows/linux-groovy-5.14.yml
+++ b/.github/workflows/linux-groovy-5.14.yml
@@ -30,7 +30,7 @@ jobs:
libqt5webkit5-dev libsqlite3-dev libssh2-1-dev libssl-dev libssl-dev \
libtool libusb-1.0-0-dev libxml2-dev libxslt1-dev libzip-dev make \
pkg-config qml-module-qtlocation qml-module-qtpositioning \
- qml-module-qtquick2 qt5-default qt5-qmake qtchooser qtconnectivity5-dev \
+ qml-module-qtquick2 qt5-qmake qtchooser qtconnectivity5-dev \
qtdeclarative5-dev qtdeclarative5-private-dev qtlocation5-dev \
qtpositioning5-dev qtscript5-dev qttools5-dev qttools5-dev-tools \
qtquickcontrols2-5-dev xvfb libbluetooth-dev libmtp-dev
diff --git a/.github/workflows/linux-hirsute-5.15.yml b/.github/workflows/linux-hirsute-5.15.yml
new file mode 100644
index 000000000..bebc478ca
--- /dev/null
+++ b/.github/workflows/linux-hirsute-5.15.yml
@@ -0,0 +1,72 @@
+name: Ubuntu 21.04 / Qt 5.15--
+on:
+ push:
+ branches:
+ - master
+ pull_request:
+ branches:
+ - master
+
+jobs:
+ buildUbuntuHirsute:
+ runs-on: ubuntu-latest
+ container:
+ image: ubuntu:21.04
+
+ steps:
+ - name: checkout sources
+ uses: actions/checkout@v1
+
+ - name: get container ready for build
+ run: |
+ echo "--------------------------------------------------------------"
+ echo "update distro and install dependencies"
+
+ apt-get update
+ apt-get upgrade -y
+ DEBIAN_FRONTEND=noninteractive apt-get install -y -q --force-yes \
+ autoconf automake cmake g++ git libcrypto++-dev libcurl4-gnutls-dev \
+ libgit2-dev libqt5qml5 libqt5quick5 libqt5svg5-dev \
+ libqt5webkit5-dev libsqlite3-dev libssh2-1-dev libssl-dev libssl-dev \
+ libtool libusb-1.0-0-dev libxml2-dev libxslt1-dev libzip-dev make \
+ pkg-config qml-module-qtlocation qml-module-qtpositioning \
+ qml-module-qtquick2 qt5-qmake qtchooser qtconnectivity5-dev \
+ qtdeclarative5-dev qtdeclarative5-private-dev qtlocation5-dev \
+ qtpositioning5-dev qtscript5-dev qttools5-dev qttools5-dev-tools \
+ qtquickcontrols2-5-dev xvfb libbluetooth-dev libmtp-dev
+
+ - name: build Subsurface-mobile
+ run: |
+ echo "--------------------------------------------------------------"
+ echo "building mobile"
+ git config --global user.email "ci@subsurface-divelog.org"
+ git config --global user.name "Subsurface CI"
+ cd ..
+ bash -e -x subsurface/scripts/build.sh -mobile
+
+ - name: test mobile build
+ run: |
+ echo "--------------------------------------------------------------"
+ echo "running tests for mobile"
+
+ cd build-mobile/tests
+ # xvfb-run --auto-servernum ./TestGitStorage -v2
+ xvfb-run --auto-servernum make check
+
+ - name: build Subsurface
+ run: |
+ echo "--------------------------------------------------------------"
+ echo "building desktop"
+
+ # now build for the desktop version (including WebKit)
+ cd ..
+ bash -e -x subsurface/scripts/build.sh -desktop -build-with-webkit
+
+ - name: test desktop build
+ run: |
+ echo "--------------------------------------------------------------"
+ echo "running tests for desktop"
+ cd build/tests
+ # xvfb-run --auto-servernum ./TestGitStorage -v2
+ xvfb-run --auto-servernum make check
+
diff --git a/packaging/ubuntu/make-package.sh b/packaging/ubuntu/make-package.sh
index d4e55366c..e05d6fdb3 100644
--- a/packaging/ubuntu/make-package.sh
+++ b/packaging/ubuntu/make-package.sh
@@ -110,15 +110,23 @@ cp debian/changelog ../changelog$SUFFIX
debuild -S -d
-#create builds for the newer Ubuntu releases that Launchpad supports
+# create builds for the newer Ubuntu releases that Launchpad supports
+#
+# the bionic release is the last that needs the qt5-default package for a successful build,
+# and as of hirsute this package no longer exists. So simply remove it from the control
+# file when building the newer ones
+sed -i.bak "/qt5-default/d" debian/control
rel=bionic
-others="focal groovy"
+others="focal groovy hirsute"
for next in $others
do
sed -i "s/${rel}/${next}/g" debian/changelog
debuild -S -d
rel=$next
done
+if [ -f debian/control.bak ] ; then
+ mv debian/control.bak debian/control
+fi
cd ..