File: version.sh

package info (click to toggle)
kconfig-frontends 4.11.0.1%2Bdfsg-5
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 1,120 kB
  • sloc: ansic: 11,498; cpp: 1,876; yacc: 624; sh: 439; lex: 374; makefile: 274; python: 96
file content (43 lines) | stat: -rwxr-xr-x 1,060 bytes parent folder | download | duplicates (3)
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
34
35
36
37
38
39
40
41
42
43
#!/bin/sh

plain=0
internal=0
case "${1}" in
    "")         ;;
    --plain)    plain=1;;
    --internal) internal=1;;
    *)          printf "${0##*/}: unknow option '%s'\n" "${1}" >&2; exit 1;;
esac
if [ ${plain} -ne 0 -a ${internal} -ne 0 ]; then
    printf "Can't print both plain and internal" >&2
    printf " versions at the same time\n" >&2
    exit 1
fi

ver_file="${0%/*}/../.version"
k_ver="$(  head -n 1 "${ver_file}" |cut -d ' ' -f 1  )"
k_cset="$( head -n 1 "${ver_file}" |cut -d ' ' -f 2  )"
k_name="$( head -n 1 "${ver_file}" |cut -d ' ' -f 3- )"
kf_ver="$( tail -n 1 "${ver_file}"                   )"

if [ ${internal} -ne 0 ]; then
    printf "%s\n" "${kf_ver}"
    exit 0
fi

k_ver_plain="$( printf "%s" "${k_ver}"  \
                |sed -e 's/-rc.*//;' )"

case "${kf_ver}" in
    git) kf_ver="-$( git rev-parse --short HEAD )"
         k_ver_extra="$( printf "_%-7.7s" "${k_cset}" )"
         ;;
    *)   k_ver_extra="";;
esac

if [ "${plain}" -eq 1 ]; then
    echo "${k_ver_plain}"
else
    echo "${k_ver}${k_ver_extra}.${kf_ver}"
fi