linux-firmware/debian/scripts/compress-firmware

35 lines
621 B
Plaintext
Raw Permalink Normal View History

2023-02-23 21:02:13 +01:00
#!/bin/bash -eu
#
# Compress firmware blobs
#
if [ $# -ne 1 ] ; then
echo "Usage: compress-firmware <dirname>" >&2
exit 2
fi
if ! [ -d "${1}" ] ; then
echo "No such directory: ${1}" >&2
exit 1
fi
echo "Compress firmware files in ${1} ..."
while IFS= read -r f ; do
if [ "${f%.xz}" = "${f}" ] ; then
xz -F xz -C crc32 "${f}"
fi
done < <(find "${1}" -type f)
echo "Recreate symlinks in ${1} ..."
while IFS= read -r l ; do
if [ "${l%.xz}" = "${l}" ] ; then
t=$(readlink "${l}")
if ( cd "${l%/*}" && ! [ -d "${t}" ] ) ; then
ln -s "${t}".xz "${l}".xz
rm "${l}"
fi
fi
done < <(find "${1}" -type l)