summaryrefslogtreecommitdiff
path: root/gen-id.sh
blob: 301ea4ebf22c1bdef3ac516b06948d1ddc332936 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#!/bin/sh
#
# Create a build ID for this build.  If we're using a git tree,
# generate an ID from "git describe", otherwise use the passed-in
# timestamp.
#
# Usage: gen-id.sh version timestamp
#

ver="$1"
tim="$2"
top=`dirname "$0"`

if test -n "$GIT_DIR" -o -d "$top"/.git -o -f "$top"/.git; then
    id="$(git describe)"
    if test -n "$id"; then
	if test x"$(echo "$id" | cut -d- -f1)" = xsyslinux; then
            id="$(echo "$id" | cut -d- -f2-)"
            if test x"$(echo "$id" | cut -d- -f1)" = x"$ver"; then
		id="$(echo "$id" | cut -d- -f2-)"
            fi
        fi
    fi
    if test -n "$id"; then
	if test -n "$(git diff-index --name-only HEAD)"; then
	    id="${id}"\*
	fi
    fi
fi
if test -z "$id"; then
  id="$tim"
fi
echo "$id"