From 6baf2077511c00555886eceb2ecf099f6a431476 Mon Sep 17 00:00:00 2001 From: CapCreeperGR Date: Fri, 12 Jul 2024 15:43:08 +0000 Subject: [PATCH] Turned linux-firmware-amd to split package linux-firmware --- pkg.info | 6 ++-- pkg.info.linux-firmware-amd | 7 +++++ pkg.info.linux-firmware-intel | 7 +++++ pkg.info.linux-firmware-nvidia | 7 +++++ source.sh | 55 +++++++++++++++++++++++----------- 5 files changed, 61 insertions(+), 21 deletions(-) create mode 100644 pkg.info.linux-firmware-amd create mode 100644 pkg.info.linux-firmware-intel create mode 100644 pkg.info.linux-firmware-nvidia diff --git a/pkg.info b/pkg.info index 0be54fa..c014f6f 100644 --- a/pkg.info +++ b/pkg.info @@ -1,7 +1,7 @@ -name: linux-firmware-amd -description: AMD CPU and GPU firmware files +name: linux-firmware +description: Base source package for all linux firmware files version: 20240709 url: https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git -license: See /usr/share/licenses/linux-firmware/amd +license: See /usr/share/licenses/linux-firmware/ architecture: any type: source diff --git a/pkg.info.linux-firmware-amd b/pkg.info.linux-firmware-amd new file mode 100644 index 0000000..5fb4941 --- /dev/null +++ b/pkg.info.linux-firmware-amd @@ -0,0 +1,7 @@ +name: linux-firmware-amd +description: AMD CPU and GPU microcode +version: 20240709 +url: https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git +license: See /usr/share/licenses/linux-firmware/amd +architecture: any +type: source diff --git a/pkg.info.linux-firmware-intel b/pkg.info.linux-firmware-intel new file mode 100644 index 0000000..df04a1d --- /dev/null +++ b/pkg.info.linux-firmware-intel @@ -0,0 +1,7 @@ +name: linux-firmware-intel +description: Intel CPU and GPU microcode +version: 20240709 +url: https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git +license: See /usr/share/licenses/linux-firmware/intel +architecture: any +type: source diff --git a/pkg.info.linux-firmware-nvidia b/pkg.info.linux-firmware-nvidia new file mode 100644 index 0000000..dcd37af --- /dev/null +++ b/pkg.info.linux-firmware-nvidia @@ -0,0 +1,7 @@ +name: linux-firmware-nvidia +description: Nvidia GPU microcode +version: 20240709 +url: https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git +license: See /usr/share/licenses/linux-firmware/nvidia +architecture: any +type: source diff --git a/source.sh b/source.sh index 8d25602..29599fb 100644 --- a/source.sh +++ b/source.sh @@ -12,22 +12,41 @@ prepare() { tar -xvf "$FILENAME" --strip-components=1 -C "$BPM_SOURCE" } -# The package function is executed in the source directory -# This function is used to move the compiled files into the output directory -package() { - make install FIRMWAREDIR=/usr/lib/firmware/temp DESTDIR="$BPM_OUTPUT" - mkdir -p "$BPM_OUTPUT"/usr/share/licenses/linux-firmware/temp - mkdir -p "$BPM_OUTPUT"/usr/share/licenses/linux-firmware/amd - cp LICENSE* "$BPM_OUTPUT"/usr/share/licenses/linux-firmware/temp - cp LICENCE* "$BPM_OUTPUT"/usr/share/licenses/linux-firmware/temp/ - cd "$BPM_OUTPUT" - mv usr/lib/firmware/temp/amd* usr/lib/firmware/ - mv usr/lib/firmware/temp/radeon usr/lib/firmware/ - mv usr/share/licenses/linux-firmware/temp/LICENSE.amdgpu usr/share/licenses/linux-firmware/amd/ - mv usr/share/licenses/linux-firmware/temp/LICENSE.amd-ucode usr/share/licenses/linux-firmware/amd/ - mv usr/share/licenses/linux-firmware/temp/LICENSE.radeon usr/share/licenses/linux-firmware/amd/ - mkdir -p usr/lib/dracut/dracut.conf.d - echo "early_microcode=yes" >> usr/lib/dracut/dracut.conf.d/amd_ucode.conf - rm -r usr/lib/firmware/temp - rm -r usr/share/licenses/linux-firmware/temp +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/ +} + +# 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 + 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/ +} + +# Function for packaging GPU Nvidia 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 }