diff options
| -rw-r--r-- | .gitignore | 3 | ||||
| -rwxr-xr-x | build.bash | 51 | 
2 files changed, 34 insertions, 20 deletions
| @@ -17,3 +17,6 @@ gocryptfs.1  # Dependencies copied by "dep"  /vendor  /_vendor-* + +# Source tarball version. Should never be commited to git. +/VERSION @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -eu  #  # Compile gocryptfs and bake the git version string of itself and the go-fuse  # library into the binary. @@ -7,38 +7,49 @@  # you can use:  # BUILDDATE=2017-02-03 ./build.bash -set -eu -  cd "$(dirname "$0")"  MYDIR=$PWD +# Make sure we have the go binary +go version > /dev/null +  # GOPATH may contain multiple paths separated by ":"  GOPATH1=$(go env GOPATH | cut -f1 -d:) -# gocryptfs version according to git -GITVERSION=$(git describe --tags --dirty) - -# go-fuse version according to git -# Note: git in CentOS 7 does not have "git -C" yet, so we use plain "cd". -FAIL=0 -cd $GOPATH1/src/github.com/hanwen/go-fuse -OUT=$(git describe --tags --dirty 2>&1) || FAIL=1 -if [[ $FAIL -ne 0 ]]; then -	echo "$PWD: git describe: $OUT" -	echo "Hint: are you missing git tags?" -	exit 1 +# gocryptfs version according to git or a VERSION file +if [[ -d .git ]] ; then +	GITVERSION=$(git describe --tags --dirty) +elif [[ -f VERSION ]] ; then +	GITVERSION=$(cat VERSION) +else +	echo "Warning: could not determine gocryptfs version" +	GITVERSION="[unknown]" +fi + +# go-fuse version, if available +if [[ -d vendor/github.com/hanwen/go-fuse ]] ; then +	GITVERSIONFUSE="[vendored]" +else +	# go-fuse version according to git +	# Note: git in CentOS 7 does not have "git -C" yet, so we use plain "cd". +	FAIL=0 +	cd $GOPATH1/src/github.com/hanwen/go-fuse +	OUT=$(git describe --tags --dirty 2>&1) || FAIL=1 +	if [[ $FAIL -eq 0 ]]; then +		GITVERSIONFUSE=$OUT +	else +		echo "$PWD: git describe: $OUT" +		echo "Warning: could not determine go-fuse version" +		GITVERSIONFUSE="[unknown]" +	fi +	cd "$MYDIR"  fi -GITVERSIONFUSE=$OUT -cd "$MYDIR"  # Build date, something like "2017-09-06"  if [[ -z ${BUILDDATE:-} ]] ; then  	BUILDDATE=$(date +%Y-%m-%d)  fi -# Make sure we have the go binary -go version > /dev/null -  LDFLAGS="-X main.GitVersion=$GITVERSION -X main.GitVersionFuse=$GITVERSIONFUSE -X main.BuildDate=$BUILDDATE"  go build "-ldflags=$LDFLAGS" $@ | 
