summaryrefslogtreecommitdiff
path: root/tools/meson-vcs-tag.sh
diff options
context:
space:
mode:
authorJoe Lin <xlcwu.taiwan@gmail.com>2019-05-10 08:58:08 +0000
committerYu Watanabe <watanabe.yu+github@gmail.com>2019-05-21 07:53:40 +0900
commit88e94c3810401b7be5ce1fdb647c5de2bcde5689 (patch)
tree7bd3f7699c86c0e7f9c58777392a9b8f3cece843 /tools/meson-vcs-tag.sh
parent336351dc52dcbe93b54e121b5acc94d83c93cf61 (diff)
downloadsystemd-88e94c3810401b7be5ce1fdb647c5de2bcde5689.tar.gz
meson-vcs-tag: enhance version info generation
When build from release tarball and where there is parent .git dir, this situtaion will get wrong version info. (build with buildroot) The systemd running show wrong version in dmesg log: systemd[1]: systemd 2019.02-1086-gf5f17c4 running in system mode. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Shoule be: systemd[1]: systemd 241 running in system mode. (-PAM -AUDIT -SEL ^^^^^^^^^^^
Diffstat (limited to 'tools/meson-vcs-tag.sh')
-rwxr-xr-xtools/meson-vcs-tag.sh6
1 files changed, 5 insertions, 1 deletions
diff --git a/tools/meson-vcs-tag.sh b/tools/meson-vcs-tag.sh
index a8605b6bc9..5dc95fa8c1 100755
--- a/tools/meson-vcs-tag.sh
+++ b/tools/meson-vcs-tag.sh
@@ -15,4 +15,8 @@ fi
# Apparently git describe has a bug where it always considers the work-tree
# dirty when invoked with --git-dir (even though 'git status' is happy). Work
# around this issue by cd-ing to the source directory.
-cd "$dir" && git describe --abbrev=7 --dirty=+ 2>/dev/null | sed 's/^v//' || echo "$fallback"
+cd "$dir"
+# Check that we have either .git/ (a normal clone) or a .git file (a work-tree)
+# and that we don't get confused if a tarball is extracted in a higher-level
+# git repository.
+[ -e .git ] && git describe --abbrev=7 --dirty=+ 2>/dev/null | sed 's/^v//' || echo "$fallback"