GitHub CI: update list of container images
[tinc] / version.py
index ff491bb..5617cae 100755 (executable)
@@ -1,26 +1,24 @@
 #!/usr/bin/env python3
 
-from sys import argv, exit
+"""Print current tinc version for using in build scripts."""
+
+from os import path, environ
 import subprocess as subp
 
-prefix = "release-"
+PREFIX = "release-"
+SOURCE_ROOT = path.dirname(path.realpath(__file__))
+SOURCE_ROOT = environ.get("MESON_SOURCE_ROOT", SOURCE_ROOT)
 
 cmd = [
     "git",
+    "--git-dir",
+    path.join(SOURCE_ROOT, ".git"),
     "describe",
     "--always",
     "--tags",
-    "--match=" + prefix + "*",
+    "--match=" + PREFIX + "*",
 ]
 
-if "short" in argv:
-    cmd.append("--abbrev=0")
-
-result = subp.run(cmd, stdout=subp.PIPE, encoding="utf-8")
-version = result.stdout
-
-if not result.returncode and version and version.startswith(prefix):
-    version = version[len(prefix):].strip()
-
-print(version if version else "unknown", end="")
-exit(not version)
+result = subp.run(cmd, stdout=subp.PIPE, encoding="utf-8", check=True)
+version = result.stdout.strip().replace("release-", "", 1)
+print(version)