mirror of
https://gitlab.com/buildroot.org/buildroot.git
synced 2026-09-30 22:11:59 -09:00
support/dependencies/check-host-cmake.sh: verify version argument
When running 'make show-info-all' without a '.config', it is possible to
trigger this script without passing a version number.
The 'show-info-all' target is special because it forces the reading of
all packages without requiring a .config, so BR2_HOST_CMAKE_AT_LEAST is
unset and the script is called as:
check-host-cmake.sh cmake cmake3
Without validation, the integer comparisons below would produce errors
like:
check-host-cmake.sh: line 37: [: cmake: integer expected
It's possible to trigger this by adding the following file somewhere in
you path:
cat >/bin/cmake3 <<EOF
echo "cmake version 4.3.3 CMake suite maintained and supported by Kitware (kitware.com/cmake)."
EOF
make show-info-all
The same issue can also occur with pkg-stats.
Signed-off-by: Thomas Perale <thomas.perale@mind.be>
Signed-off-by: Arnout Vandecappelle <arnout@rnout.be>
(cherry picked from commit e7533662a4)
Signed-off-by: Thomas Perale <thomas.perale@mind.be>
This commit is contained in:
@@ -6,6 +6,18 @@
|
|||||||
major_min="${1%.*}"
|
major_min="${1%.*}"
|
||||||
minor_min="${1#*.}"
|
minor_min="${1#*.}"
|
||||||
|
|
||||||
|
# When running 'make show-info-all' or pkg-stats, it is possible to trigger this
|
||||||
|
# script without passing a version number. These cases are special because they
|
||||||
|
# force the reading of all packages without requiring a .config, so
|
||||||
|
# BR2_HOST_CMAKE_AT_LEAST is unset and the script is called as:
|
||||||
|
# check-host-cmake.sh cmake cmake3
|
||||||
|
# Without validation, the integer comparisons below would produce errors like:
|
||||||
|
# check-host-cmake.sh: line 37: [: cmake: integer expected
|
||||||
|
# The following lines checks we have a single digit number from $1 before
|
||||||
|
# continuing the script.
|
||||||
|
[ "${major_min}" -eq "${major_min}" ] 2>/dev/null || exit 1
|
||||||
|
[ "${minor_min}" -eq "${minor_min}" ] 2>/dev/null || exit 1
|
||||||
|
|
||||||
shift
|
shift
|
||||||
|
|
||||||
for candidate; do
|
for candidate; do
|
||||||
|
|||||||
Reference in New Issue
Block a user