Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: enable preview of Fedora 40 kmod builds #143

Merged
merged 5 commits into from
Mar 17, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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