From b9159c53472d1788284d363dc6ffff8c2542e4be Mon Sep 17 00:00:00 2001 From: Hannu Nyman Date: Sun, 23 Apr 2017 09:36:29 +0300 Subject: [PATCH] luci.mk: fix length of abbreviated hash in version Fix the length of the abbreviated commit hash used in the LuCI version string used in the package names. Use the old standard of seven characters in hash. New git versions vary the length of the abbreviated commit hash based on the number of objects in repo. That may lead into different hash lengths with e.g. having full/shallow git history, having all/single branch or having different git versions in different build hosts. Different hash lengths in package name may lead to sneaky opkg install errors, as opkg apparently preserves info for removed packages and may prefer that. Example: $ opkg install http://downloads...luci-app-statistics_git-17.073.42825-b47a21f-1_all.ipk Downloading http://downloads...luci-app-statistics_git-17.073.42825-b47a21f-1_all.ipk Installing luci-app-statistics (git-17.073.42825-b47a21fbb-1) to root... Collected errors: * opkg_download_pkg: Package luci-app-statistics is not available from any configured src. The error above is ultimately in opkg, but mitigate the problem by fixing the hash length when building LuCI. Signed-off-by: Hannu Nyman --- luci.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/luci.mk b/luci.mk index 137886f1b..7674825b4 100644 --- a/luci.mk +++ b/luci.mk @@ -56,7 +56,7 @@ PKG_VERSION?=$(if $(DUMP),x,$(strip $(shell \ elif git log -1 >/dev/null 2>/dev/null; then \ revision="svn-r$$(LC_ALL=C git log -1 | sed -ne 's/.*git-svn-id: .*@\([0-9]\+\) .*/\1/p')"; \ if [ "$$revision" = "svn-r" ]; then \ - set -- $$(git log -1 --format="%ct %h"); \ + set -- $$(git log -1 --format="%ct %h" --abbrev=7); \ secs="$$(($$1 % 86400))"; \ yday="$$(date --utc --date="@$$1" "+%y.%j")"; \ revision="$$(printf 'git-%s.%05d-%s' "$$yday" "$$secs" "$$2")"; \ -- 2.25.1