kernel-firmware/make-files.sh
Takashi Iwai 6ca2b761af Accepting request 1108150 from home:tiwai:branches:Kernel:HEAD
- Update to version 20230829 (git commit 49f9e3479fb5):
  * i915: Update MTL DMC to v2.16
  * copy-firmware: Introduce 'RawFile' keyword
  * copy-firmware: Support additional compressor options
  * linux-firmware: Update firmware file for Intel Bluetooth AX203
  * linux-firmware: Update firmware file for Intel Bluetooth AX203
  * linux-firmware: Update firmware file for Intel Bluetooth AX211
  * linux-firmware: Update firmware file for Intel Bluetooth AX211
  * linux-firmware: Update firmware file for Intel Bluetooth AX210
  * linux-firmware: Update firmware file for Intel Bluetooth AX200
  * linux-firmware: Update firmware file for Intel Bluetooth AX201
  * linux-firmware: update firmware for qat_4xxx devices
  * linux-firmware: Update AMD SEV firmware
  * amdgpu: update DMCUB to 0.0.181.0 for various AMDGPU ASICs
  * rtw89: 8852b: update fw to v0.29.29.3
  * rtw89: 8851b: update fw to v0.29.41.2
  * i915: add GSC 102.0.0.1655 for MTL
  * amdgpu: DMCUB updates for various AMDGPU asics
- Switch to the compressed / split installation as default, make
  uncompressed / raw package as a multibuild flavor, instead
  as a preliminary work for dropping the big kernel-firmware
  (bsc#1214789)
- Use the standard copy-file.sh for split package installation, too
  Another scirpt, make-files.sh, is provided for generating file lists
- Ignore README in copy-file.sh:
  copy-file-ignore-README.patch
- Workaround for installing raw files for ucode-amd:
  amd-ucode-rawfile.patch
- Drop the obsolsted revert of rtw8822c_fw.bin
- Update aliases from 6.5

OBS-URL: https://build.opensuse.org/request/show/1108150
OBS-URL: https://build.opensuse.org/package/show/Kernel:HEAD/kernel-firmware?expand=0&rev=440
2023-08-30 15:16:26 +00:00

114 lines
2.1 KiB
Bash

#!/bin/sh
#
# Read WHENCE from stdin create files-xxx for each topic
#
# usage: make-files.sh [-v] topics.list DESTDIR < WHENCE
#
verbose=:
if [ x"$1" = x"-v" ]; then
verbose=echo
shift
fi
topics="$1"
DESTDIR="$2"
fwdir=${3:-/lib/firmware}
dest=$DESTDIR/$fwdir
do_compress=1
if [ -n "$do_compress" ]; then
cext=".xz"
else
cext=""
fi
make_dirs () {
local f="$1"
local d=$(dirname "$f")
if [ "$d" != "." ]; then
while true; do
if ! grep -q '%dir '"$fwdir/$d"'$' files-$topic; then
echo "%dir $fwdir/$d" >> files-$topic
fi
case "$d" in
*/*) d=${d%/*};;
*) break;;
esac
done
fi
}
copy_link () {
local f="$1"
local lf="$2"
local src="${f%/*}"
if [ "$src" = "$f" ]; then
src="$lf"
else
src="$src/$lf"
fi
make_dirs "$f"
if [ -d "$dest/$src" ]; then
echo "\"$fwdir/$f\"" >> files-$topic
else
echo "\"$fwdir/$f$cext\"" >> files-$topic
fi
}
sub="xxx"
while read l; do
test -z "$l" && continue
case "$l" in
----*)
sub=""
topic=""
;;
Driver:*)
test -n "$sub" && continue
sub=$(echo "$l" | sed -e's/Driver: *//' -e's/[ :].*$//')
m=$(grep -m1 "^$sub": "$topics" | sed -e's/^.*:[[:space:]]*//')
test -z "$m" && continue
set -- $m
topic="$1"
if [ "$topic" = "SKIP" ]; then
continue
fi
$verbose "Switching to topic $topic"
if [ -n "$topic" ]; then
if [ ! -s files-$topic ]; then
echo "%dir $fwdir" > files-$topic
fi
fi
;;
File:*|RawFile:*)
test "$topic" = "SKIP" && continue
if [ -z "$topic" ]; then
echo "ERROR: no topic found for $l"
exit 1
fi
f=$(echo "$l" | sed -e's/^File: *//' -e's/"//g' -e's/\\//g')
case "$f" in
*/README)
continue;;
esac
make_dirs "$f"
echo "\"$fwdir/$f$cext\"" >> files-$topic
;;
Link:*)
test "$topic" = "SKIP" && continue
if [ -z "$topic" ]; then
echo "ERROR: no topic found for $l"
exit 1
fi
f=$(echo "$l" | sed -e's/^Link: *//' -e's/ *->.*$//' -es'/\\//g')
d=$(echo "$l" | sed -e's/^.*-> *//' -e's/\\//g')
copy_link "$f" "$d"
;;
esac
done
exit 0