diff options
author | Petr Štetiar <ynezz@true.cz> | 2022-02-24 17:37:45 +0100 |
---|---|---|
committer | Petr Štetiar <ynezz@true.cz> | 2022-02-28 15:17:11 +0100 |
commit | 57f7a86c681b70c688f51e26d31e45baf64ac5f9 (patch) | |
tree | 2d0cfb3555dbcb65012f57545797edf6307d5d5e | |
parent | 9116096c0f1abe3cdb07ad9c9340dd4ca65ce797 (diff) | |
download | upstream-57f7a86c681b70c688f51e26d31e45baf64ac5f9.tar.gz upstream-57f7a86c681b70c688f51e26d31e45baf64ac5f9.tar.bz2 upstream-57f7a86c681b70c688f51e26d31e45baf64ac5f9.zip |
check-toolchain-clean.sh: workaround stray rebuilds
It seems, that there are currently some unhandled corner cases in which
`.toolchain_build_ver` results in empty file and thus forcing rebuilds,
even if the toolchain was build correctly just a few moments ago. Until
proper fix is found, workaround that by checking for this corner case
and simply populate `.toolchain_build_ver` file.
While at it, improve the UX and display version mismatch, so it's more
clear what has forced the rebuild:
"Toolchain build version changed (11.2.0-1 != ), running make targetclean"
References: https://gitlab.com/ynezz/openwrt/-/jobs/2133332533/raw
Signed-off-by: Petr Štetiar <ynezz@true.cz>
-rwxr-xr-x | scripts/check-toolchain-clean.sh | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/scripts/check-toolchain-clean.sh b/scripts/check-toolchain-clean.sh index 34b82dec5d..455cfb0449 100755 --- a/scripts/check-toolchain-clean.sh +++ b/scripts/check-toolchain-clean.sh @@ -2,8 +2,13 @@ eval "$(grep CONFIG_GCC_VERSION .config)" CONFIG_TOOLCHAIN_BUILD_VER="$CONFIG_GCC_VERSION-$(cat toolchain/build_version)" touch .toolchain_build_ver -[ "$CONFIG_TOOLCHAIN_BUILD_VER" = "$(cat .toolchain_build_ver)" ] && exit 0 -echo "Toolchain build version changed, running make targetclean" +CURRENT_TOOLCHAIN_BUILD_VER="$(cat .toolchain_build_ver)" +[ -z "$CURRENT_TOOLCHAIN_BUILD_VER" ] && { + echo "$CONFIG_TOOLCHAIN_BUILD_VER" > .toolchain_build_ver + exit 0 +} +[ "$CONFIG_TOOLCHAIN_BUILD_VER" = "$CURRENT_TOOLCHAIN_BUILD_VER" ] && exit 0 +echo "Toolchain build version changed ($CONFIG_TOOLCHAIN_BUILD_VER != $CURRENT_TOOLCHAIN_BUILD_VER), running make targetclean" make targetclean echo "$CONFIG_TOOLCHAIN_BUILD_VER" > .toolchain_build_ver exit 0 |