diff options
author | Dirk Hohndel <dirk@hohndel.org> | 2021-05-07 11:48:28 -0700 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2021-05-07 12:17:21 -0700 |
commit | fd3ebf9b62c9d0f73a9dd3105bfe5a933f63aabb (patch) | |
tree | e54e5d2cf0a8c57138208e8fba8578d491a62e3a | |
parent | 312b760c5b189d8171fa3cbbe8dda868cffd546d (diff) | |
download | subsurface-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.yml | 2 | ||||
-rw-r--r-- | .github/workflows/linux-groovy-5.14.yml | 2 | ||||
-rw-r--r-- | .github/workflows/linux-hirsute-5.15.yml | 72 | ||||
-rw-r--r-- | packaging/ubuntu/make-package.sh | 12 |
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 .. |