Skip to content

Commit db69591

Browse files
authored
Merge pull request #3229 from softins/build-on-ubuntu-20
2 parents cf5bcd9 + 6a9e0a5 commit db69591

5 files changed

Lines changed: 22 additions & 12 deletions

File tree

.github/autobuild/linux_deb.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ setup_cross_compiler() {
7575
if [[ "${TARGET_ARCH}" == amd64 ]]; then
7676
return
7777
fi
78-
local GCC_VERSION=7 # 7 is the default on 18.04, there is no reason not to update once 18.04 is out of support
78+
local GCC_VERSION=9 # 9 is the default on 20.04, there is no reason not to update once 20.04 is out of support
7979
sudo apt install -qq -y --no-install-recommends "g++-${GCC_VERSION}-${ABI_NAME}" "qt5-qmake:${TARGET_ARCH}" "qtbase5-dev:${TARGET_ARCH}" "libjack-jackd2-dev:${TARGET_ARCH}" "qtmultimedia5-dev:${TARGET_ARCH}"
8080
sudo update-alternatives --install "/usr/bin/${ABI_NAME}-g++" g++ "/usr/bin/${ABI_NAME}-g++-${GCC_VERSION}" 10
8181
sudo update-alternatives --install "/usr/bin/${ABI_NAME}-gcc" gcc "/usr/bin/${ABI_NAME}-gcc-${GCC_VERSION}" 10

.github/workflows/autobuild.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -205,22 +205,22 @@ jobs:
205205
- config_name: Linux .deb amd64 (artifacts+codeQL)
206206
target_os: linux
207207
building_on_os: ubuntu-22.04
208-
building_container: ubuntu:18.04
208+
building_container: ubuntu:20.04
209209
base_command: ./.github/autobuild/linux_deb.sh
210210
run_codeql: true
211211
is_main_build_target: true
212212

213213
- config_name: Linux .deb armhf (artifacts)
214214
target_os: linux
215215
building_on_os: ubuntu-22.04
216-
building_container: ubuntu:18.04
216+
building_container: ubuntu:20.04
217217
base_command: TARGET_ARCH=armhf ./.github/autobuild/linux_deb.sh
218218
run_codeql: false
219219

220220
- config_name: Linux .deb arm64 (artifacts)
221221
target_os: linux
222222
building_on_os: ubuntu-22.04
223-
building_container: ubuntu:18.04
223+
building_container: ubuntu:20.04
224224
base_command: TARGET_ARCH=arm64 ./.github/autobuild/linux_deb.sh
225225
run_codeql: false
226226

@@ -293,7 +293,7 @@ jobs:
293293
xcode-version: ${{ matrix.config.xcode_version }}
294294

295295
- name: Set up base dependencies in container environment
296-
if: matrix.config.building_container == 'ubuntu:18.04'
296+
if: matrix.config.building_container == 'ubuntu:20.04'
297297
run: |
298298
set -eu
299299
apt-get -qq update

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ We support the following platforms and versions:
6060

6161
- **Windows 10** or later
6262
- **macOS 10.10** or later
63-
- **Ubuntu 18.04** or later, **Debian 10** or later, most Linux flavors with recent enough Qt versions
63+
- **Ubuntu 20.04** or later, **Debian 11** or later, most Linux flavors with recent enough Qt versions. (Currently, it may still build on Ubuntu 18.04 and Debian 10, but the binaries built by Github will not run on those versions)
6464

6565
_While Android and iOS aren't officially supported, please don't break their builds._
6666

linux/debian/control

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,9 @@ Vcs-Browser: https://github.com/jamulussoftware/jamulus
1414

1515
Package: jamulus
1616
Architecture: any
17-
# Define dependencies explicitly for the best compatibility across all supported Ubuntu/Debian versions.
18-
# The automatism would otherwise select package names or versions which are not available on some systems,
19-
# especially when run in the Github Ubuntu 18.04 build environment.
20-
Depends: libc6 (>= 2.17), libstdc++6 (>= 5.2), libgcc1 (>= 1:3.0), libjack-jackd2-0 (>= 1.9.5~dfsg-14) | libjack-0.116, libqt5core5a (>= 5.9.5), libqt5network5 (>= 5.9.5), libqt5xml5 (>= 5.9.5), libqt5gui5 (>= 5.9.5) | libqt5gui5-gles (>= 5.9.5), libqt5widgets5 (>= 5.9.5), libqt5multimedia5 (>= 5.9.5)
17+
Depends:
18+
${shlibs:Depends},
19+
${misc:Depends},
2120
Recommends: qjackctl
2221
Description: Low latency Audio Server/Client
2322
Jamulus is for playing, rehearsing, or just jamming with your friends, your band
@@ -31,7 +30,10 @@ Description: Low latency Audio Server/Client
3130

3231
Package: jamulus-headless
3332
Architecture: any
34-
Depends: libc6 (>= 2.17), libstdc++6 (>= 5.2), libgcc1 (>= 1:3.0), libqt5core5a (>= 5.9.5), libqt5network5 (>= 5.9.5), libqt5xml5 (>= 5.9.5)
33+
Depends:
34+
${shlibs:Depends},
35+
${misc:Depends},
36+
adduser,
3537
Description: Low latency Audio Server (headless)
3638
This package contains a Jamulus binary built for headless operation
3739
(without GUI library dependencies) and a jamulus-headless systemd service.

linux/debian/rules

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,18 @@ DEB_TARGET_GNU_TYPE := $(shell dpkg-architecture -qDEB_TARGET_GNU_TYPE)
55
DEB_HOST_GNU_TYPE := $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
66
DEB_BUILD_GNU_TYPE := $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
77

8+
# DEB_BUILD_GNU_TYPE is the system running the build (this system)
9+
# DEB_HOST_GNU_TYPE is the system jamulus is being built for (the target)
10+
# DEB_TARGET_GNU_TYPE is only relevant when building cross-compilers
11+
$(info DEB_BUILD_GNU_TYPE=$(DEB_BUILD_GNU_TYPE) DEB_HOST_GNU_TYPE=$(DEB_HOST_GNU_TYPE) DEB_TARGET_GNU_TYPE=$(DEB_TARGET_GNU_TYPE))
12+
813
ifeq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE))
914
QMAKE := qmake
1015
else
11-
QMAKE := "/usr/lib/$(DEB_BUILD_GNU_TYPE)/qt5/bin/qmake" -qtconf "/usr/lib/$(DEB_TARGET_GNU_TYPE)/qt5/qt.conf" -spec "/usr/lib/$(DEB_TARGET_GNU_TYPE)/qt5/mkspecs/$(DEB_TARGET_GNU_TYPE)-g++" LIBS+="-lstdc++ -lm"
16+
# For an unknown reason, when called from this makefile in Ubuntu 20.04,
17+
# qmake needs an option between qmake and -qtconf, else it gives an error.
18+
# We use -makefile, which is the default mode anyway, and this avoids the issue.
19+
QMAKE := qmake -makefile -qtconf "/usr/lib/$(DEB_HOST_GNU_TYPE)/qt5/qt.conf" -spec "/usr/lib/$(DEB_HOST_GNU_TYPE)/qt5/mkspecs/$(DEB_HOST_GNU_TYPE)-g++" LIBS+="-lstdc++ -lm"
1220
endif
1321

1422
%:

0 commit comments

Comments
 (0)