From da6ffc39733e038bf1cc6bbeef26fce7c0eedca2 Mon Sep 17 00:00:00 2001 From: Martin Pulec Date: Thu, 12 Oct 2023 08:42:36 +0200 Subject: [PATCH] CI ARM: Buster armhf compatibility Allow 32-bit builds on Buster. This has some advantages regarding supported HW accelerations in UltraGrid, eg. h264_omx is not supported in higher versions of the system. It is not enabled by default but can be enabled easily by switching the value in YAML file. refers to GH-344 --- .github/scripts/Linux/arm/bootstrap.sh | 12 ++++++++++-- .github/workflows/arm-build.yml | 4 +++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/.github/scripts/Linux/arm/bootstrap.sh b/.github/scripts/Linux/arm/bootstrap.sh index 86dfa99dc..1a210a3fe 100755 --- a/.github/scripts/Linux/arm/bootstrap.sh +++ b/.github/scripts/Linux/arm/bootstrap.sh @@ -1,6 +1,7 @@ #!/bin/sh -exu -readonly debver=bullseye +debver=$(. /etc/os-release; echo "$VERSION_CODENAME") +readonly debver apt -y install curl gnupg echo -k > ~/.curlrc @@ -20,7 +21,14 @@ http://archive.raspberrypi.org/debian $debver main EOF apt -y update -apt -y install autoconf automake build-essential cmake git pkg-config libtool sudo +if [ "$debver" = buster ]; then + # 3.16 in the added repository is broken with chrooted qemu-user-static + apt -y install cmake=3.13.4-1 cmake-data=3.13.4-1 +else + apt -y install cmake +fi + +apt -y install autoconf automake build-essential git pkg-config libtool sudo apt -y install libcurl4-openssl-dev libsoxr-dev libspeexdsp-dev libssl-dev apt -y install libasound2-dev portaudio19-dev libjack-dev apt -y install libglew-dev libglfw3-dev libglm-dev diff --git a/.github/workflows/arm-build.yml b/.github/workflows/arm-build.yml index cda17b51c..a8143ff94 100644 --- a/.github/workflows/arm-build.yml +++ b/.github/workflows/arm-build.yml @@ -20,10 +20,12 @@ jobs: repo: http://mirrordirector.raspbian.org/raspbian/ keyring: /etc/apt/trusted.gpg qemu_bin_arch: arm + deb_release: bullseye - arch: arm64 repo: https://deb.debian.org/debian keyring: /usr/share/keyrings/debian-archive-keyring.gpg qemu_bin_arch: aarch64 + deb_release: bullseye steps: - uses: actions/checkout@v3 @@ -60,7 +62,7 @@ jobs: sudo mkdir -p ~/chroot/var/tmp sudo mv /var/tmp/*NDI* ~/chroot/var/tmp wget http://archive.raspbian.org/raspbian.public.key -O - | sudo apt-key add -q - sudo debootstrap --keyring=${{ matrix.keyring }} --arch ${{ matrix.arch }} bullseye ~/chroot ${{ matrix.repo }} + sudo debootstrap --keyring=${{ matrix.keyring }} --arch ${{ matrix.arch }} ${{ matrix.deb_release }} ~/chroot ${{ matrix.repo }} sudo cp -r $GITHUB_WORKSPACE/.github ~/chroot sudo cp /usr/bin/qemu-${{ matrix.qemu_bin_arch }}-static ~/chroot/usr/bin sudo chroot ~/chroot /.github/scripts/Linux/arm/bootstrap.sh ${{ matrix.arch }}