mirror of
https://github.com/ublue-os/akmods.git
synced 2026-11-03 14:59:42 -09:00
feat: fedora 45 bringup (#594)
* bringup f45 * update the workflow * do-not-test * use dnf repo commands instead of sed * gate openrazer on f45 * add notice for temp workaround for openrazer
This commit is contained in:
parent
56c8acd125
commit
69c139b49b
8 changed files with 110 additions and 18 deletions
78
.github/workflows/build-akmods-main.yml
vendored
78
.github/workflows/build-akmods-main.yml
vendored
|
|
@ -16,6 +16,84 @@ on:
|
|||
- cron: '01 0 * * *' # staggered minute past 00:00 UTC, see Justfile generate-workflows
|
||||
workflow_dispatch:
|
||||
jobs:
|
||||
cache_kernel_main_45:
|
||||
name: Cache main (45)
|
||||
uses: ./.github/workflows/reusable-cache-kernel.yml
|
||||
secrets: inherit
|
||||
permissions:
|
||||
actions: read
|
||||
contents: read
|
||||
packages: write
|
||||
with:
|
||||
architecture: '["x86_64"]'
|
||||
kernel_flavor: main
|
||||
version: 45
|
||||
build-main_45_common:
|
||||
name: Build common main (45)
|
||||
uses: ./.github/workflows/reusable-build.yml
|
||||
secrets: inherit
|
||||
permissions:
|
||||
actions: read
|
||||
attestations: write
|
||||
contents: read
|
||||
id-token: write
|
||||
packages: write
|
||||
needs: cache_kernel_main_45
|
||||
with:
|
||||
akmods_target: common
|
||||
architecture: '["x86_64"]'
|
||||
kernel_cache_key: ${{ needs.cache_kernel_main_45.outputs.KCKEY }}
|
||||
kernel_flavor: main
|
||||
version: 45
|
||||
build-main_45_nvidia-lts:
|
||||
name: Build nvidia-lts main (45)
|
||||
uses: ./.github/workflows/reusable-build.yml
|
||||
secrets: inherit
|
||||
permissions:
|
||||
actions: read
|
||||
attestations: write
|
||||
contents: read
|
||||
id-token: write
|
||||
packages: write
|
||||
needs: cache_kernel_main_45
|
||||
with:
|
||||
akmods_target: nvidia-lts
|
||||
architecture: '["x86_64"]'
|
||||
kernel_cache_key: ${{ needs.cache_kernel_main_45.outputs.KCKEY }}
|
||||
kernel_flavor: main
|
||||
version: 45
|
||||
build-main_45_nvidia-open:
|
||||
name: Build nvidia-open main (45)
|
||||
uses: ./.github/workflows/reusable-build.yml
|
||||
secrets: inherit
|
||||
permissions:
|
||||
actions: read
|
||||
attestations: write
|
||||
contents: read
|
||||
id-token: write
|
||||
packages: write
|
||||
needs: cache_kernel_main_45
|
||||
with:
|
||||
akmods_target: nvidia-open
|
||||
architecture: '["x86_64"]'
|
||||
kernel_cache_key: ${{ needs.cache_kernel_main_45.outputs.KCKEY }}
|
||||
kernel_flavor: main
|
||||
version: 45
|
||||
check-main_45:
|
||||
name: Check main (45)
|
||||
permissions:
|
||||
actions: read
|
||||
contents: read
|
||||
needs: [build-main_45_common,build-main_45_nvidia-lts,build-main_45_nvidia-open]
|
||||
runs-on: ubuntu-24.04
|
||||
if: always()
|
||||
steps:
|
||||
- name: Check for Build Failures
|
||||
if: contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') || contains(needs.*.result, 'skipped')
|
||||
run: exit 1
|
||||
|
||||
- name: Exit if Success
|
||||
run: exit 0
|
||||
cache_kernel_main_44:
|
||||
name: Cache main (44)
|
||||
uses: ./.github/workflows/reusable-cache-kernel.yml
|
||||
|
|
|
|||
|
|
@ -17,17 +17,27 @@ curl -LsSf -o /etc/pki/rpm-gpg/RPM-GPG-KEY-terra"${RELEASE}" \
|
|||
rpmkeys --import /etc/pki/rpm-gpg/RPM-GPG-KEY-terra"${RELEASE}"
|
||||
|
||||
### BUILD openrazer (succeed or fail-fast with debug output)
|
||||
dnf install -y \
|
||||
akmod-openrazer-*.fc"${RELEASE}"."${ARCH}"
|
||||
akmods --force --kernels "${KERNEL}" --kmod openrazer
|
||||
modinfo /usr/lib/modules/"${KERNEL}"/extra/openrazer/razerkbd.ko.xz >/dev/null ||
|
||||
(find /var/cache/akmods/openrazer/ -name \*.log -print -exec cat {} \; && exit 1)
|
||||
modinfo /usr/lib/modules/"${KERNEL}"/extra/openrazer/razermouse.ko.xz >/dev/null ||
|
||||
(find /var/cache/akmods/openrazer/ -name \*.log -print -exec cat {} \; && exit 1)
|
||||
modinfo /usr/lib/modules/"${KERNEL}"/extra/openrazer/razerkraken.ko.xz >/dev/null ||
|
||||
(find /var/cache/akmods/openrazer/ -name \*.log -print -exec cat {} \; && exit 1)
|
||||
modinfo /usr/lib/modules/"${KERNEL}"/extra/openrazer/razeraccessory.ko.xz >/dev/null ||
|
||||
(find /var/cache/akmods/openrazer/ -name \*.log -print -exec cat {} \; && exit 1)
|
||||
# REVERTME: Once terra has openrazer packages for F45
|
||||
if [[ "${RELEASE}" -ge 45 ]]; then
|
||||
dnf install -y akmod-openrazer-*.fc"${RELEASE}"."${ARCH}" || {
|
||||
echo "SKIPPED: Openrazer gets skipped if Terra doesn't have package for F45."
|
||||
rm -f /etc/yum.repos.d/terra.repo
|
||||
exit 0
|
||||
}
|
||||
akmods --force --kernels "${KERNEL}" --kmod openrazer || { rm -f /etc/yum.repos.d/terra.repo; exit 0; }
|
||||
else
|
||||
dnf install -y \
|
||||
akmod-openrazer-*.fc"${RELEASE}"."${ARCH}"
|
||||
akmods --force --kernels "${KERNEL}" --kmod openrazer
|
||||
modinfo /usr/lib/modules/"${KERNEL}"/extra/openrazer/razerkbd.ko.xz >/dev/null ||
|
||||
(find /var/cache/akmods/openrazer/ -name \*.log -print -exec cat {} \; && exit 1)
|
||||
modinfo /usr/lib/modules/"${KERNEL}"/extra/openrazer/razermouse.ko.xz >/dev/null ||
|
||||
(find /var/cache/akmods/openrazer/ -name \*.log -print -exec cat {} \; && exit 1)
|
||||
modinfo /usr/lib/modules/"${KERNEL}"/extra/openrazer/razerkraken.ko.xz >/dev/null ||
|
||||
(find /var/cache/akmods/openrazer/ -name \*.log -print -exec cat {} \; && exit 1)
|
||||
modinfo /usr/lib/modules/"${KERNEL}"/extra/openrazer/razeraccessory.ko.xz >/dev/null ||
|
||||
(find /var/cache/akmods/openrazer/ -name \*.log -print -exec cat {} \; && exit 1)
|
||||
fi
|
||||
|
||||
mkdir -p /var/cache/rpms/common
|
||||
dnf download --destdir /var/cache/rpms/common \
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ for RPMPATH in "${RPMPATHS[@]}"; do
|
|||
RPM=$(basename "${RPMPATH/\.rpm/}")
|
||||
mkdir -p /tmp/buildroot
|
||||
cp -r /{usr,lib} /tmp/buildroot
|
||||
rpmrebuild --additional=--buildroot=/tmp/buildroot --batch "$RPM"
|
||||
rpmrebuild --notest-install --additional=--buildroot=/tmp/buildroot --batch "$RPM"
|
||||
rm -rf /tmp/buildroot
|
||||
done
|
||||
popd
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ else
|
|||
echo "Building for Fedora"
|
||||
RELEASE="$(rpm -E '%fedora')"
|
||||
|
||||
sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/fedora-cisco-openh264.repo
|
||||
dnf config-manager setopt fedora-cisco-openh264.enabled=0
|
||||
|
||||
RPMFUSION_MIRROR_RPMS="https://mirrors.rpmfusion.org"
|
||||
if [ -n "${RPMFUSION_MIRROR}" ]; then
|
||||
|
|
@ -47,7 +47,7 @@ if [[ "${VERSION}" -ge 45 && -f /etc/fedora-release ]]; 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
|
||||
dnf config-manager enable rpmfusion-free-updates-testing rpmfusion-nonfree-updates-testing
|
||||
fi
|
||||
|
||||
if [[ -n "${RPMFUSION_MIRROR}" && -f /etc/fedora-release ]]; then
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ if [[ "${KERNEL_FLAVOR}" =~ "centos" ]]; then
|
|||
else
|
||||
echo "Building for Fedora"
|
||||
RELEASE="$(rpm -E '%fedora')"
|
||||
sed -i 's@enabled=1@enabled=0@g' /etc/yum.repos.d/fedora-cisco-openh264.repo
|
||||
dnf config-manager setopt fedora-cisco-openh264.enabled=0
|
||||
dnf config-manager addrepo --from-repofile=https://negativo17.org/repos/fedora-multimedia.repo
|
||||
fi
|
||||
|
||||
|
|
@ -38,7 +38,7 @@ if [[ "${RELEASE}" -ge 45 && -f /etc/fedora-release ]]; 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
|
||||
dnf config-manager enable rpmfusion-free-updates-testing rpmfusion-nonfree-updates-testing
|
||||
fi
|
||||
|
||||
if [[ -f $(find /tmp/akmods-rpms/kmods/kmod-nvidia-*.rpm) ]]; then
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ done
|
|||
find /var/cache/rpms/kmods/zfs -type f -name "\kmod-*.rpm" | grep -v debug | grep -v devel
|
||||
RPMPATH=$(find /var/cache/rpms/kmods/zfs -type f -name "\kmod-*.rpm" | grep -v debug | grep -v devel)
|
||||
RPM=$(basename "${RPMPATH/\.rpm/}")
|
||||
rpmrebuild --additional=--buildroot=/tmp/buildroot --batch "${RPM}"
|
||||
rpmrebuild --notest-install --additional=--buildroot=/tmp/buildroot --batch "${RPM}"
|
||||
rm -rf /usr/lib/modules/"${KERNEL}"/extra
|
||||
pushd /root/rpmbuild/RPMS/"$(uname -m)"/
|
||||
mapfile -t RPMPATHS < <(find . -type f -name "\kmod-*.rpm")
|
||||
|
|
|
|||
|
|
@ -196,7 +196,7 @@ fi
|
|||
ln -s / /tmp/buildroot
|
||||
|
||||
# Rebuild RPMs and Verify
|
||||
rpmrebuild --additional=--buildroot=/tmp/buildroot --batch "${kernel_name}-core-${kernel_version}"
|
||||
rpmrebuild --notest-install --additional=--buildroot=/tmp/buildroot --batch "${kernel_name}-core-${kernel_version}"
|
||||
rm -f /usr/lib/modules/"${kernel_version}"/vmlinuz
|
||||
find /tmp
|
||||
find /root
|
||||
|
|
|
|||
|
|
@ -190,3 +190,7 @@ images:
|
|||
"longterm-6.18":
|
||||
!!merge <<:
|
||||
- *server-build-group
|
||||
45:
|
||||
main:
|
||||
!!merge <<:
|
||||
- *desktop-build-group-only-x86
|
||||
|
|
|
|||
Loading…
Reference in a new issue