diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0f15b674..d72a72dc 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -22,7 +22,7 @@ jobs: matrix: kernel_flavor: [main, asus, 6.7.9-204.fsync, surface] cfile_suffix: [common, nvidia] - major_version: [38, 39] + major_version: [38, 39, 40] nvidia_version: [0, 470, 550] exclude: - cfile_suffix: common @@ -37,6 +37,11 @@ jobs: major_version: 38 - kernel_flavor: surface nvidia_version: 470 + - major_version: 40 + nvidia_version: 470 # rpmfusion packages nvidia 470 for F40 but won't compile yet. + - major_version: 40 + kernel_flavor: 6.7.9-204.fsync # kernel-fsync packages are not being built for F40 yet. + steps: # Checkout push-to-registry action GitHub repository - name: Checkout Push to Registry action @@ -45,7 +50,8 @@ jobs: - name: Matrix Variables shell: bash run: | - if [[ "${{ matrix.major_version }}" -ge "40" ]]; then + if [[ "${{ matrix.major_version }}" -ge "41" ]]; then + # when we are confident of official fedora images we can switch to them echo "SOURCE_IMAGE=fedora-silverblue" >> $GITHUB_ENV echo "SOURCE_ORG=fedora" >> $GITHUB_ENV else diff --git a/Containerfile.common b/Containerfile.common index 989ba64d..53aa8d9c 100644 --- a/Containerfile.common +++ b/Containerfile.common @@ -21,14 +21,13 @@ COPY ublue-os-akmods-addons.spec /tmp/ublue-os-akmods-addons/ublue-os-akmods-add ADD https://copr.fedorainfracloud.org/coprs/ublue-os/akmods/repo/fedora-${FEDORA_MAJOR_VERSION}/ublue-os-akmods-fedora-${FEDORA_MAJOR_VERSION}.repo \ /tmp/ublue-os-akmods-addons/rpmbuild/SOURCES/_copr_ublue-os-akmods.repo ADD https://negativo17.org/repos/fedora-multimedia.repo \ - /tmp/ublue-os-akmods-addons/rpmbuild/SOURCES/negativo17-fedora-multimedia.repo + /tmp/ublue-os-akmods-addons/rpmbuild/SOURCES/negativo17-fedora-multimedia.repo RUN /tmp/build-prep.sh RUN /tmp/build-ublue-os-akmods-addons.sh # Set kernel name -# Exclude negativo17 kmods from Fedora 39 RUN if grep -qv "surface" <<< "${KERNEL_FLAVOR}"; then \ export KERNEL_NAME="kernel" \ ; else \ diff --git a/build-kmod-ayaneo-platform.sh b/build-kmod-ayaneo-platform.sh index 825c1316..15374df2 100755 --- a/build-kmod-ayaneo-platform.sh +++ b/build-kmod-ayaneo-platform.sh @@ -2,12 +2,12 @@ set -oeux pipefail -cp /tmp/ublue-os-akmods-addons/rpmbuild/SOURCES/_copr_ublue-os-akmods.repo /etc/yum.repos.d/ - ARCH="$(rpm -E '%_arch')" KERNEL="$(rpm -q "${KERNEL_NAME}" --queryformat '%{VERSION}-%{RELEASE}.%{ARCH}')" RELEASE="$(rpm -E '%fedora')" +cp /tmp/ublue-os-akmods-addons/rpmbuild/SOURCES/_copr_ublue-os-akmods.repo /etc/yum.repos.d/ + rpm-ostree install \ akmod-ayaneo-platform-*.fc${RELEASE}.${ARCH} akmods --force --kernels "${KERNEL}" --kmod ayaneo-platform diff --git a/build-kmod-ayn-platform.sh b/build-kmod-ayn-platform.sh index 28558740..4cb3978e 100755 --- a/build-kmod-ayn-platform.sh +++ b/build-kmod-ayn-platform.sh @@ -2,12 +2,12 @@ set -oeux pipefail -cp /tmp/ublue-os-akmods-addons/rpmbuild/SOURCES/_copr_ublue-os-akmods.repo /etc/yum.repos.d/ - ARCH="$(rpm -E '%_arch')" KERNEL="$(rpm -q "${KERNEL_NAME}" --queryformat '%{VERSION}-%{RELEASE}.%{ARCH}')" RELEASE="$(rpm -E '%fedora')" +cp /tmp/ublue-os-akmods-addons/rpmbuild/SOURCES/_copr_ublue-os-akmods.repo /etc/yum.repos.d/ + rpm-ostree install \ akmod-ayn-platform-*.fc${RELEASE}.${ARCH} akmods --force --kernels "${KERNEL}" --kmod ayn-platform diff --git a/build-kmod-bmi160.sh b/build-kmod-bmi160.sh index 658f0c5d..85f9bcc9 100755 --- a/build-kmod-bmi160.sh +++ b/build-kmod-bmi160.sh @@ -2,12 +2,12 @@ set -oeux pipefail -cp /tmp/ublue-os-akmods-addons/rpmbuild/SOURCES/_copr_ublue-os-akmods.repo /etc/yum.repos.d/ - ARCH="$(rpm -E '%_arch')" KERNEL="$(rpm -q "${KERNEL_NAME}" --queryformat '%{VERSION}-%{RELEASE}.%{ARCH}')" RELEASE="$(rpm -E '%fedora')" +cp /tmp/ublue-os-akmods-addons/rpmbuild/SOURCES/_copr_ublue-os-akmods.repo /etc/yum.repos.d/ + rpm-ostree install \ akmod-bmi160-*.fc${RELEASE}.${ARCH} akmods --force --kernels "${KERNEL}" --kmod bmi160 diff --git a/build-kmod-bmi260.sh b/build-kmod-bmi260.sh index bed47b6d..ddbd68d8 100755 --- a/build-kmod-bmi260.sh +++ b/build-kmod-bmi260.sh @@ -2,12 +2,12 @@ set -oeux pipefail -cp /tmp/ublue-os-akmods-addons/rpmbuild/SOURCES/_copr_ublue-os-akmods.repo /etc/yum.repos.d/ - ARCH="$(rpm -E '%_arch')" KERNEL="$(rpm -q "${KERNEL_NAME}" --queryformat '%{VERSION}-%{RELEASE}.%{ARCH}')" RELEASE="$(rpm -E '%fedora')" +cp /tmp/ublue-os-akmods-addons/rpmbuild/SOURCES/_copr_ublue-os-akmods.repo /etc/yum.repos.d/ + rpm-ostree install \ akmod-bmi260-*.fc${RELEASE}.${ARCH} akmods --force --kernels "${KERNEL}" --kmod bmi260 diff --git a/build-kmod-bmi323.sh b/build-kmod-bmi323.sh index 34648b24..86815572 100755 --- a/build-kmod-bmi323.sh +++ b/build-kmod-bmi323.sh @@ -2,12 +2,12 @@ set -oeux pipefail -cp /tmp/ublue-os-akmods-addons/rpmbuild/SOURCES/_copr_ublue-os-akmods.repo /etc/yum.repos.d/ - ARCH="$(rpm -E '%_arch')" KERNEL="$(rpm -q "${KERNEL_NAME}" --queryformat '%{VERSION}-%{RELEASE}.%{ARCH}')" RELEASE="$(rpm -E '%fedora')" +cp /tmp/ublue-os-akmods-addons/rpmbuild/SOURCES/_copr_ublue-os-akmods.repo /etc/yum.repos.d/ + rpm-ostree install \ akmod-bmi323-*.fc${RELEASE}.${ARCH} akmods --force --kernels "${KERNEL}" --kmod bmi323 diff --git a/build-kmod-evdi.sh b/build-kmod-evdi.sh index f206afa5..b0a519dd 100755 --- a/build-kmod-evdi.sh +++ b/build-kmod-evdi.sh @@ -3,12 +3,16 @@ set -oeux pipefail -cp /tmp/ublue-os-akmods-addons/rpmbuild/SOURCES/negativo17-fedora-multimedia.repo /etc/yum.repos.d/ - ARCH="$(rpm -E '%_arch')" KERNEL="$(rpm -q "${KERNEL_NAME}" --queryformat '%{VERSION}-%{RELEASE}.%{ARCH}')" RELEASE="$(rpm -E '%fedora')" +if [ "40" == "${RELEASE}" ]; then + echo "SKIPPED BUILD of evdi: negativo17 not supporting F40 yet" + exit 0 +fi + +cp /tmp/ublue-os-akmods-addons/rpmbuild/SOURCES/negativo17-fedora-multimedia.repo /etc/yum.repos.d/ ### BUILD evdi (succeed or fail-fast with debug output) export CFLAGS="-fno-pie -no-pie" diff --git a/build-kmod-gasket.sh b/build-kmod-gasket.sh index 7a1254f9..ae6405bc 100755 --- a/build-kmod-gasket.sh +++ b/build-kmod-gasket.sh @@ -2,12 +2,17 @@ set -oeux pipefail -cp /tmp/ublue-os-akmods-addons/rpmbuild/SOURCES/_copr_ublue-os-akmods.repo /etc/yum.repos.d/ - ARCH="$(rpm -E '%_arch')" KERNEL="$(rpm -q "${KERNEL_NAME}" --queryformat '%{VERSION}-%{RELEASE}.%{ARCH}')" RELEASE="$(rpm -E '%fedora')" +if [ "40" == "${RELEASE}" ]; then + echo "SKIPPED BUILD of gasket: compile failure on F40 as of 2024-03-17" + exit 0 +fi + +cp /tmp/ublue-os-akmods-addons/rpmbuild/SOURCES/_copr_ublue-os-akmods.repo /etc/yum.repos.d/ + rpm-ostree install \ akmod-gasket-*.fc${RELEASE}.${ARCH} akmods --force --kernels "${KERNEL}" --kmod gasket diff --git a/build-kmod-gcadapter_oc.sh b/build-kmod-gcadapter_oc.sh index d174a48b..b75b21d7 100755 --- a/build-kmod-gcadapter_oc.sh +++ b/build-kmod-gcadapter_oc.sh @@ -2,12 +2,12 @@ set -oeux pipefail -cp /tmp/ublue-os-akmods-addons/rpmbuild/SOURCES/_copr_ublue-os-akmods.repo /etc/yum.repos.d/ - ARCH="$(rpm -E '%_arch')" KERNEL="$(rpm -q "${KERNEL_NAME}" --queryformat '%{VERSION}-%{RELEASE}.%{ARCH}')" RELEASE="$(rpm -E '%fedora')" +cp /tmp/ublue-os-akmods-addons/rpmbuild/SOURCES/_copr_ublue-os-akmods.repo /etc/yum.repos.d/ + rpm-ostree install \ akmod-gcadapter_oc-*.fc${RELEASE}.${ARCH} akmods --force --kernels "${KERNEL}" --kmod gcadapter_oc diff --git a/build-kmod-nct6687d.sh b/build-kmod-nct6687d.sh index 9f1520bb..941c5dfe 100755 --- a/build-kmod-nct6687d.sh +++ b/build-kmod-nct6687d.sh @@ -2,12 +2,11 @@ set -oeux pipefail -cp /tmp/ublue-os-akmods-addons/rpmbuild/SOURCES/_copr_ublue-os-akmods.repo /etc/yum.repos.d/ - ARCH="$(rpm -E '%_arch')" KERNEL="$(rpm -q "${KERNEL_NAME}" --queryformat '%{VERSION}-%{RELEASE}.%{ARCH}')" RELEASE="$(rpm -E '%fedora')" +cp /tmp/ublue-os-akmods-addons/rpmbuild/SOURCES/_copr_ublue-os-akmods.repo /etc/yum.repos.d/ ### BUILD nct6687d (succeed or fail-fast with debug output) rpm-ostree install \ diff --git a/build-kmod-openrazer.sh b/build-kmod-openrazer.sh index b819ff0a..68dd5e47 100755 --- a/build-kmod-openrazer.sh +++ b/build-kmod-openrazer.sh @@ -2,12 +2,11 @@ set -oeux pipefail -cp /tmp/ublue-os-akmods-addons/rpmbuild/SOURCES/_copr_ublue-os-akmods.repo /etc/yum.repos.d/ - ARCH="$(rpm -E '%_arch')" KERNEL="$(rpm -q "${KERNEL_NAME}" --queryformat '%{VERSION}-%{RELEASE}.%{ARCH}')" RELEASE="$(rpm -E '%fedora')" +cp /tmp/ublue-os-akmods-addons/rpmbuild/SOURCES/_copr_ublue-os-akmods.repo /etc/yum.repos.d/ ### BUILD openrazer (succeed or fail-fast with debug output) rpm-ostree install \ diff --git a/build-kmod-openrgb.sh b/build-kmod-openrgb.sh index 2120c23d..ecde5a8b 100755 --- a/build-kmod-openrgb.sh +++ b/build-kmod-openrgb.sh @@ -2,12 +2,12 @@ set -oeux pipefail -cp /tmp/ublue-os-akmods-addons/rpmbuild/SOURCES/_copr_ublue-os-akmods.repo /etc/yum.repos.d/ - ARCH="$(rpm -E '%_arch')" KERNEL="$(rpm -q "${KERNEL_NAME}" --queryformat '%{VERSION}-%{RELEASE}.%{ARCH}')" RELEASE="$(rpm -E '%fedora')" +cp /tmp/ublue-os-akmods-addons/rpmbuild/SOURCES/_copr_ublue-os-akmods.repo /etc/yum.repos.d/ + rpm-ostree install \ akmod-openrgb-*.fc${RELEASE}.${ARCH} akmods --force --kernels "${KERNEL}" --kmod openrgb diff --git a/build-kmod-rtl8814au.sh b/build-kmod-rtl8814au.sh index e50bfd87..ef795811 100755 --- a/build-kmod-rtl8814au.sh +++ b/build-kmod-rtl8814au.sh @@ -2,12 +2,17 @@ set -oeux pipefail -cp /tmp/ublue-os-akmods-addons/rpmbuild/SOURCES/_copr_ublue-os-akmods.repo /etc/yum.repos.d/ - ARCH="$(rpm -E '%_arch')" KERNEL="$(rpm -q "${KERNEL_NAME}" --queryformat '%{VERSION}-%{RELEASE}.%{ARCH}')" RELEASE="$(rpm -E '%fedora')" +if [ "40" == "${RELEASE}" ]; then + echo "SKIPPED BUILD of rtl8814au: compile failure on F40 as of 2024-03-17" + exit 0 +fi + +cp /tmp/ublue-os-akmods-addons/rpmbuild/SOURCES/_copr_ublue-os-akmods.repo /etc/yum.repos.d/ + rpm-ostree install \ akmod-rtl8814au-*.fc${RELEASE}.${ARCH} akmods --force --kernels "${KERNEL}" --kmod rtl8814au diff --git a/build-kmod-rtl88xxau.sh b/build-kmod-rtl88xxau.sh index ad52a5c0..a7f9d44c 100755 --- a/build-kmod-rtl88xxau.sh +++ b/build-kmod-rtl88xxau.sh @@ -2,12 +2,17 @@ set -oeux pipefail -cp /tmp/ublue-os-akmods-addons/rpmbuild/SOURCES/_copr_ublue-os-akmods.repo /etc/yum.repos.d/ - ARCH="$(rpm -E '%_arch')" KERNEL="$(rpm -q "${KERNEL_NAME}" --queryformat '%{VERSION}-%{RELEASE}.%{ARCH}')" RELEASE="$(rpm -E '%fedora')" +if [ "40" == "${RELEASE}" ]; then + echo "SKIPPED BUILD of rtl88xxau: compile failure on F40 as of 2024-03-17" + exit 0 +fi + +cp /tmp/ublue-os-akmods-addons/rpmbuild/SOURCES/_copr_ublue-os-akmods.repo /etc/yum.repos.d/ + rpm-ostree install \ akmod-rtl88xxau-*.fc${RELEASE}.${ARCH} akmods --force --kernels "${KERNEL}" --kmod rtl88xxau diff --git a/build-kmod-ryzen-smu.sh b/build-kmod-ryzen-smu.sh index ea5228c8..df51c1ce 100755 --- a/build-kmod-ryzen-smu.sh +++ b/build-kmod-ryzen-smu.sh @@ -2,12 +2,11 @@ set -oeux pipefail -cp /tmp/ublue-os-akmods-addons/rpmbuild/SOURCES/_copr_ublue-os-akmods.repo /etc/yum.repos.d/ - ARCH="$(rpm -E '%_arch')" KERNEL="$(rpm -q "${KERNEL_NAME}" --queryformat '%{VERSION}-%{RELEASE}.%{ARCH}')" RELEASE="$(rpm -E '%fedora')" +cp /tmp/ublue-os-akmods-addons/rpmbuild/SOURCES/_copr_ublue-os-akmods.repo /etc/yum.repos.d/ ### BUILD ryzen-smu (succeed or fail-fast with debug output) rpm-ostree install \ diff --git a/build-kmod-steamdeck.sh b/build-kmod-steamdeck.sh index 70484dc1..d61549ee 100755 --- a/build-kmod-steamdeck.sh +++ b/build-kmod-steamdeck.sh @@ -2,12 +2,12 @@ set -oeux pipefail -cp /tmp/ublue-os-akmods-addons/rpmbuild/SOURCES/_copr_ublue-os-akmods.repo /etc/yum.repos.d/ - ARCH="$(rpm -E '%_arch')" KERNEL="$(rpm -q "${KERNEL_NAME}" --queryformat '%{VERSION}-%{RELEASE}.%{ARCH}')" RELEASE="$(rpm -E '%fedora')" +cp /tmp/ublue-os-akmods-addons/rpmbuild/SOURCES/_copr_ublue-os-akmods.repo /etc/yum.repos.d/ + rpm-ostree install \ akmod-steamdeck-*.fc${RELEASE}.${ARCH} akmods --force --kernels "${KERNEL}" --kmod steamdeck diff --git a/build-kmod-v4l2loopback.sh b/build-kmod-v4l2loopback.sh index 66cef2a8..56d55a0b 100755 --- a/build-kmod-v4l2loopback.sh +++ b/build-kmod-v4l2loopback.sh @@ -8,6 +8,11 @@ KERNEL="$(rpm -q "${KERNEL_NAME}" --queryformat '%{VERSION}-%{RELEASE}.%{ARCH}') RELEASE="$(rpm -E '%fedora')" +if [ "40" == "${RELEASE}" ]; then + echo "SKIPPED BUILD of v4l2loopback: compile failure on F40 as of 2024-03-17" + exit 0 +fi + ### BUILD v4l2loopbak (succeed or fail-fast with debug output) rpm-ostree install \ akmod-v4l2loopback-*.fc${RELEASE}.${ARCH} diff --git a/build-kmod-winesync.sh b/build-kmod-winesync.sh index e28f90bc..6aab62cc 100755 --- a/build-kmod-winesync.sh +++ b/build-kmod-winesync.sh @@ -2,12 +2,11 @@ set -oeux pipefail -cp /tmp/ublue-os-akmods-addons/rpmbuild/SOURCES/_copr_ublue-os-akmods.repo /etc/yum.repos.d/ - ARCH="$(rpm -E '%_arch')" KERNEL="$(rpm -q "${KERNEL_NAME}" --queryformat '%{VERSION}-%{RELEASE}.%{ARCH}')" RELEASE="$(rpm -E '%fedora')" +cp /tmp/ublue-os-akmods-addons/rpmbuild/SOURCES/_copr_ublue-os-akmods.repo /etc/yum.repos.d/ ### BUILD winesync (succeed or fail-fast with debug output) rpm-ostree install \ diff --git a/build-kmod-xone.sh b/build-kmod-xone.sh index 68855aaa..4fba5b52 100755 --- a/build-kmod-xone.sh +++ b/build-kmod-xone.sh @@ -2,12 +2,11 @@ set -oeux pipefail -cp /tmp/ublue-os-akmods-addons/rpmbuild/SOURCES/_copr_ublue-os-akmods.repo /etc/yum.repos.d/ - ARCH="$(rpm -E '%_arch')" KERNEL="$(rpm -q "${KERNEL_NAME}" --queryformat '%{VERSION}-%{RELEASE}.%{ARCH}')" RELEASE="$(rpm -E '%fedora')" +cp /tmp/ublue-os-akmods-addons/rpmbuild/SOURCES/_copr_ublue-os-akmods.repo /etc/yum.repos.d/ ### BUILD xone (succeed or fail-fast with debug output) rpm-ostree install \ diff --git a/build-kmod-xpadneo.sh b/build-kmod-xpadneo.sh index 59b63590..a1d8870f 100755 --- a/build-kmod-xpadneo.sh +++ b/build-kmod-xpadneo.sh @@ -3,12 +3,16 @@ set -oeux pipefail -cp /tmp/ublue-os-akmods-addons/rpmbuild/SOURCES/negativo17-fedora-multimedia.repo /etc/yum.repos.d/ - ARCH="$(rpm -E '%_arch')" KERNEL="$(rpm -q "${KERNEL_NAME}" --queryformat '%{VERSION}-%{RELEASE}.%{ARCH}')" RELEASE="$(rpm -E '%fedora')" +if [ "40" == "${RELEASE}" ]; then + echo "SKIPPED BUILD of xpadneo: negativo17 not supporting F40 yet" + exit 0 +fi + +cp /tmp/ublue-os-akmods-addons/rpmbuild/SOURCES/negativo17-fedora-multimedia.repo /etc/yum.repos.d/ ### BUILD xpadneo (succeed or fail-fast with debug output) rpm-ostree install \ diff --git a/build-kmod-zenergy.sh b/build-kmod-zenergy.sh index ddabe4b2..12182df0 100755 --- a/build-kmod-zenergy.sh +++ b/build-kmod-zenergy.sh @@ -2,12 +2,12 @@ set -oeux pipefail -cp /tmp/ublue-os-akmods-addons/rpmbuild/SOURCES/_copr_ublue-os-akmods.repo /etc/yum.repos.d/ - ARCH="$(rpm -E '%_arch')" KERNEL="$(rpm -q "${KERNEL_NAME}" --queryformat '%{VERSION}-%{RELEASE}.%{ARCH}')" RELEASE="$(rpm -E '%fedora')" +cp /tmp/ublue-os-akmods-addons/rpmbuild/SOURCES/_copr_ublue-os-akmods.repo /etc/yum.repos.d/ + rpm-ostree install \ akmod-zenergy-*.fc${RELEASE}.${ARCH} akmods --force --kernels "${KERNEL}" --kmod zenergy diff --git a/build-prep.sh b/build-prep.sh index c6d6b4d1..b949b541 100755 --- a/build-prep.sh +++ b/build-prep.sh @@ -27,15 +27,19 @@ rpm-ostree install \ ${RPMFUSION_MIRROR_RPMS}/nonfree/fedora/rpmfusion-nonfree-release-${RELEASE}.noarch.rpm \ fedora-repos-archive +# after F40 launches, bump to 41 +if [[ "${FEDORA_MAJOR_VERSION}" -ge 40 ]]; then + # pre-release rpmfusion is in a different location + sed -i "s%free/fedora/releases%free/fedora/development%" /etc/yum.repos.d/rpmfusion-*.repo + # pre-release rpmfusion needs to enable testing + sed -i '0,/enabled=0/{s/enabled=0/enabled=1/}' /etc/yum.repos.d/rpmfusion-*-updates-testing.repo +fi + if [ -n "${RPMFUSION_MIRROR}" ]; then # force use of single rpmfusion mirror echo "Using single rpmfusion mirror: ${RPMFUSION_MIRROR}" sed -i.bak "s%^metalink=%#metalink=%" /etc/yum.repos.d/rpmfusion-*.repo sed -i "s%^#baseurl=http://download1.rpmfusion.org%baseurl=${RPMFUSION_MIRROR}%" /etc/yum.repos.d/rpmfusion-*.repo - # after F40 launches, bump to 41 - if [[ "${FEDORA_MAJOR_VERSION}" -ge 40 ]]; then - sed -i "s%free/fedora/releases%free/fedora/development%" /etc/yum.repos.d/rpmfusion-*.repo - fi fi ### PREPARE CUSTOM KERNEL SUPPORT