From 6ef2dcc55756fded9b71983119d1a38f8ca6fdf6 Mon Sep 17 00:00:00 2001 From: EnumDev Date: Fri, 2 May 2025 20:30:25 +0300 Subject: [PATCH] Update package version to 20250311 --- pkg.info | 5 +++-- source.sh | 60 +++++++++++++++++++++++++++++++++---------------------- 2 files changed, 39 insertions(+), 26 deletions(-) diff --git a/pkg.info b/pkg.info index a507a9c..b72ad3c 100644 --- a/pkg.info +++ b/pkg.info @@ -1,13 +1,14 @@ name: linux-firmware description: Base source package for all linux firmware files -version: 20240709 -revision: 3 +version: 20250311 url: https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git license: See /usr/share/licenses/linux-firmware/ architecture: any type: source make_depends: ["rdfind"] split_packages: + - name: linux-firmware-whence + description: Origin and licensing information for linux firmware - name: linux-firmware-amd description: AMD CPU and GPU microcode - name: linux-firmware-intel diff --git a/source.sh b/source.sh index 085c36a..78a64b1 100644 --- a/source.sh +++ b/source.sh @@ -13,40 +13,52 @@ prepare() { } build() { - mkdir -p temp/usr/share/licenses/linux-firmware/ - make install FIRMWAREDIR=/usr/lib/firmware/ DESTDIR="$BPM_SOURCE"/temp - cp LICENSE* "$BPM_SOURCE"/temp/usr/share/licenses/linux-firmware/ - cp LICENCE* "$BPM_SOURCE"/temp/usr/share/licenses/linux-firmware/ + # Create temporary directory for firmware installation + install -dm755 "$BPM_SOURCE"/temp + + # Install and compress firmware files + ZSTD_CLEVEL=19 make -j1 install-zst FIRMWAREDIR=/usr/lib/firmware/ DESTDIR="$BPM_SOURCE"/temp + make dedup FIRMWAREDIR=/usr/lib/firmware/ DESTDIR="$BPM_SOURCE"/temp +} + +package_linux-firmware-whence() { + # Install whence file + install -Dm644 WHENCE "$BPM_OUTPUT"/usr/share/licenses/linux-firmware/WHENCE } # Function for packaging AMD CPU and GPU microcode package_linux-firmware-amd() { - mkdir -p "$BPM_OUTPUT"/usr/share/licenses/linux-firmware/amd/ - mkdir -p "$BPM_OUTPUT"/usr/lib/firmware/ - cd "$BPM_SOURCE"/temp - mv usr/lib/firmware/amd* "$BPM_OUTPUT"/usr/lib/firmware/ - mv usr/lib/firmware/radeon "$BPM_OUTPUT"/usr/lib/firmware/ - mv usr/share/licenses/linux-firmware/LICENSE.amdgpu "$BPM_OUTPUT"/usr/share/licenses/linux-firmware/amd/ - mv usr/share/licenses/linux-firmware/LICENSE.amd-ucode "$BPM_OUTPUT"/usr/share/licenses/linux-firmware/amd/ - mv usr/share/licenses/linux-firmware/LICENSE.radeon "$BPM_OUTPUT"/usr/share/licenses/linux-firmware/amd/ - mkdir -p "$BPM_OUTPUT"/usr/lib/dracut/dracut.conf.d + # Copy firmware files to amd package + 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 -Dm644 LICENSE.amdgpu "$BPM_OUTPUT"/usr/share/licenses/linux-firmware/amd/LICENSE.amdgpu + install -Dm644 LICENSE.amd-ucode "$BPM_OUTPUT"/usr/share/licenses/linux-firmware/amd/LICENSE.amd-ucode + install -Dm644 LICENSE.radeon "$BPM_OUTPUT"/usr/share/licenses/linux-firmware/amd/LICENSE.radeon + + # Create dracut config for amd microcode + 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 } # Function for packaging Intel CPU and GPU microcode package_linux-firmware-intel() { - mkdir -p "$BPM_OUTPUT"/usr/share/licenses/linux-firmware/intel/ - mkdir -p "$BPM_OUTPUT"/usr/lib/firmware/ - cd "$BPM_SOURCE"/temp - mv usr/lib/firmware/i915 "$BPM_OUTPUT"/usr/lib/firmware/ - mv usr/share/licenses/linux-firmware/LICENSE.i915 "$BPM_OUTPUT"/usr/share/licenses/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 license + install -Dm644 LICENSE.i915 "$BPM_OUTPUT"/usr/share/licenses/linux-firmware/intel/LICENSE.i915 } -# Function for packaging GPU Nvidia microcode +# Function for packaging Nvidia GPU microcode package_linux-firmware-nvidia() { - mkdir -p "$BPM_OUTPUT"/usr/share/licenses/linux-firmware/nvidia/ - mkdir -p "$BPM_OUTPUT"/usr/lib/firmware/ - cd "$BPM_SOURCE"/temp - mv usr/lib/firmware/nvidia "$BPM_OUTPUT"/usr/lib/firmware/ - mv usr/share/licenses/linux-firmware/LICENCE.nvidia "$BPM_OUTPUT"/usr/share/licenses/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 license + install -Dm644 LICENCE.nvidia "$BPM_OUTPUT"/usr/share/licenses/linux-firmware/nvidia/LICENSE.nvidia }