LuCI: Display the proper LuCI git branch in GUI

Adjust luci.mk and luci-base to find out correctly if Luci is built
from master or from a branch. Display that value in the footer and
the overview page.

* Evaluate the git branch in luci.mk and pass that to LuCI submodules
  as a make variable. Use branch name, ignore tags.
* Deprecate svn detection in luci-base's mkversion.sh that generates
  version.lua. Simply use the value passed by make.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
This commit is contained in:
Hannu Nyman 2016-03-10 19:50:58 +02:00
parent ac9b31ca46
commit 7553654bb1
3 changed files with 16 additions and 26 deletions

15
luci.mk
View File

@ -66,6 +66,19 @@ PKG_VERSION?=$(if $(DUMP),x,$(strip $(shell \
echo "$$revision" \
)))
PKG_GITBRANCH?=$(if $(DUMP),x,$(strip $(shell \
variant="LuCI"; \
if git log -1 >/dev/null 2>/dev/null; then \
branch="$$(git symbolic-ref --short -q HEAD 2>/dev/null)"; \
if [ "$$branch" != "master" ]; then \
variant="LuCI $$branch branch"; \
else \
variant="LuCI Master"; \
fi; \
fi; \
echo "$$variant" \
)))
PKG_RELEASE?=1
PKG_INSTALL:=$(if $(realpath src/Makefile),1)
PKG_BUILD_DEPENDS += lua/host luci-base/host $(LUCI_BUILD_DEPENDS)
@ -121,7 +134,7 @@ endef
ifneq ($(wildcard ${CURDIR}/src/Makefile),)
MAKE_PATH := src/
MAKE_VARS += FPIC="$(FPIC)" LUCI_VERSION="$(PKG_VERSION)"
MAKE_VARS += FPIC="$(FPIC)" LUCI_VERSION="$(PKG_VERSION)" LUCI_GITBRANCH="$(PKG_GITBRANCH)"
define Build/Compile
$(call Build/Compile/Default,clean compile)

View File

@ -11,7 +11,7 @@ parser.so: template_parser.o template_utils.o template_lmo.o template_lualib.o
$(CC) $(LDFLAGS) -shared -o $@ $^
version.lua:
./mkversion.sh $@ $(LUCI_VERSION)
./mkversion.sh $@ $(LUCI_VERSION) "$(LUCI_GITBRANCH)"
compile: parser.so version.lua

View File

@ -1,28 +1,5 @@
#!/bin/sh
if svn info >/dev/null 2>/dev/null; then
if [ "${4%%/*}" = "branches" ]; then
variant="LuCI ${4##*[-/]} Branch"
elif [ "${4%%/*}" = "tags" ]; then
variant="LuCI ${4##*[-/]} Release"
else
variant="LuCI Trunk"
fi
elif git status >/dev/null 2>/dev/null; then
tag="$(git describe --tags 2>/dev/null)"
branch="$(git symbolic-ref --short -q HEAD 2>/dev/null)"
if [ -n "$tag" ]; then
variant="LuCI $tag Release"
elif [ "$branch" != "master" ]; then
variant="LuCI ${branch##*-} Branch"
else
variant="LuCI Master"
fi
else
variant="LuCI"
fi
cat <<EOF > $1
local pcall, dofile, _G = pcall, dofile, _G
@ -36,6 +13,6 @@ else
distversion = "Development Snapshot"
end
luciname = "$variant"
luciname = "${3:-LuCI}"
luciversion = "${2:-Git}"
EOF