Update package version to 20260622

This commit is contained in:
2026-07-08 13:33:31 +03:00
parent 187e617311
commit eae75069ca
2 changed files with 286 additions and 129 deletions
+104 -14
View File
@@ -1,7 +1,7 @@
name: linux-firmware name: linux-firmware
description: Base source package for all linux firmware files description: Base source package for all linux firmware files
version: "20260519" version: "20260622"
revision: 2 revision: 1
url: https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git url: https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
license: See /usr/share/licenses/linux-firmware/ license: See /usr/share/licenses/linux-firmware/
maintainers: maintainers:
@@ -10,22 +10,112 @@ architecture: any
output_architecture: any output_architecture: any
type: source type: source
make_depends: make_depends:
- libarchive
- rdfind - rdfind
downloads: downloads:
- url: https://gitlab.com/kernel-firmware/linux-firmware/-/archive/${BPM_PKG_VERSION}/linux-firmware-${BPM_PKG_VERSION}.tar.gz - url: https://gitlab.com/kernel-firmware/linux-firmware/-/archive/${BPM_PKG_VERSION}/linux-firmware-${BPM_PKG_VERSION}.tar.gz
extract_to: ${BPM_SOURCE} extract_to: ${BPM_SOURCE}
extract_strip_components: 1 extract_strip_components: 1
checksum: ef716b155f7048b784a97eea66210b6e7d59ec554abf9321cba6872637ebce11 checksum: bb619f9a1e84eca686cfbe0ce1aab8946e42b3d674b3cd856843c1b6ca2d0032
flags:
- name: compression
default_value: zstd
accepted_values:
- value: none
- value: zstd
- value: xz
options:
- nostrip
split_packages: split_packages:
- name: linux-firmware-whence - name: linux-firmware
description: Origin and licensing information for linux firmware description: Meta package providing useful firmware files for most users
- name: linux-firmware-amd depends:
description: AMD CPU and GPU microcode - linux-firmware-amdgpu
- name: linux-firmware-intel - linux-firmware-atheros
description: Intel GPU microcode - linux-firmware-broadcom
- name: linux-firmware-nvidia - linux-firmware-cirrus
description: Nvidia GPU microcode - linux-firmware-intel
- linux-firmware-mediatek
- linux-firmware-nvidia
- linux-firmware-other
- linux-firmware-radeon
- linux-firmware-realtek
optional_depends:
- linux-firmware-liquidio:Firmware for Cavium LiquidIO server adapters
- linux-firmware-marvell:Firmware for Marvell devices
- linux-firmware-mellanox:Firmware for Mellanox Spectrum switches
- linux-firmware-nfp:Firmware for Netronome Flow Processors
- linux-firmware-qcom:Firmware for Qualcomm SoCs
- linux-firmware-qlogic:Firmware for QLogic devices
- name: linux-firmware-licenses
description: Licensing information for linux-firmware
replaces:
- linux-firmware-whence
- name: amd-ucode
description: Microcode update image for AMD CPUs
replaces:
- linux-firmware-amd
- name: linux-firmware-amdgpu
description: Firmware for AMD Radeon GPUs
depends:
- linux-firmware-licenses
- name: linux-firmware-atheros
description: Firmware for Qualcomm Atheros WiFi and Bluetooth adapters
depends:
- linux-firmware-licenses
- name: linux-firmware-broadcom - name: linux-firmware-broadcom
description: Broadcom and Cypress network adapter firmware description: Firmware for Broadcom and Cypress network adapters
- name: linux-firmware-network depends:
description: Network device firmware for WLAN, Bluetooth, Ethernet, etc. - linux-firmware-licenses
- name: linux-firmware-cirrus
description: Firmware for Cirrus Logic audio devices
depends:
- linux-firmware-licenses
- name: linux-firmware-intel
description: Firmware for Intel devices
depends:
- linux-firmware-licenses
- name: linux-firmware-liquidio
description: Firmware for Cavium LiquidIO server adapters
depends:
- linux-firmware-licenses
- name: linux-firmware-marvell
description: Firmware for Marvell devices
depends:
- linux-firmware-licenses
- name: linux-firmware-mediatek
description: Firmware for MediaTek and Ralink devices
depends:
- linux-firmware-licenses
- name: linux-firmware-mellanox
description: Firmware for Mellanox Spectrum switches
depends:
- linux-firmware-licenses
- name: linux-firmware-nfp
description: Firmware for Netronome Flow Processors
depends:
- linux-firmware-licenses
- name: linux-firmware-nvidia
description: Firmware for NVIDIA GPUs and SoCs
depends:
- linux-firmware-licenses
- name: linux-firmware-qcom
description: Firmware for Qualcomm devices
depends:
- linux-firmware-licenses
- name: linux-firmware-qlogic
description: Firmware for QLogic devices
depends:
- linux-firmware-licenses
- name: linux-firmware-radeon
description: Firmware for ATI Radeon GPUs
depends:
- linux-firmware-licenses
- name: linux-firmware-realtek
description: Firmware for Realtek devices
depends:
- linux-firmware-licenses
- name: linux-firmware-other
description: Unsorted firmware for various devices
depends:
- linux-firmware-licenses
+182 -115
View File
@@ -6,150 +6,217 @@ build() {
# Create temporary directory for firmware installation # Create temporary directory for firmware installation
install -dm755 "$BPM_SOURCE"/temp install -dm755 "$BPM_SOURCE"/temp
# Select install target
case "$BPM_PKG_FLAG_COMPRESSION" in
none) TARGET="install";;
zstd) TARGET="install-zst";;
xz) TARGET="install-xz";;
*) echo "Invalid compression flag value!"; exit 1;;
esac
# Install and compress firmware files # Install and compress firmware files
ZSTD_CLEVEL=19 make -j1 install-zst FIRMWAREDIR=/usr/lib/firmware/ DESTDIR="$BPM_SOURCE"/temp ZSTD_CLEVEL=19 make -j1 "$TARGET" FIRMWAREDIR=/usr/lib/firmware/ DESTDIR="$BPM_SOURCE"/temp
make dedup FIRMWAREDIR=/usr/lib/firmware/ DESTDIR="$BPM_SOURCE"/temp make dedup FIRMWAREDIR=/usr/lib/firmware/ DESTDIR="$BPM_SOURCE"/temp
# Build AMD microcode image
mkdir -p kernel/x86/microcode
cat amd-ucode/microcode_amd*.bin > kernel/x86/microcode/AuthenticAMD.bin
# Set file timestamp for reproducability
touch -d $(date -d @0) kernel/x86/microcode/AuthenticAMD.bin
echo kernel/x86/microcode/AuthenticAMD.bin |
bsdtar --uid 0 --gid 0 -cnf - -T - |
bsdtar --null -cf - --format=newc @- > amd-ucode.img
} }
package_linux-firmware-whence() { package_linux-firmware() {
# Install whence file echo "The linux-firmware package does not include any files by itself as its purpose is to serve as a quick way to install other linux-firmware related packages on the system"
install -Dm644 WHENCE "$BPM_OUTPUT"/usr/share/licenses/linux-firmware/WHENCE
} }
# Function for packaging AMD CPU and GPU microcode package_linux-firmware-licenses() {
package_linux-firmware-amd() { # Install whence file
# Copy firmware files to amd package install -Dm644 WHENCE "$BPM_OUTPUT"/usr/share/licenses/linux-firmware-licenses/WHENCE
install -dm755 "$BPM_OUTPUT"/usr/lib/firmware/
mv temp/usr/lib/firmware/amd* "$BPM_OUTPUT"/usr/lib/firmware/
mv temp/usr/lib/firmware/radeon "$BPM_OUTPUT"/usr/lib/firmware/
# Install package licenses # Install package licenses
install -Dm644 LICENSE.amdgpu "$BPM_OUTPUT"/usr/share/licenses/linux-firmware/amd/LICENSE.amdgpu for license in "$BPM_SOURCE"/LICENSES/*; do
install -Dm644 LICENSE.amd-ucode "$BPM_OUTPUT"/usr/share/licenses/linux-firmware/amd/LICENSE.amd-ucode install -Dm644 "$license" -t "$BPM_OUTPUT"/usr/share/licenses/"$BPM_PKG_NAME"/
install -Dm644 LICENSE.radeon "$BPM_OUTPUT"/usr/share/licenses/linux-firmware/amd/LICENSE.radeon done
# AMD ucode license is installed with the amd-ucode package
rm "$BPM_OUTPUT"/usr/share/licenses/"$BPM_PKG_NAME"/LICENSE.amd-ucode
}
package_amd-ucode() {
# Copy firmware files to amd package
install -dm755 "$BPM_OUTPUT"/usr/lib/firmware/
mv temp/usr/lib/firmware/amd-ucode -t "$BPM_OUTPUT"/usr/lib/firmware/
# Install microcode image
install -Dm644 "$BPM_SOURCE"/amd-ucode.img -t "$BPM_OUTPUT"/boot
# Create dracut config for amd microcode # Create dracut config for amd microcode
install -dm755 "$BPM_OUTPUT"/usr/lib/dracut/dracut.conf.d install -dm755 "$BPM_OUTPUT"/usr/lib/dracut/dracut.conf.d
echo "early_microcode=yes" >> "$BPM_OUTPUT"/usr/lib/dracut/dracut.conf.d/amd_ucode.conf echo "early_microcode=yes" >> "$BPM_OUTPUT"/usr/lib/dracut/dracut.conf.d/amd_ucode.conf
# Install package licenses
install -Dm644 "$BPM_SOURCE"/LICENSES/LICENSE.amd-ucode "$BPM_OUTPUT"/usr/share/licenses/"$BPM_PKG_NAME"/LICENSE
} }
# Function for packaging Intel CPU and GPU microcode package_linux-firmware-amdgpu() {
package_linux-firmware-intel() { # Copy firmware files to amd package
# Copy firmware files to intel package
install -dm755 "$BPM_OUTPUT"/usr/lib/firmware/ install -dm755 "$BPM_OUTPUT"/usr/lib/firmware/
mv temp/usr/lib/firmware/i915 "$BPM_OUTPUT"/usr/lib/firmware/ mv temp/usr/lib/firmware/amdgpu -t "$BPM_OUTPUT"/usr/lib/firmware/
# Install package license # Install package licenses
install -Dm644 LICENSE.i915 "$BPM_OUTPUT"/usr/share/licenses/linux-firmware/intel/LICENSE.i915 install -d "$BPM_OUTPUT"/usr/share/licenses
ln -sf linux-firmware-licenses "$BPM_OUTPUT"/usr/share/licenses/"$BPM_PKG_NAME"
} }
# Function for packaging Nvidia GPU microcode package_linux-firmware-atheros() {
package_linux-firmware-nvidia() { # Copy firmware files to atheros package
# Copy firmware files to nvidia package
install -dm755 "$BPM_OUTPUT"/usr/lib/firmware/ install -dm755 "$BPM_OUTPUT"/usr/lib/firmware/
mv temp/usr/lib/firmware/nvidia "$BPM_OUTPUT"/usr/lib/firmware/ mv temp/usr/lib/firmware/{ar[0-9]*,ath*,carl9170*,htc_*,qca,wil6210*} -t "$BPM_OUTPUT"/usr/lib/firmware/
# Install package license # Install package licenses
install -Dm644 LICENCE.nvidia "$BPM_OUTPUT"/usr/share/licenses/linux-firmware/nvidia/LICENSE.nvidia install -d "$BPM_OUTPUT"/usr/share/licenses
ln -sf linux-firmware-licenses "$BPM_OUTPUT"/usr/share/licenses/"$BPM_PKG_NAME"
} }
package_linux-firmware-broadcom() { package_linux-firmware-broadcom() {
# Copy firmware files to broadcom packages # Copy firmware files to broadcom packages
install -dm755 "$BPM_OUTPUT"/usr/lib/firmware/ install -dm755 "$BPM_OUTPUT"/usr/lib/firmware/
mv temp/usr/lib/firmware/brcm "$BPM_OUTPUT"/usr/lib/firmware/ mv temp/usr/lib/firmware/{bnx2*,brcm,cypress,tigon} -t "$BPM_OUTPUT"/usr/lib/firmware/
mv temp/usr/lib/firmware/cypress "$BPM_OUTPUT"/usr/lib/firmware/
# Install package licenses # Install package licenses
install -Dm644 LICENCE.{broadcom_bcm43xx,cypress} -t "$BPM_OUTPUT"/usr/share/licenses/linux-firmware/broadcom/ install -d "$BPM_OUTPUT"/usr/share/licenses
ln -sf linux-firmware-licenses "$BPM_OUTPUT"/usr/share/licenses/"$BPM_PKG_NAME"
} }
package_linux-firmware-network() { package_linux-firmware-cirrus() {
_dirs=( # Copy firmware files to cirrus package
# Airoha Ethernet PHY
airoha
# Amlogic bluetooth
"amlogic/aml_w*_bt_uart.bin*"
# Atheros WLAN/bluetooth
"ath*" "ar*" "carl9170*" "htc*"
# Atmel WLAN
atmel
# ATUSB transceiver
atusb
# BNX2 Ethernet
"bnx2*"
# Sun Cassini Ethernet
"sun/cassini*"
# Chelsio Ethernet
"cxgb*"
# ST-E WLAN
"wsm_22.bin*"
# Intel WLAN/Ethernet/bluetooth
e100 "hfi1_*.fw*" "intel*" "iwlwifi*"
# Orinoco WLAN
"agere*"
# IXP4xx
ixp4xx
# KL5KUSB101 Ethernet
kaweth
# Cavium LiquidIO NIC
liquidio
# Mediatek WLAN/bluetooth
"mt7*.bin*"
# Mellanox ethernet
mellanox
# Marvell WLAN/bluetooth
mrvl "lbtf_usb.bin*" libertas mwl8k
# Multi-Tech modem
"mts_*.fw*"
# Myricom ethernet
"myri10ge*" myricom
# NXP UWB/bluetooth
"nxp/sr150_fw.bin*" "nxp/helper_uart*.bin*" "nxp/uartiw*.bin*" "nxp/uartspi*.se*" "nxp/uartuart*"
# Qualcomm WLAN/bluetooth
qca "wil6210*"
# QLogic HBA
"cbfw*.bin*" "ct2fw*.bin*" "ctfw*.bin*" "qed" "ql2*.bin*" "qlogic" "phanfw.bin*"
# Ralink WLAN
"rt*.bin*"
# Redpine WLAN/bluetooth
"rsi*"
# Realtek bluetooth/ethernet/WLAN
"rtl*" "rtw*"
# Sagrad WLAN
"sdd_sagrad_*.bin*"
# Slicoss NICs
slicoss
# Adaptec ethernet
"adaptec/starfire*"
# Tehuti NICs
tehuti
# TI WLAN/bluetooth
ti-connectivity
# Tigon ethernet
acenic tigon
# 3Com ethernet
3com
# Eagle USB modem
ueagle-atm
# Via USB WLAN
"vntwusb.fw*"
# Microchip Ethernet
"microchip/mscc_vsc85*.bin*"
# Exar Ethernet
vxge
# SiLabs WLAN
wfx
)
install -dm755 "$BPM_OUTPUT"/usr/lib/firmware/ install -dm755 "$BPM_OUTPUT"/usr/lib/firmware/
for _dir in "${_dirs[@]}"; do mv temp/usr/lib/firmware/{cirrus,cs42l43*} -t "$BPM_OUTPUT"/usr/lib/firmware/
mv temp/usr/lib/firmware/${_dir} "$BPM_OUTPUT"/usr/lib/firmware/
done
# Move mediatek directory contents except for SoC firmware # Install package licenses
install -dm755 "$BPM_OUTPUT"/usr/lib/firmware/mediatek/ install -d "$BPM_OUTPUT"/usr/share/licenses
for file in $(find temp/usr/lib/firmware/mediatek/ -maxdepth 1 -mindepth 1 ! \( -name 'mt7981*' -o -name 'mt7986*' -o -name 'mt81*' -o -name 'sof*' \)); do ln -sf linux-firmware-licenses "$BPM_OUTPUT"/usr/share/licenses/"$BPM_PKG_NAME"
mv $file -t "$BPM_OUTPUT"/usr/lib/firmware/mediatek/ }
done
#mv /!(mt7981*|mt7986*|mt81*|sof*) "$BPM_OUTPUT"/usr/lib/firmware/ package_linux-firmware-intel() {
# Copy firmware files to intel package
install -dm755 "$BPM_OUTPUT"/usr/lib/firmware/
mv temp/usr/lib/firmware/i915 "$BPM_OUTPUT"/usr/lib/firmware/
# Install package licenses
install -d "$BPM_OUTPUT"/usr/share/licenses
ln -sf linux-firmware-licenses "$BPM_OUTPUT"/usr/share/licenses/"$BPM_PKG_NAME"
}
package_linux-firmware-liquidio() {
# Copy firmware files to liquidio package
install -dm755 "$BPM_OUTPUT"/usr/lib/firmware/
mv temp/usr/lib/firmware/liquidio -t "$BPM_OUTPUT"/usr/lib/firmware/
# Install package licenses
install -d "$BPM_OUTPUT"/usr/share/licenses
ln -sf linux-firmware-licenses "$BPM_OUTPUT"/usr/share/licenses/"$BPM_PKG_NAME"
}
package_linux-firmware-marvell() {
# Copy firmware files to marvell package
install -dm755 "$BPM_OUTPUT"/usr/lib/firmware/
mv temp/usr/lib/firmware/{libertas,mwl8k,mwlwifi,mrvl} -t "$BPM_OUTPUT"/usr/lib/firmware/
# Install package licenses
install -d "$BPM_OUTPUT"/usr/share/licenses
ln -sf linux-firmware-licenses "$BPM_OUTPUT"/usr/share/licenses/"$BPM_PKG_NAME"
}
package_linux-firmware-mediatek() {
# Copy firmware files to mediatek package
install -dm755 "$BPM_OUTPUT"/usr/lib/firmware/
mv temp/usr/lib/firmware/{mediatek,mt7*,rt[237]*} -t "$BPM_OUTPUT"/usr/lib/firmware/
# Install package licenses
install -d "$BPM_OUTPUT"/usr/share/licenses
ln -sf linux-firmware-licenses "$BPM_OUTPUT"/usr/share/licenses/"$BPM_PKG_NAME"
}
package_linux-firmware-mellanox() {
# Copy firmware files to mellanox package
install -dm755 "$BPM_OUTPUT"/usr/lib/firmware/
mv temp/usr/lib/firmware/mellanox -t "$BPM_OUTPUT"/usr/lib/firmware/
# Install package licenses
install -d "$BPM_OUTPUT"/usr/share/licenses
ln -sf linux-firmware-licenses "$BPM_OUTPUT"/usr/share/licenses/"$BPM_PKG_NAME"
}
package_linux-firmware-nfp() {
# Copy firmware files to nfp package
install -dm755 "$BPM_OUTPUT"/usr/lib/firmware/
mv temp/usr/lib/firmware/netronome -t "$BPM_OUTPUT"/usr/lib/firmware/
# Install package licenses
install -d "$BPM_OUTPUT"/usr/share/licenses
ln -sf linux-firmware-licenses "$BPM_OUTPUT"/usr/share/licenses/"$BPM_PKG_NAME"
}
package_linux-firmware-nvidia() {
# Copy firmware files to nvidia package
install -dm755 "$BPM_OUTPUT"/usr/lib/firmware/
mv temp/usr/lib/firmware/nvidia "$BPM_OUTPUT"/usr/lib/firmware/
# Install package licenses
install -d "$BPM_OUTPUT"/usr/share/licenses
ln -sf linux-firmware-licenses "$BPM_OUTPUT"/usr/share/licenses/"$BPM_PKG_NAME"
}
package_linux-firmware-qcom() {
# Copy firmware files to qcom package
install -dm755 "$BPM_OUTPUT"/usr/lib/firmware/
mv temp/usr/lib/firmware/{qcom,a300_*} -t "$BPM_OUTPUT"/usr/lib/firmware/
# Install package licenses
install -d "$BPM_OUTPUT"/usr/share/licenses
ln -sf linux-firmware-licenses "$BPM_OUTPUT"/usr/share/licenses/"$BPM_PKG_NAME"
}
package_linux-firmware-qlogic() {
# Copy firmware files to qlogic package
install -dm755 "$BPM_OUTPUT"/usr/lib/firmware/
mv temp/usr/lib/firmware/{qlogic,qed,ql2???_*,c{b,t,t2}fw-*} -t "$BPM_OUTPUT"/usr/lib/firmware/
# Install package licenses
install -d "$BPM_OUTPUT"/usr/share/licenses
ln -sf linux-firmware-licenses "$BPM_OUTPUT"/usr/share/licenses/"$BPM_PKG_NAME"
}
package_linux-firmware-radeon() {
# Copy firmware files to radeon package
install -dm755 "$BPM_OUTPUT"/usr/lib/firmware/
mv temp/usr/lib/firmware/radeon -t "$BPM_OUTPUT"/usr/lib/firmware/
# Install package licenses
install -d "$BPM_OUTPUT"/usr/share/licenses
ln -sf linux-firmware-licenses "$BPM_OUTPUT"/usr/share/licenses/"$BPM_PKG_NAME"
}
package_linux-firmware-realtek() {
# Copy firmware files to radeon package
install -dm755 "$BPM_OUTPUT"/usr/lib/firmware/
mv temp/usr/lib/firmware/{realtek,rtlwifi,rtw8*,rtl_*} -t "$BPM_OUTPUT"/usr/lib/firmware/
# Install package licenses
install -d "$BPM_OUTPUT"/usr/share/licenses
ln -sf linux-firmware-licenses "$BPM_OUTPUT"/usr/share/licenses/"$BPM_PKG_NAME"
}
package_linux-firmware-other() {
# Copy remaining files to other package
install -dm755 "$BPM_OUTPUT"/usr/lib/firmware/
mv temp/usr/lib/firmware/* -t "$BPM_OUTPUT"/usr/lib/firmware/
# Install package licenses
install -d "$BPM_OUTPUT"/usr/share/licenses
ln -sf linux-firmware-licenses "$BPM_OUTPUT"/usr/share/licenses/"$BPM_PKG_NAME"
} }