summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSamuel Mendoza-Jonas <sam@mendozajonas.com>2016-04-04 13:23:43 +1000
committerSamuel Mendoza-Jonas <sam@mendozajonas.com>2016-04-05 10:47:38 +1000
commitb30199d97650117108a5b20236b851c12be803ac (patch)
treed1caad698261d147a58f5cab60cb7e876754a514
parenta23e966779d28215470906f06b4de49df10c8e6e (diff)
downloadtalos-petitboot-b30199d97650117108a5b20236b851c12be803ac.tar.gz
talos-petitboot-b30199d97650117108a5b20236b851c12be803ac.zip
version.sh: Fix in-tree case and allow external variables
"$(basename $0)" would return the name of the script, when what is needed is the name of the directory; use 'dirname' instead. If PETITBOOT_VERSION is set, as in a buildroot environment, use this variable instead of the default case. Signed-off-by: Samuel Mendoza-Jonas <sam@mendozajonas.com>
-rwxr-xr-xversion.sh19
1 files changed, 16 insertions, 3 deletions
diff --git a/version.sh b/version.sh
index f3e6268..bf91f70 100755
--- a/version.sh
+++ b/version.sh
@@ -5,7 +5,7 @@
version=
datefmt='%Y%m%d'
-export GIT_DIR=$(basename $0)/.git/
+export GIT_DIR=$(dirname $0)/.git/
if head=$(git rev-parse --short=8 --verify HEAD 2>/dev/null); then
@@ -26,8 +26,21 @@ if head=$(git rev-parse --short=8 --verify HEAD 2>/dev/null); then
version=$(printf "%($datefmt)T.g%s%s" ${date} ${head} ${suffix})
fi
else
- # Default to current date and time.
- version="$(date +dev.$datefmt)"
+ # Check if a specific version is set, eg: by buildroot
+ if [ ! -z "$PETITBOOT_VERSION" ];
+ then
+ # Full git hash
+ len=$(echo -n "${PETITBOOT_VERSION}" | wc -c)
+ if [[ ${len} == 40 ]]; then
+ version=`echo -n ${PETITBOOT_VERSION} | \
+ sed "s/^\([0-9a-f]\{7\}\).*/\1/;"`
+ else
+ version="$PETITBOOT_VERSION"
+ fi
+ else
+ # Default to current date and time.
+ version="$(date +dev.$datefmt)"
+ fi
fi
echo $version
OpenPOWER on IntegriCloud