summaryrefslogtreecommitdiff
path: root/scripts/check-toolchain-clean.sh
diff options
context:
space:
mode:
authorPetr Štetiar <ynezz@true.cz>2022-02-24 17:37:45 +0100
committerPetr Štetiar <ynezz@true.cz>2022-02-28 15:17:11 +0100
commit57f7a86c681b70c688f51e26d31e45baf64ac5f9 (patch)
tree2d0cfb3555dbcb65012f57545797edf6307d5d5e /scripts/check-toolchain-clean.sh
parent9116096c0f1abe3cdb07ad9c9340dd4ca65ce797 (diff)
downloadopenwrt-57f7a86c681b70c688f51e26d31e45baf64ac5f9.tar.gz
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>
Diffstat (limited to 'scripts/check-toolchain-clean.sh')
-rwxr-xr-xscripts/check-toolchain-clean.sh9
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