aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakob Unterwurzacher2021-07-29 19:42:52 +0200
committerJakob Unterwurzacher2021-07-29 19:42:52 +0200
commita9627c8dfab30fae86eb1819bfbf4922dc23a5bb (patch)
treec8835b905a6ce92050ce2ae6252f5a2ba2330abf
parente83b79b4c2e8619f0f9622bbafc39d04eeced3f0 (diff)
build.bash: also try BSD date syntax for converting SOURCE_DATE_EPOCH570
GNU date syntax does not work on macos. Fixes https://github.com/rfjakob/gocryptfs/issues/570
-rwxr-xr-xbuild.bash12
1 files changed, 9 insertions, 3 deletions
diff --git a/build.bash b/build.bash
index 627a31d..7f74318 100755
--- a/build.bash
+++ b/build.bash
@@ -12,6 +12,9 @@
cd "$(dirname "$0")"
+# $0 does not work because we may have been sourced
+MYNAME=build.bash
+
# Make sure we have the go binary
go version > /dev/null
@@ -32,7 +35,7 @@ if [[ -d .git ]] ; then
elif [[ -f VERSION ]] ; then
GITVERSION=$(cat VERSION)
else
- echo "Warning: could not determine gocryptfs version"
+ echo "$MYNAME: warning: could not determine gocryptfs version"
GITVERSION="[unknown]"
fi
@@ -46,7 +49,7 @@ else
if [[ $FAIL -eq 0 ]]; then
GITVERSIONFUSE=$OUT
else
- echo "Warning: could not determine go-fuse version"
+ echo "$MYNAME: warning: could not determine go-fuse version"
GITVERSIONFUSE="[unknown]"
fi
fi
@@ -60,7 +63,10 @@ fi
# If SOURCE_DATE_EPOCH is set, it overrides BUILDDATE. This is the
# standard environment variable for faking the date in reproducible builds.
if [[ -n ${SOURCE_DATE_EPOCH:-} ]] ; then
- BUILDDATE=$(date --utc --date="@${SOURCE_DATE_EPOCH}" +%Y-%m-%d)
+ if ! BUILDDATE=$(date -u --date="@${SOURCE_DATE_EPOCH}" +%Y-%m-%d) ; then
+ echo "$MYNAME: info: retrying with BSD date syntax..."
+ BUILDDATE=$(date -u -r "$SOURCE_DATE_EPOCH" +%Y-%m-%d)
+ fi
fi
# Only set GOFLAGS if it is not already set by the user