1
0
mirror of https://github.com/rancher/os-kernel.git synced 2025-05-04 13:16:19 +00:00
os-kernel/scripts/test-firmware

40 lines
1.0 KiB
Plaintext
Raw Permalink Normal View History

#!/bin/bash
set -e
cd $(dirname $0)/..
2018-11-30 09:12:34 +00:00
FIRMWARE=$(readlink -f firmware/${KERNEL_ARCH}/firmware)
echo "FIRMWARE test: $FIRMWARE"
2018-11-29 02:51:04 +00:00
if [ ! -e linux-firmware ]; then
git clone git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
2019-06-10 05:13:25 +00:00
pushd linux-firmware
git checkout -b ${FIRMWARE_TAG} ${FIRMWARE_TAG}
popd
2018-11-29 02:51:04 +00:00
fi
2018-11-29 02:51:04 +00:00
cd linux-firmware
2018-11-29 02:51:04 +00:00
for i in $(<$FIRMWARE); do
if [ -e $i ]; then
glob=$(echo $i | sed 's/^\(.*\)-\([^-]*\)\.\([^.]*\)/\1-*.\3/')
#echo Found $i, trying $glob
latest=$(ls $glob | xargs -n1 -I{} -- git log -1 --format="%ai {}" {} | sort | tail -n1 | cut -d " " -f4)
if [ "$latest" != "$i" ]; then
echo "ERROR: Firmware $i in $FIRMWARE is not the latest - update to $latest"
STOP="1"
echo $latest >> new-firmware
2018-11-08 08:10:23 +00:00
else
2018-11-29 02:51:04 +00:00
echo $i >> new-firmware
2018-11-08 08:10:23 +00:00
fi
2018-11-29 02:51:04 +00:00
else
echo WARNING: Firmware listed in $FIRMWARE Not found $i
fi
done
if [ "$STOP" != "" ]; then
2018-11-08 08:10:23 +00:00
echo "Update the $FIRMWARE file:"
cat new-firmware
exit 1
fi