2018-01-08 17:39:45 +08:00
|
|
|
#!/bin/bash
|
2013-06-24 18:09:29 +08:00
|
|
|
# Originally from the git sources (GIT-VERSION-GEN)
|
|
|
|
# Presumably (C) Junio C Hamano <junkio@cox.net>
|
|
|
|
# Reused under GPL v2.0
|
|
|
|
# Modified for fish by David Adam <zanchey@ucc.gu.uwa.edu.au>
|
|
|
|
|
2018-01-08 17:39:45 +08:00
|
|
|
# Find the fish git directory as two levels up from script directory.
|
|
|
|
GIT_DIR="$( cd "$( dirname $( dirname "${BASH_SOURCE[0]}" ) )" && pwd )"
|
2017-10-05 12:28:55 +08:00
|
|
|
|
2013-06-24 18:09:29 +08:00
|
|
|
FBVF=FISH-BUILD-VERSION-FILE
|
2014-10-12 21:01:13 +08:00
|
|
|
DEF_VER=unknown
|
2013-06-24 18:09:29 +08:00
|
|
|
|
|
|
|
# First see if there is a version file (included in release tarballs),
|
|
|
|
# then try git-describe, then default.
|
|
|
|
if test -f version
|
|
|
|
then
|
|
|
|
VN=$(cat version) || VN="$DEF_VER"
|
2017-10-05 12:28:55 +08:00
|
|
|
elif ! VN=$(git -C "$GIT_DIR" describe --always --dirty 2>/dev/null); then
|
2013-06-24 18:09:29 +08:00
|
|
|
VN="$DEF_VER"
|
|
|
|
fi
|
|
|
|
|
|
|
|
if test -r $FBVF
|
|
|
|
then
|
2018-01-08 17:39:45 +08:00
|
|
|
VC=$(grep -v '^#' $FBVF | tr -d '"' | sed -e 's/^FISH_BUILD_VERSION=//')
|
2013-06-24 18:09:29 +08:00
|
|
|
else
|
|
|
|
VC=unset
|
|
|
|
fi
|
2018-01-08 17:39:45 +08:00
|
|
|
|
|
|
|
# Output the FBVF
|
|
|
|
# Note that we are super-double sneaky: we produce a file that is valid bash
|
|
|
|
# and valid C++, so it may be included from either. Also it may have leading
|
|
|
|
# hashes filtered out with grep to get a version of the form (for example):
|
|
|
|
# FISH_BUILD_VERSION=2.7.1-620-g94c9f5c2
|
2013-06-24 18:09:29 +08:00
|
|
|
test "$VN" = "$VC" || {
|
2017-10-05 12:28:55 +08:00
|
|
|
echo >&2 "FISH_BUILD_VERSION=$VN"
|
2018-01-08 17:39:45 +08:00
|
|
|
echo "FISH_BUILD_VERSION=\"$VN\"" >$FBVF
|
2013-06-24 18:09:29 +08:00
|
|
|
}
|
2018-01-08 17:39:45 +08:00
|
|
|
|
|
|
|
# Output the fish-build-version-witness.txt
|
|
|
|
# See https://cmake.org/cmake/help/v3.4/policy/CMP0058.html
|
|
|
|
date +%s > fish-build-version-witness.txt
|