xref: /aosp_15_r20/external/dtc/scripts/setlocalversion (revision cd60bc56d4bea3af4ec04523e4d71c2b272c8aff)
1*cd60bc56SAndroid Build Coastguard Worker#!/bin/sh
2*cd60bc56SAndroid Build Coastguard Worker# SPDX-License-Identifier: GPL-2.0-or-later
3*cd60bc56SAndroid Build Coastguard Worker# Print additional version information for non-release trees.
4*cd60bc56SAndroid Build Coastguard Worker
5*cd60bc56SAndroid Build Coastguard Workerusage() {
6*cd60bc56SAndroid Build Coastguard Worker	echo "Usage: $0 [srctree]" >&2
7*cd60bc56SAndroid Build Coastguard Worker	exit 1
8*cd60bc56SAndroid Build Coastguard Worker}
9*cd60bc56SAndroid Build Coastguard Worker
10*cd60bc56SAndroid Build Coastguard Workercd "${1:-.}" || usage
11*cd60bc56SAndroid Build Coastguard Worker
12*cd60bc56SAndroid Build Coastguard Worker# Check for git and a git repo.
13*cd60bc56SAndroid Build Coastguard Workerif head=`git rev-parse --verify HEAD 2>/dev/null`; then
14*cd60bc56SAndroid Build Coastguard Worker	# Do we have an untagged version?
15*cd60bc56SAndroid Build Coastguard Worker	if git name-rev --tags HEAD | grep -E '^HEAD[[:space:]]+(.*~[0-9]*|undefined)$' > /dev/null; then
16*cd60bc56SAndroid Build Coastguard Worker		printf '%s%s' -g `echo "$head" | cut -c1-8`
17*cd60bc56SAndroid Build Coastguard Worker	fi
18*cd60bc56SAndroid Build Coastguard Worker
19*cd60bc56SAndroid Build Coastguard Worker	# Are there uncommitted changes?
20*cd60bc56SAndroid Build Coastguard Worker	if git diff-index HEAD | read dummy; then
21*cd60bc56SAndroid Build Coastguard Worker		printf '%s' -dirty
22*cd60bc56SAndroid Build Coastguard Worker	fi
23*cd60bc56SAndroid Build Coastguard Workerfi
24