solus-packages/packages/l/linux-firmware/package.yml
Reilly Brogan a2348e646d
linux-firmware: Downgrade realtek firmware
Closes getsolus/packages#5499

Signed-off-by: Reilly Brogan <reilly@reillybrogan.com>
2025-04-24 20:04:02 -05:00

135 lines
4.9 KiB
YAML

name : linux-firmware
version : '20250410'
release : 92
source :
- git|https://gitlab.com/kernel-firmware/linux-firmware.git : 20250410
license :
- GPL-2.0-or-later
- Distributable
component : kernel
homepage : https://git.kernel.org/?p=linux/kernel/git/firmware/linux-firmware.git;a=summary
summary :
- Firmware required for many devices
- nvidia : Firmware required for many devices, Nvidia GSP firmware
description:
- Free and non-free firmware required for enablement of many devices and hardware
- nvidia : Firmware required for many devices, Nvidia GSP firmware
strip : no
debug : no
networking : yes
builddeps :
- parallel
- rdfind
rundeps :
- intel-microcode
# 2025-02-26: At some point (perhaps 12 months after this post) we can remove these rundeps and ensure that they are instead installed by the installer
# That would allow an end-user to remove firmware they don't need.
- linux-firmware-amdgpu
- linux-firmware-intel-graphics
- linux-firmware-libertas
- linux-firmware-mlxsw-spectrum
- linux-firmware-qcom
setup : |
git config --global user.email "solus@getsol.us"
git config --global user.name "Solus"
# https://gitlab.freedesktop.org/drm/amd/-/issues/3760
git checkout d6c600d46981e69ccf2eeb249299aac0c0bfd236 -- amdgpu/dcn_3_1_4_dmcub.bin
# https://github.com/getsolus/packages/issues/5499
# https://www.mail-archive.com/debian-kernel@lists.debian.org/msg141973.html
# https://gitlab.com/kernel-firmware/linux-firmware/-/merge_requests/518
git checkout cb465aa0042bc2057579b313f518a80a2207a55c -- rtw89/rtw8852c_fw-1.bin
install : |
%make install-zst DESTDIR="$installdir" FIRMWAREDIR="/usr/lib64/firmware"
# Remove blacklisted
for i in airoha carl9170fw netronome liquidio powervr qed; do
rm -rvf $installdir/usr/lib64/firmware/$i
done
# Exit if there are any absolute symlinks anywhere since those will mess things up
pushd $installdir/
! find . -type l -lname '/*' -print | grep .
popd
# Usr-merge
install -dm00755 $installdir/lib64
pushd $installdir/usr
dir_list=()
while IFS= read -r -d $'\0'; do
dir_list+=("$REPLY")
done < <(find lib64 -type d -print0)
for file in "${dir_list[@]}"; do
install -dm00755 "$installdir/$file"
done
file_list=()
while IFS= read -r -d $'\0'; do
file_list+=("$REPLY")
done < <(find lib64 -type f -print0)
for file in "${file_list[@]}"; do
ln -srv "$installdir/usr/$file" "$installdir/$file"
done
link_list=()
while IFS= read -r -d $'\0'; do
link_list+=("$REPLY")
done < <(find lib64 -type l -print0)
for file in "${link_list[@]}"; do
link=$(readlink "$file")
ln -sv "$link" "$installdir/$file"
done
popd
# Stick docs in
install -dDm00755 $installdir/usr/share/doc/${package}
install -m00644 LICENSE* $installdir/usr/share/doc/${package}/.
install -m00644 LICENCE* $installdir/usr/share/doc/${package}/.
patterns :
- amdgpu :
- /lib64/firmware/amdgpu
- /lib64/firmware/amdnpu
- /lib64/firmware/radeon
- /usr/lib64/firmware/amdgpu
- /usr/lib64/firmware/amdnpu
- /usr/lib64/firmware/radeon
- /usr/share/doc/linux-firmware/LICENSE.amdgpu
- /usr/share/doc/linux-firmware/LICENSE.amdnpu
- /usr/share/doc/linux-firmware/LICENSE.radeon
- intel-graphics :
- /lib64/firmware/i915
- /lib64/firmware/intel/ipu
- /lib64/firmware/intel/irci_*
- /lib64/firmware/intel/vsc
- /lib64/firmware/xe
- /usr/lib64/firmware/i915
- /usr/lib64/firmware/intel/ipu
- /usr/lib64/firmware/intel/irci_*
- /usr/lib64/firmware/intel/vsc
- /usr/lib64/firmware/xe
- /usr/share/doc/linux-firmware/LICENSE.i915
- libertas : # Fedora has this additionally split into a mrvlprestera firmware package, maybe we want that?
- /lib64/firmware/libertas
- /lib64/firmware/mrvl
- /usr/lib64/firmware/libertas
- /usr/lib64/firmware/mrvl
- /usr/share/doc/linux-firmware/LICENCE.Marvell
- /usr/share/doc/linux-firmware/LICENCE.OLPC
- mlxsw-spectrum :
- /lib64/firmware/mellanox
- /usr/lib64/firmware/mellanox
- nvidia :
- /lib64/firmware/nvidia/ad*/gsp
- /lib64/firmware/nvidia/ga*/gsp
- /lib64/firmware/nvidia/tu*/gsp
- /usr/lib64/firmware/nvidia/ad*/gsp
- /usr/lib64/firmware/nvidia/ga*/gsp
- /usr/lib64/firmware/nvidia/tu*/gsp
- /usr/share/doc/linux-firmware/LICENCE.nvidia
- qcom :
- /lib64/firmware/qcom
- /usr/lib64/firmware/qcom
- /usr/share/doc/linux-firmware/LICENSE.qcom
- /usr/share/doc/linux-firmware/LICENSE.qcom-2
- /usr/share/doc/linux-firmware/LICENSE.qcom_yamato