diff options
Diffstat (limited to 'sys-kernel/linux-firmware/files/linux-firmware-copy-firmware-r3.patch')
-rw-r--r-- | sys-kernel/linux-firmware/files/linux-firmware-copy-firmware-r3.patch | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/sys-kernel/linux-firmware/files/linux-firmware-copy-firmware-r3.patch b/sys-kernel/linux-firmware/files/linux-firmware-copy-firmware-r3.patch new file mode 100644 index 000000000000..0801b60f5ffa --- /dev/null +++ b/sys-kernel/linux-firmware/files/linux-firmware-copy-firmware-r3.patch @@ -0,0 +1,59 @@ +From 4eee756fa1e02c3e8ea168ac0efa16b30dae3b25 Mon Sep 17 00:00:00 2001 +From: Mike Pagano <mpagano@gentoo.org> +Date: Sat, 23 Dec 2023 13:14:58 -0500 +Subject: [PATCH] [PATCH] copy-firmware.sh: Support passing in firmware files + to install +Cc: mpagano@gentoo.org + +This change adds support to copy-firmware.sh to accept a space separated +list of firmware files to install. + +This allows our users to define a small subset of needed firmware files +their system requires without installing every firmware file included +from the repository. + +Signed-off-by: Mike Pagano <mpagano@gentoo.org> +--- + copy-firmware.sh | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +diff --git a/copy-firmware.sh b/copy-firmware.sh +index 6757c6ce..d954230d 100755 +--- a/copy-firmware.sh ++++ b/copy-firmware.sh +@@ -50,6 +50,16 @@ while test $# -gt 0; do + shift + ;; + ++ --firmware-list) ++ if [ -n "$2" ]; then ++ FIRMWARE_LIST=$2 ++ shift 2 ++ else ++ echo "ERROR: '--firmware-list' requires a non-empty option argument of firmware files to install" ++ exit 1 ++ fi ++ ;; ++ + -*) + if test "$compress" = "cat"; then + echo "ERROR: unknown command-line option: $1" +@@ -85,6 +95,7 @@ fi + # shellcheck disable=SC2162 # file/folder name can include escaped symbols + grep -E '^(RawFile|File):' WHENCE | sed -E -e 's/^(RawFile|File): */\1 /;s/"//g' | while read k f; do + test -f "$f" || continue ++ [ -n "${FIRMWARE_LIST}" ] && if ! echo "${FIRMWARE_LIST}" | grep -q "${f}"; then continue; fi + install -d "$destdir/$(dirname "$f")" + $verbose "copying/compressing file $f$compext" + if test "$compress" != "cat" && test "$k" = "RawFile"; then +@@ -107,6 +118,7 @@ fi + + # shellcheck disable=SC2162 # file/folder name can include escaped symbols + grep -E '^Link:' WHENCE | sed -e 's/^Link: *//g;s/-> //g' | while read f d; do ++ [ -n "${FIRMWARE_LIST}" ] && if ! echo "${FIRMWARE_LIST}" | grep -q "${f}"; then continue; fi + if test -L "$f$compext"; then + test -f "$destdir/$f$compext" && continue + $verbose "copying link $f$compext" +-- +2.41.0 + |