summaryrefslogtreecommitdiffhomepage
path: root/modules/luci-base/src/mkversion.sh
diff options
context:
space:
mode:
Diffstat (limited to 'modules/luci-base/src/mkversion.sh')
-rwxr-xr-xmodules/luci-base/src/mkversion.sh41
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