From 8423b4ae81a6750b8fbdf2704665fb2fd6cbc386 Mon Sep 17 00:00:00 2001 From: ann0see <20726856+ann0see@users.noreply.github.com> Date: Wed, 2 Mar 2022 20:34:38 +0100 Subject: [PATCH 1/3] Remove flatpak file --- distributions/io.jamulus.Jamulus.json | 51 --------------------------- 1 file changed, 51 deletions(-) delete mode 100644 distributions/io.jamulus.Jamulus.json diff --git a/distributions/io.jamulus.Jamulus.json b/distributions/io.jamulus.Jamulus.json deleted file mode 100644 index 16d931f273..0000000000 --- a/distributions/io.jamulus.Jamulus.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "app-id": "io.jamulus.Jamulus", - "runtime": "org.kde.Platform", - "runtime-version": "5.15", - "sdk": "org.kde.Sdk", - "command": "Jamulus", - "rename-desktop-file": "jamulus.desktop", - "rename-icon": "jamulus", - "finish-args": [ - "--share=ipc", - "--socket=x11", - "--socket=wayland", - "--share=network", - "--filesystem=xdg-run/pipewire-0", - "--socket=system-bus", - "--socket=pulseaudio", - "--device=all" - ], - "modules": [ - { - "name": "jack2", - "buildsystem": "simple", - "build-commands": [ - "./waf configure --prefix=/app --htmldir=/app/share/doc/jack/ --classic", - "./waf build -j $FLATPAK_BUILDER_N_JOBS", - "./waf install" - ], - "sources": [ - { - "type": "archive", - "url": "https://github.com/jackaudio/jack2/archive/v1.9.16.tar.gz", - "sha256": "e176d04de94dcaa3f9d32ca1825091e1b938783a78c84e7466abd06af7637d37" - } - ], - "cleanup": [ - "*" - ] - }, - { - "name": "jamulus", - "buildsystem": "qmake", - "sources": [ - { - "type": "git", - "url": "../", - "branch": "master" - } - ] - } - ] -} From 40ca39234eb2127ee533bab9883fc9a373a84657 Mon Sep 17 00:00:00 2001 From: ann0see <20726856+ann0see@users.noreply.github.com> Date: Wed, 2 Mar 2022 20:33:46 +0100 Subject: [PATCH 2/3] Merge debian control file Fixes: https://github.com/jamulussoftware/jamulus/issues/2430 --- distributions/autobuilddeb/control | 39 ---------------------- distributions/build-debian-package-auto.sh | 5 --- distributions/debian/control | 35 ++++++++++--------- 3 files changed, 19 insertions(+), 60 deletions(-) delete mode 100644 distributions/autobuilddeb/control diff --git a/distributions/autobuilddeb/control b/distributions/autobuilddeb/control deleted file mode 100644 index 0bfe38c857..0000000000 --- a/distributions/autobuilddeb/control +++ /dev/null @@ -1,39 +0,0 @@ -Source: jamulus -Section: sound -Priority: optional -Maintainer: "The Jamulus Development Team" -Build-Depends: - debhelper (>= 9), - libjack-jackd2-dev, - qtbase5-dev, - qttools5-dev-tools, -Standards-Version: é&%JAMVERSION%&è -Homepage: https://jamulus.io -Vcs-Git: git://github.com/jamulussoftware/jamulus.git -Vcs-Browser: https://github.com/jamulussoftware/jamulus - -Package: jamulus -Architecture: any -Depends: libc6 (>= 2.17), libgcc1 (>= 1:3.0), libjack-jackd2-0 (>= 1.9.5~dfsg-14) | libjack-0.116, libqt5core5a (>= 5.5.0), libqt5gui5 (>= 5.0.2) | libqt5gui5-gles (>= 5.0.2), libqt5network5 (>= 5.0.2), libqt5widgets5 (>= 5.2.0), libqt5xml5 (>= 5.0.2), libstdc++6 (>= 5.2) -Recommends: qjackctl -Description: Low latency Audio Server/Client - The Jamulus software enables musicians to perform real-time jam sessions over - the internet. There is one server running the Jamulus server software which - collects the audio data from each Jamulus client, mixes the audio data and - sends the mix back to each client. - . - It runs on Windows / macOS / Linux. - -Package: jamulus-headless -Architecture: any -Depends: libqt5core5a (>= 5.5.0), libqt5network5 (>= 5.0.2), libqt5xml5 (>= 5.0.2) -Description: Low latency Audio Server (headless) - The Jamulus software enables musicians to perform real-time jam sessions over - the internet. There is one server running the Jamulus server software which - collects the audio data from each Jamulus client, mixes the audio data and - sends the mix back to each client. - . - It runs on Windows / macOS / Linux. - . - This package contains a Jamulus binary built for headless operation - (without GUI library dependencies) and a jamulus-headless systemd service. diff --git a/distributions/build-debian-package-auto.sh b/distributions/build-debian-package-auto.sh index a27b2fa650..1493da7ed8 100755 --- a/distributions/build-debian-package-auto.sh +++ b/distributions/build-debian-package-auto.sh @@ -21,11 +21,6 @@ do done echo -echo "Copying modified control file for proper dependencies/maintainer logic" -cp distributions/autobuilddeb/control debian/control - echo "${VERSION} building..." -sed -i "s/é&%JAMVERSION%&è/${VERSION}/g" debian/control - debuild --preserve-env -b -us -uc diff --git a/distributions/debian/control b/distributions/debian/control index d3ae73cbe1..c3148e33e0 100644 --- a/distributions/debian/control +++ b/distributions/debian/control @@ -1,7 +1,7 @@ Source: jamulus Section: sound Priority: optional -Maintainer: "Marc Landolt jr" +Maintainer: "The Jamulus Development Team" Build-Depends: debhelper (>= 9), libjack-jackd2-dev, @@ -14,30 +14,33 @@ Vcs-Browser: https://github.com/jamulussoftware/jamulus Package: jamulus Architecture: any -Depends: - ${shlibs:Depends}, - ${misc:Depends}, +# Define dependencies explicitly for the best compatibility across all supported Ubuntu/Debian versions. +# The automatism would otherwise select package names or versions which are not available on some systems, +# especially when run in the Github Ubuntu 18.04 build environment. +Depends: libc6 (>= 2.17), libgcc1 (>= 1:3.0), libjack-jackd2-0 (>= 1.9.5~dfsg-14) | libjack-0.116, libqt5core5a (>= 5.5.0), libqt5gui5 (>= 5.0.2) | libqt5gui5-gles (>= 5.0.2), libqt5network5 (>= 5.0.2), libqt5widgets5 (>= 5.2.0), libqt5xml5 (>= 5.0.2), libstdc++6 (>= 5.2) +Recommends: qjackctl Description: Low latency Audio Server/Client - The Jamulus software enables musicians to perform real-time jam sessions over - the internet. There is one server running the Jamulus server software which + Jamulus is for playing, rehearsing, or just jamming with your friends, your band + or just anyone you find online. With high quality, low-latency sound on a normal + broadband connection, it's easy to play together remotely and in time. + There is one server running the Jamulus server software which collects the audio data from each Jamulus client, mixes the audio data and sends the mix back to each client. . - It runs on Windows / OSX / Linux. + It runs on all major operating systems. Package: jamulus-headless Architecture: any -Depends: - ${shlibs:Depends}, - ${misc:Depends}, - adduser, +Depends: libqt5core5a (>= 5.5.0), libqt5network5 (>= 5.0.2), libqt5xml5 (>= 5.0.2) Description: Low latency Audio Server (headless) - The Jamulus software enables musicians to perform real-time jam sessions over - the internet. There is one server running the Jamulus server software which + This package contains a Jamulus binary built for headless operation + (without GUI library dependencies) and a jamulus-headless systemd service. + Jamulus is for playing, rehearsing, or just jamming with your friends, your band + or just anyone you find online. With high quality, low-latency sound on a normal + broadband connection, it's easy to play together remotely and in time. + There is one server running the Jamulus server software which collects the audio data from each Jamulus client, mixes the audio data and sends the mix back to each client. . - It runs on Windows / OSX / Linux. + It runs on all major operating systems. . - This package contains a Jamulus binary built for headless operation - (without GUI library dependencies) and a jamulus-headless systemd service. From a6312a31d7ad3f9147ae9046fad648c08b4fe414 Mon Sep 17 00:00:00 2001 From: ann0see <20726856+ann0see@users.noreply.github.com> Date: Wed, 2 Mar 2022 21:37:04 +0100 Subject: [PATCH 3/3] Move and rename debian build script --- autobuild/linux/autobuild_deb_2_build.sh | 4 ++-- distributions/build-debian-package.sh | 19 ------------------- .../deploy_deb.sh | 3 +-- 3 files changed, 3 insertions(+), 23 deletions(-) delete mode 100755 distributions/build-debian-package.sh rename distributions/build-debian-package-auto.sh => linux/deploy_deb.sh (95%) mode change 100755 => 100644 diff --git a/autobuild/linux/autobuild_deb_2_build.sh b/autobuild/linux/autobuild_deb_2_build.sh index 1a6c0e3bf7..f065da6f26 100755 --- a/autobuild/linux/autobuild_deb_2_build.sh +++ b/autobuild/linux/autobuild_deb_2_build.sh @@ -13,6 +13,6 @@ source $(dirname $(readlink -f "${BASH_SOURCE[0]}"))/../ensure_THIS_JAMULUS_PROJ ### PROCEDURE ### ################### -cd "${THIS_JAMULUS_PROJECT_PATH}"/distributions +cd "${THIS_JAMULUS_PROJECT_PATH}" -sh ./build-debian-package-auto.sh +sh ./linux/deploy_deb.sh diff --git a/distributions/build-debian-package.sh b/distributions/build-debian-package.sh deleted file mode 100755 index 98e6f4c363..0000000000 --- a/distributions/build-debian-package.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -e - -red="\033[91m" -default="\033[39m" - -echo It can be preferential to build the binary packages on a Ubuntu 16.04 -echo system since there are no specific library version dependencies.The -echo resulting packages will run on Ubuntu 17/18/19/20 or Debian 9/10. -echo -echo ${red}Press [ENTER] to continue or [CTRL]-C to abort${default} -read dummy - -sudo apt-get install devscripts build-essential \ - debhelper libjack-jackd2-dev qtbase5-dev qttools5-dev-tools - -mv debian .. -cd .. -debuild -b -us -uc -mv debian distributions diff --git a/distributions/build-debian-package-auto.sh b/linux/deploy_deb.sh old mode 100755 new mode 100644 similarity index 95% rename from distributions/build-debian-package-auto.sh rename to linux/deploy_deb.sh index 1493da7ed8..7a4f12a59a --- a/distributions/build-debian-package-auto.sh +++ b/linux/deploy_deb.sh @@ -2,8 +2,7 @@ # Create deb files -cp -r debian .. -cd .. +cp -r distributions/debian . # get the jamulus version from pro file VERSION=$(grep -oP 'VERSION = \K\w[^\s\\]*' Jamulus.pro)