GNU Make version 4.2 chokes on `#` characters embedded in variable
substitutions, leading to the following error:
../../luci.mk:114: *** unterminated call to function 'if': missing ')'. Stop.
Avoid this problem by replacing variable substitutions with Git branch
format arguments.
Ref: https://github.com/openwrt/luci/pull/5976#issuecomment-
1289935106
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit
639e7faa1ad25b0bc2ffd5bfec79c2b9d95a50ee)
PKG_GITBRANCH?=$(if $(DUMP),x,$(strip $(shell \
variant="LuCI"; \
if git log -1 >/dev/null 2>/dev/null; then \
- branch=$$(git branch --remote --no-abbrev --contains 2>/dev/null | tail -n1); \
- branch=$${branch:-$$(git branch --no-abbrev --contains 2>/dev/null)}; \
- branch=$${branch#? }; branch=$${branch#*/}; \
+ branch=$$(git branch --format='%(refname:strip=3)' --remote --no-abbrev --contains 2>/dev/null | tail -n1); \
+ branch=$${branch:-$$(git branch --format='%(refname:strip=2)' --no-abbrev --contains 2>/dev/null | tail -n1)}; \
if [ "$$branch" != "master" ]; then \
variant="LuCI $${branch:-unknown} branch"; \
else \