1
0
mirror of https://github.com/rancher/os-kernel.git synced 2025-04-28 02:30:07 +00:00
os-kernel/scripts/test-firmware
2019-06-10 08:22:34 +02:00

40 lines
1.0 KiB
Bash
Executable File

#!/bin/bash
set -e
cd $(dirname $0)/..
FIRMWARE=$(readlink -f firmware/${KERNEL_ARCH}/firmware)
echo "FIRMWARE test: $FIRMWARE"
if [ ! -e linux-firmware ]; then
git clone git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
pushd linux-firmware
git checkout -b ${FIRMWARE_TAG} ${FIRMWARE_TAG}
popd
fi
cd linux-firmware
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
else
echo $i >> new-firmware
fi
else
echo WARNING: Firmware listed in $FIRMWARE Not found $i
fi
done
if [ "$STOP" != "" ]; then
echo "Update the $FIRMWARE file:"
cat new-firmware
exit 1
fi