Skip to content
Snippets Groups Projects
Commit 8d8c4828 authored by samm2's avatar samm2
Browse files

getversion.sh: fix some minor issues and make shellcheck happy

git-svn-id: https://svn.code.sf.net/p/smartmontools/code/trunk@5594 4ea69e1a-61f1-4043-bf83-b5c94c648137
parent b392fc1d
No related branches found
No related tags found
No related merge requests found
$Id$ $Id$
2024-01-22 Oleksii Samororukov <samm@os2.kiev.ua>
getversion.sh: fix some minor issues and make shellcheck happy
2024-01-19 Christian Franke <franke@computer.org> 2024-01-19 Christian Franke <franke@computer.org>
os_win32/installer.nsi: Avoid that code signing invalidates the os_win32/installer.nsi: Avoid that code signing invalidates the
......
...@@ -57,47 +57,46 @@ else ...@@ -57,47 +57,46 @@ else
fi fi
srcdir=${myname%/*} srcdir=${myname%/*}
test "$srcdir" != "$myname" || error 'unknown $srcdir' test "$srcdir" != "$myname" || error "unknown ${srcdir}"
files=" files="
ChangeLog NEWS Makefile.am configure.ac smart*.in ChangeLog NEWS Makefile.am configure.ac smart*.in
*.cpp *.h os_win32/*.cpp os_win32/*.h *.cpp *.h os_win32/*.cpp os_win32/*.h
" "
# shellcheck disable=SC2086
(cd "$srcdir" && ls -d $files >/dev/null) || error "sources not found in $srcdir" (cd "$srcdir" && ls -d $files >/dev/null) || error "sources not found in $srcdir"
revision_from_svn() revision_from_svn()
{ {
local r t _f_svn_r=$(cd "$srcdir" && svnversion 2>/dev/null) || return 1
r=$(cd "$srcdir" && svnversion 2>/dev/null) || return 1 case $_f_svn_r in [1-9][0-9]*) ;; *) return 1 ;; esac
case $r in [1-9][0-9]*) ;; *) return 1 ;; esac _f_svn_t=$(cd "$srcdir" && TZ="" LC_ALL=C svn info 2>/dev/null) || return 1
t=$(cd "$srcdir" && TZ= LC_ALL=C svn info 2>/dev/null) || return 1 _f_svn_t=$(echo "$_f_svn_t" | sed -n 's,^.* Date: *\(2[-0-9]*\) \([0-9][:0-9]*\) .*$,\1 \2,p')
t=$(echo "$t" | sed -n 's,^.* Date: *\(2[-0-9]*\) \([0-9][:0-9]*\) .*$,\1 \2,p') test -n "$_f_svn_t" || return 1
test -n "$t" || return 1 svnrev=$_f_svn_r; revdate=${_f_svn_t% *}; revtime=${_f_svn_t#* }
svnrev=$r; revdate=${t% *}; revtime=${t#* }
origin="svn info" origin="svn info"
} }
revision_from_ids() revision_from_ids()
{ {
local x # shellcheck disable=SC2086
x=$(cd "$srcdir" && \ _f_ids_x=$(cd "$srcdir" && \
sed -n 's,^.*\$[I][d]: [^ ]* \([0-9][0-9]*\) \([0-9][-0-9]*\) \([0-9][:0-9]*\)Z [^$]*\$.*$,\1 \2 \3,p' $files \ sed -n 's,^.*\$[I][d]: [^ ]* \([0-9][0-9]*\) \([0-9][-0-9]*\) \([0-9][:0-9]*\)Z [^$]*\$.*$,\1 \2 \3,p' $files \
| sort -n -r | sed -n 1p) | sort -n -r | sed -n 1p)
test -n "$x" || return 1 test -n "$_f_ids_x" || return 1
svnrev=${x%% *}; x=${x#* }; revdate=${x% *}; revtime=${x#* } svnrev=${_f_ids_x%% *}; _f_ids_x=${_f_ids_x#* }; revdate=${_f_ids_x% *}; revtime=${_f_ids_x#* }
origin="Id strings" origin="Id strings"
} }
revision_from_git() revision_from_git()
{ {
local h r t x _f_git_x=$(cd "$srcdir" && TZ="" LC_ALL=C git log -1 --date=iso 2>/dev/null) || return 1
x=$(cd "$srcdir" && TZ= LC_ALL=C git log -1 --date=iso 2>/dev/null) || return 1 _f_git_h=$(echo "$_f_git_x" | sed -n 's,^commit \([0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]\).*$,\1,p')
h=$(echo "$x" | sed -n 's,^commit \([0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]\).*$,\1,p') _f_git_t=$(echo "$_f_git_x" | sed -n 's,^Date: *\(2[-0-9]*\) \([0-9][:0-9]*\) .*$,\1 \2,p')
t=$(echo "$x" | sed -n 's,^Date: *\(2[-0-9]*\) \([0-9][:0-9]*\) .*$,\1 \2,p') _f_git_r=$(echo "$_f_git_x" | sed -n 's,^.*git-svn-id: [.:/a-z]*/smartmontools/code/trunk@\([1-9][0-9]*\) 4ea69e.*$,\1,p')
r=$(echo "$x" | sed -n 's,^.*git-svn-id: [.:/a-z]*/smartmontools/code/trunk@\([1-9][0-9]*\) 4ea69e.*$,\1,p') test "${_f_git_h:+y}${_f_git_r:+y}${_f_git_t:+y}" = "yyy" || return 1
test "${h:+y}${r:+y}${t:+y}" = "yyy" || return 1 test -z "$(cd "$srcdir" && git status -s -uno 2>&1)" || _f_git_r="${_f_git_r}M"
test -z "$(cd "$srcdir" && git status -s -uno 2>&1)" || r="${r}M" svnrev=$_f_git_r; revdate=${_f_git_t% *}; revtime=${_f_git_t#* }; githash=$_f_git_h
svnrev=$r; revdate=${t% *}; revtime=${t#* }; githash=$h
origin="git log" origin="git log"
} }
...@@ -105,7 +104,7 @@ if $i_opt || $r_opt; then ...@@ -105,7 +104,7 @@ if $i_opt || $r_opt; then
svnrev=; revdate=; revtime=; githash= svnrev=; revdate=; revtime=; githash=
origin="missing information" origin="missing information"
for m in $methods; do for m in $methods; do
revision_from_$m || continue "revision_from_${m}" || continue
break break
done done
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment