u-boot/scripts/dtc-version.sh
Martin Hundebøll f07381529b scripts: dtc-version: support git version strings too
Building dtc from git causes the version number to start with a 'v'
(e.g. v1.7.0). printf then fails to parse 'v1' as a decimal value, and
prints '000700' instead of '010700'. Subsequently, the build fails,
because '000700' is less than the required '010400' version.

Signed-off-by: Martin Hundebøll <martin@geanix.com>
2023-05-15 14:08:44 -04:00

28 lines
656 B
Bash
Executable File

#!/bin/sh
# SPDX-License-Identifier: GPL-2.0+
#
# dtc-version dtc-command
#
# Prints the dtc version of `dtc-command' in a canonical 6-digit form
# such as `010404' for dtc 1.4.4
#
dtc="$*"
if [ ${#dtc} -eq 0 ]; then
echo "Error: No dtc command specified"
printf "Usage:\n\t$0 <dtc-command>\n"
exit 1
fi
if ! which $dtc >/dev/null ; then
echo "Error: Cannot find dtc: $dtc"
exit 1
fi
MAJOR=$($dtc -v | head -1 | awk '{print $NF}' | cut -d . -f 1 | tr -d v)
MINOR=$($dtc -v | head -1 | awk '{print $NF}' | cut -d . -f 2)
PATCH=$($dtc -v | head -1 | awk '{print $NF}' | cut -d . -f 3 | cut -d - -f 1)
printf "%02d%02d%02d\\n" $MAJOR $MINOR $PATCH