aboutsummaryrefslogtreecommitdiffstats
path: root/dtc/scripts/setlocalversion
diff options
context:
space:
mode:
Diffstat (limited to 'dtc/scripts/setlocalversion')
-rwxr-xr-xdtc/scripts/setlocalversion23
1 files changed, 23 insertions, 0 deletions
diff --git a/dtc/scripts/setlocalversion b/dtc/scripts/setlocalversion
new file mode 100755
index 000000000..ea333e7f3
--- /dev/null
+++ b/dtc/scripts/setlocalversion
@@ -0,0 +1,23 @@
+#!/bin/sh
+# SPDX-License-Identifier: GPL-2.0-or-later
+# Print additional version information for non-release trees.
+
+usage() {
+ echo "Usage: $0 [srctree]" >&2
+ exit 1
+}
+
+cd "${1:-.}" || usage
+
+# Check for git and a git repo.
+if head=`git rev-parse --verify HEAD 2>/dev/null`; then
+ # Do we have an untagged version?
+ if git name-rev --tags HEAD | grep -E '^HEAD[[:space:]]+(.*~[0-9]*|undefined)$' > /dev/null; then
+ printf '%s%s' -g `echo "$head" | cut -c1-8`
+ fi
+
+ # Are there uncommitted changes?
+ if git diff-index HEAD | read dummy; then
+ printf '%s' -dirty
+ fi
+fi