diff options
Diffstat (limited to 'modules/luci-base/src/mkversion.sh')
-rwxr-xr-x | modules/luci-base/src/mkversion.sh | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/modules/luci-base/src/mkversion.sh b/modules/luci-base/src/mkversion.sh new file mode 100755 index 0000000000..55b0ebd22f --- /dev/null +++ b/modules/luci-base/src/mkversion.sh @@ -0,0 +1,41 @@ +#!/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 + +module "luci.version" + +if pcall(dofile, "/etc/openwrt_release") and _G.DISTRIB_DESCRIPTION then + distname = "" + distversion = _G.DISTRIB_DESCRIPTION +else + distname = "OpenWrt" + distversion = "Development Snapshot" +end + +luciname = "$variant" +luciversion = "${2:-Git}" +EOF |