summaryrefslogtreecommitdiffstats
path: root/m4/knot-version.m4
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-10 19:05:44 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-10 19:05:44 +0000
commitb045529c40c83601909dca7b76a53498e9a70f33 (patch)
tree88371572105933fd950676c07b3a12163a0c9de0 /m4/knot-version.m4
parentInitial commit. (diff)
downloadknot-b045529c40c83601909dca7b76a53498e9a70f33.tar.xz
knot-b045529c40c83601909dca7b76a53498e9a70f33.zip
Adding upstream version 3.3.4.upstream/3.3.4
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'm4/knot-version.m4')
-rw-r--r--m4/knot-version.m425
1 files changed, 25 insertions, 0 deletions
diff --git a/m4/knot-version.m4 b/m4/knot-version.m4
new file mode 100644
index 0000000..79b6ffa
--- /dev/null
+++ b/m4/knot-version.m4
@@ -0,0 +1,25 @@
+################################################################################
+# Knot DNS versions are as follows
+#
+# <MAJOR>.<MINOR>.dev0[+<TIMESTAMP>.<HASH>] Build from the master branch
+# <MAJOR>.<MINOR>.<PATCH>[+<TIMESTAMP>.<HASH>] Build from a feature branch
+#
+# To force release version format set env variable KNOT_VERSION_FORMAT=release
+#
+# If the repository is not available or if HEAD is tagged,
+# the optional part is missing!
+#
+# Examples: 3.3.dev0+1687250983.9ae4e3fc9
+# 3.2.7+1687164540.b00fbe32f
+# 3.2.7
+################################################################################
+
+m4_define([knot_PATCH], m4_ifblank(knot_VERSION_PATCH, [dev0], knot_VERSION_PATCH))dnl
+
+m4_define([knot_GIT_HASH], m4_esyscmd_s(git rev-parse --short HEAD 2>/dev/null))dnl
+m4_define([knot_GIT_TAG], m4_esyscmd_s(git describe --exact-match 2>/dev/null))dnl
+m4_define([knot_GIT_TIME], m4_esyscmd_s(git show -s --format=%ct 2>/dev/null))dnl
+m4_define([knot_GIT_OK], m4_case(m4_esyscmd_s(echo $KNOT_VERSION_FORMAT 2>/dev/null), release, [], knot_GIT_HASH))dnl
+m4_define([knot_GIT_INFO], m4_ifblank(knot_GIT_TAG, m4_ifnblank(knot_GIT_OK, +knot_GIT_TIME.knot_GIT_HASH, []), []))dnl
+
+m4_define([knot_PKG_VERSION], [knot_VERSION_MAJOR.knot_VERSION_MINOR.knot_PATCH]knot_GIT_INFO)dnl