61 lines
1 KiB
Bash
61 lines
1 KiB
Bash
|
#!/bin/bash
|
||
|
|
||
|
usage() {
|
||
|
echo "$0 [ prefix ]"
|
||
|
echo -e "\t Optionally specify a prefix other than 'skiboot'"
|
||
|
echo
|
||
|
}
|
||
|
|
||
|
if [ "$1" = "-h" -o "$1" = "--help" ] ;
|
||
|
then
|
||
|
usage
|
||
|
exit 1;
|
||
|
fi
|
||
|
|
||
|
if test -e .git || git rev-parse --is-inside-work-tree > /dev/null 2>&1;
|
||
|
then
|
||
|
version=$(git describe --exact-match 2>/dev/null)
|
||
|
if [ -z "$version" ];
|
||
|
then
|
||
|
version=$(git describe 2>/dev/null)
|
||
|
fi
|
||
|
if [ -z "$version" ];
|
||
|
then
|
||
|
version=$(git rev-parse --verify --short HEAD 2>/dev/null)
|
||
|
fi
|
||
|
if [ ! -z "$EXTRA_VERSION" ];
|
||
|
then
|
||
|
version="$version-$EXTRA_VERSION"
|
||
|
fi
|
||
|
if git diff-index --name-only HEAD |grep -qv '.git';
|
||
|
then
|
||
|
if [ ! -z "$USER" ];
|
||
|
then
|
||
|
version="$version-$USER"
|
||
|
fi
|
||
|
version="$version-dirty"
|
||
|
diffsha=$(git diff|sha1sum)
|
||
|
diffsha=$(cut -c-7 <<< "$diffsha")
|
||
|
version="$version-$diffsha"
|
||
|
fi
|
||
|
|
||
|
if [ $# -eq 1 ];
|
||
|
then
|
||
|
version=$(echo $version | sed s/skiboot/$1/)
|
||
|
fi
|
||
|
|
||
|
echo $version
|
||
|
else
|
||
|
if [ ! -z "$SKIBOOT_VERSION" ];
|
||
|
then
|
||
|
echo $SKIBOOT_VERSION
|
||
|
else
|
||
|
if [ -f ".version" -a -s ".version" ];
|
||
|
then
|
||
|
cat .version
|
||
|
else
|
||
|
exit 1;
|
||
|
fi
|
||
|
fi
|
||
|
fi
|