From 1ecaa22721e0b2f91c1afcb4ede1fc4d374e64bc Mon Sep 17 00:00:00 2001 From: Jon Beniston Date: Fri, 1 Nov 2024 17:42:11 +0000 Subject: [PATCH 1/9] Trial .deb build --- .github/workflows/linux.yml | 62 +++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 .github/workflows/linux.yml diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml new file mode 100644 index 000000000..de24e3247 --- /dev/null +++ b/.github/workflows/linux.yml @@ -0,0 +1,62 @@ +name: SDRangel Linux release build + +on: + push: + branches: + - linux_github_release + tags: + - 'v*' + +jobs: + build_deb: + runs-on: ubuntu-24.04 + steps: + - uses: actions/checkout@v4 + with: + submodules: true + fetch-depth: 0 + + - name: Install dependencies + run: | + sudo apt-get update + sudo apt-get -y install build-essential cmake git xxd \ + devscripts fakeroot debhelper libfftw3-dev qtbase5-dev libopengl-dev libqt5opengl5-dev \ + qttools5-dev qttools5-dev-tools qtmultimedia5-dev libqt5multimedia5-plugins libqt5websockets5-dev \ + libqt5quick5 qtwebengine5-dev qtbase5-private-dev \ + qml-module-qtlocation qml-module-qtpositioning qml-module-qtquick-window2 qml-module-qtquick-dialogs \ + qml-module-qtquick-controls qml-module-qtquick-controls2 qml-module-qtquick-layouts qml-module-qtgraphicaleffects \ + libqt5serialport5-dev qtdeclarative5-dev qtpositioning5-dev qtlocation5-dev \ + libqt5charts5-dev libqt5texttospeech5-dev libqt5gamepad5-dev libqt5svg5-dev libfaad-dev libflac-dev zlib1g-dev \ + libusb-1.0-0-dev libhidapi-dev libboost-all-dev libasound2-dev libopencv-dev libopencv-imgcodecs-dev \ + libxml2-dev bison flex ffmpeg libpostproc-dev libavcodec-dev libavformat-dev \ + libopus-dev libcodec2-dev libairspy-dev libhackrf-dev \ + libbladerf-dev libsoapysdr-dev libiio-dev libuhd-dev libhamlib-dev \ + python3-mako python3-cheetah python3-numpy \ + autoconf automake libtool ninja-build libclang1-11 + bash cmake/ci/build_sdrplay.sh + - name: Build SDRangel + run: | + debuild -i -us -uc -b + find . | grep .deb + find .. | grep .deb + - name: Get version + id: get_version + run: | + if [[ "${{github.ref_name}}" == "linux_github_release" ]]; then + echo "version=${{github.sha}}" >> $GITHUB_OUTPUT + else + echo "version=$(echo ${{github.ref_name}} | cut -c2-)" >> $GITHUB_OUTPUT + fi + - name: Get filename + id: get_filename + run: echo "filename=$(grep CPACK_PACKAGE_FILE_NAME build/CMakeCache.txt | cut -d "=" -f2)" >> $GITHUB_OUTPUT + - name: Upload artifact + uses: actions/upload-artifact@v3 + with: + name: sdrangel-${{ steps.get_version.outputs.version }}-deb + path: ${{ github.workspace }}/build/${{ steps.get_filename.outputs.filename }}.deb + - name: Upload release + if: startsWith(github.ref, 'refs/tags/') + uses: softprops/action-gh-release@v2 + with: + files: ${{ github.workspace }}/build/${{ steps.get_filename.outputs.filename }}.deb From dc330b7d5b383ae626f0318a554c4e5fc85f5a97 Mon Sep 17 00:00:00 2001 From: Jon Beniston Date: Fri, 1 Nov 2024 17:47:33 +0000 Subject: [PATCH 2/9] Remove libclang1-11 --- .github/workflows/linux.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index de24e3247..64c88ccde 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -32,7 +32,7 @@ jobs: libopus-dev libcodec2-dev libairspy-dev libhackrf-dev \ libbladerf-dev libsoapysdr-dev libiio-dev libuhd-dev libhamlib-dev \ python3-mako python3-cheetah python3-numpy \ - autoconf automake libtool ninja-build libclang1-11 + autoconf automake libtool ninja-build bash cmake/ci/build_sdrplay.sh - name: Build SDRangel run: | From e6e6084e1cf1489660bb9c0c2e827abf37212853 Mon Sep 17 00:00:00 2001 From: Jon Beniston Date: Fri, 1 Nov 2024 18:01:19 +0000 Subject: [PATCH 3/9] Try ubuntu-22.04 --- .github/workflows/linux.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 64c88ccde..1c9156cab 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -9,7 +9,7 @@ on: jobs: build_deb: - runs-on: ubuntu-24.04 + runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 with: From 8c7e650f8f8a0544f960481cb349968a8bcf1149 Mon Sep 17 00:00:00 2001 From: Jon Beniston Date: Fri, 1 Nov 2024 18:57:37 +0000 Subject: [PATCH 4/9] Update limesuite to v23.11.0 to see if it builds on ubuntu-24.04 --- external/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/external/CMakeLists.txt b/external/CMakeLists.txt index 137e77f26..5faad9a11 100644 --- a/external/CMakeLists.txt +++ b/external/CMakeLists.txt @@ -13,7 +13,7 @@ set(CM256CC_TAG c0e92b92aca3d1d36c990b642b937c64d363c559) set(MBELIB_TAG fe83b32c6a60cdd7bce8cecf3c7a0b9ec87a7667) set(SERIALDV_TAG "v1.1.4") set(DSDCC_TAG "v1.9.5") -set(LIMESUITE_TAG 70e3859a55d8d5353963a5318013c8454594769f) +set(LIMESUITE_TAG "v23.11.0") set(BLADERF_TAG "2021.02") set(LIBIIO_TAG 826563e41b5ce9890b75506f672017de8d76d52d) set(AIRSPYHF_TAG "1af81c0ca18944b8c9897c3c98dc0a991815b686") From bd8853f2e9397673fdf1a997d96e73d62dd96bcd Mon Sep 17 00:00:00 2001 From: Jon Beniston Date: Fri, 1 Nov 2024 18:58:26 +0000 Subject: [PATCH 5/9] Build for both ubuntu-22.04 and ubuntu-24.04 --- .github/workflows/linux.yml | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 1c9156cab..d5860e358 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -9,13 +9,15 @@ on: jobs: build_deb: - runs-on: ubuntu-22.04 + strategy: + matrix: + os: [ubuntu-22.04, ubuntu-24.04] + runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 with: submodules: true fetch-depth: 0 - - name: Install dependencies run: | sudo apt-get update @@ -37,8 +39,6 @@ jobs: - name: Build SDRangel run: | debuild -i -us -uc -b - find . | grep .deb - find .. | grep .deb - name: Get version id: get_version run: | @@ -47,16 +47,15 @@ jobs: else echo "version=$(echo ${{github.ref_name}} | cut -c2-)" >> $GITHUB_OUTPUT fi - - name: Get filename - id: get_filename - run: echo "filename=$(grep CPACK_PACKAGE_FILE_NAME build/CMakeCache.txt | cut -d "=" -f2)" >> $GITHUB_OUTPUT + - name: Rename + run: mv ../sdrangel_*_amd64.deb ../sdrangel_${{ steps.get_version.outputs.version }}_${{ matrix.os }}_amd64.deb - name: Upload artifact uses: actions/upload-artifact@v3 with: - name: sdrangel-${{ steps.get_version.outputs.version }}-deb - path: ${{ github.workspace }}/build/${{ steps.get_filename.outputs.filename }}.deb + name: sdrangel_${{ steps.get_version.outputs.version }}_${{ matrix.os }}_amd64.deb + path: ../sdrangel_${{ steps.get_version.outputs.version }}_${{ matrix.os }}_amd64.deb - name: Upload release if: startsWith(github.ref, 'refs/tags/') uses: softprops/action-gh-release@v2 with: - files: ${{ github.workspace }}/build/${{ steps.get_filename.outputs.filename }}.deb + files: ../sdrangel_${{ steps.get_version.outputs.version }}_${{ matrix.os }}_amd64.deb From 8f030d9ea5939d3892b9e4723f27b65c7da84460 Mon Sep 17 00:00:00 2001 From: Jon Beniston Date: Fri, 1 Nov 2024 19:57:29 +0000 Subject: [PATCH 6/9] Upload artifact doesn't like relative paths. --- .github/workflows/linux.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index d5860e358..57611c4ae 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -48,14 +48,14 @@ jobs: echo "version=$(echo ${{github.ref_name}} | cut -c2-)" >> $GITHUB_OUTPUT fi - name: Rename - run: mv ../sdrangel_*_amd64.deb ../sdrangel_${{ steps.get_version.outputs.version }}_${{ matrix.os }}_amd64.deb + run: mv ../sdrangel_*_amd64.deb sdrangel_${{ steps.get_version.outputs.version }}_${{ matrix.os }}_amd64.deb - name: Upload artifact uses: actions/upload-artifact@v3 with: name: sdrangel_${{ steps.get_version.outputs.version }}_${{ matrix.os }}_amd64.deb - path: ../sdrangel_${{ steps.get_version.outputs.version }}_${{ matrix.os }}_amd64.deb + path: sdrangel_${{ steps.get_version.outputs.version }}_${{ matrix.os }}_amd64.deb - name: Upload release if: startsWith(github.ref, 'refs/tags/') uses: softprops/action-gh-release@v2 with: - files: ../sdrangel_${{ steps.get_version.outputs.version }}_${{ matrix.os }}_amd64.deb + files: sdrangel_${{ steps.get_version.outputs.version }}_${{ matrix.os }}_amd64.deb From 00df25ff6364d5717261be1e6330f6da75f3ca6d Mon Sep 17 00:00:00 2001 From: Jon Beniston Date: Fri, 1 Nov 2024 21:31:45 +0000 Subject: [PATCH 7/9] Try ubuntu-20.04 --- .github/workflows/linux.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 57611c4ae..ac9478df6 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -10,8 +10,9 @@ on: jobs: build_deb: strategy: + fail-fast: false matrix: - os: [ubuntu-22.04, ubuntu-24.04] + os: [ubuntu-20.04, ubuntu-22.04, ubuntu-24.04] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 @@ -43,7 +44,7 @@ jobs: id: get_version run: | if [[ "${{github.ref_name}}" == "linux_github_release" ]]; then - echo "version=${{github.sha}}" >> $GITHUB_OUTPUT + echo "version=$(echo ${{github.sha}} | cut -c1-7)" >> $GITHUB_OUTPUT else echo "version=$(echo ${{github.ref_name}} | cut -c2-)" >> $GITHUB_OUTPUT fi From c72a72b3f82e57901d16b40471eef8eb6d952eca Mon Sep 17 00:00:00 2001 From: Jon Beniston Date: Fri, 1 Nov 2024 22:01:42 +0000 Subject: [PATCH 8/9] ubuntu-20.04 doesn't support required version of cmake --- .github/workflows/linux.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index ac9478df6..40507a6d5 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -12,7 +12,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-20.04, ubuntu-22.04, ubuntu-24.04] + os: [ubuntu-22.04, ubuntu-24.04] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 From feabcef336f70546ca6584ec9537587542d2810d Mon Sep 17 00:00:00 2001 From: Jon Beniston Date: Sat, 2 Nov 2024 08:56:21 +0000 Subject: [PATCH 9/9] libgl1-mesa-glx replaced by libgl1 and libglx-mesa0, --- debian/control | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/debian/control b/debian/control index 2498d2c48..2437810a8 100644 --- a/debian/control +++ b/debian/control @@ -63,7 +63,8 @@ Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, libasound2, - libgl1-mesa-glx, + libgl1, + libglx-mesa0, libqt5multimedia5-plugins, libqt5gamepad5, libqt5svg5,