Skip to content

Commit

Permalink
feat: enable preview of Fedora 40 kmod builds (#143)
Browse files Browse the repository at this point in the history
Co-authored-by: Dylan M. Taylor <dylan@dylanmtaylor.com>
Co-authored-by: Kyle Gospodnetich <me@kylegospodneti.ch>
  • Loading branch information
3 people authored Mar 17, 2024
1 parent 034223b commit 1242246
Show file tree
Hide file tree
Showing 23 changed files with 78 additions and 46 deletions.
10 changes: 8 additions & 2 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand All @@ -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
Expand Down
3 changes: 1 addition & 2 deletions Containerfile.common
Original file line number Diff line number Diff line change
Expand Up @@ -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 \
Expand Down
4 changes: 2 additions & 2 deletions build-kmod-ayaneo-platform.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
4 changes: 2 additions & 2 deletions build-kmod-ayn-platform.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
4 changes: 2 additions & 2 deletions build-kmod-bmi160.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
4 changes: 2 additions & 2 deletions build-kmod-bmi260.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
4 changes: 2 additions & 2 deletions build-kmod-bmi323.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
8 changes: 6 additions & 2 deletions build-kmod-evdi.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
9 changes: 7 additions & 2 deletions build-kmod-gasket.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
4 changes: 2 additions & 2 deletions build-kmod-gcadapter_oc.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
3 changes: 1 addition & 2 deletions build-kmod-nct6687d.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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 \
Expand Down
3 changes: 1 addition & 2 deletions build-kmod-openrazer.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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 \
Expand Down
4 changes: 2 additions & 2 deletions build-kmod-openrgb.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
9 changes: 7 additions & 2 deletions build-kmod-rtl8814au.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
9 changes: 7 additions & 2 deletions build-kmod-rtl88xxau.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
3 changes: 1 addition & 2 deletions build-kmod-ryzen-smu.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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 \
Expand Down
4 changes: 2 additions & 2 deletions build-kmod-steamdeck.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
5 changes: 5 additions & 0 deletions build-kmod-v4l2loopback.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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}
Expand Down
3 changes: 1 addition & 2 deletions build-kmod-winesync.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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 \
Expand Down
3 changes: 1 addition & 2 deletions build-kmod-xone.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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 \
Expand Down
8 changes: 6 additions & 2 deletions build-kmod-xpadneo.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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 \
Expand Down
4 changes: 2 additions & 2 deletions build-kmod-zenergy.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
12 changes: 8 additions & 4 deletions build-prep.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit 1242246

Please sign in to comment.