Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 17 additions & 7 deletions scripts/build/.variables
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,23 @@ PLATFORM=${PLATFORM:-}
VERSION=${VERSION:-$(git describe --match 'v[0-9]*' --dirty='.m' --always --tags | sed 's/^v//' 2>/dev/null || echo "unknown-version" )}
GITCOMMIT=${GITCOMMIT:-$(git rev-parse --short HEAD 2> /dev/null || true)}

if [ "$(uname)" = "Darwin" ]; then
# Using BSD date (macOS), which doesn't suppoort the --date option
# date -jf "<input format>" "<input value>" +"<output format>" (https://unix.stackexchange.com/a/86510)
BUILDTIME=${BUILDTIME:-$(TZ=UTC date -jf "%s" "${SOURCE_DATE_EPOCH:-$(date +%s)}" +"%Y-%m-%dT%H:%M:%SZ")}
else
# Using GNU date (Linux)
BUILDTIME=${BUILDTIME:-$(TZ=UTC date -u --date="@${SOURCE_DATE_EPOCH:-$(date +%s)}" +"%Y-%m-%dT%H:%M:%SZ")}
# Try GNU date syntax first (Linux), fallback to BSD date syntax (macOS) if failed
BUILDTIME_SET=false
if [ -z "${BUILDTIME:-}" ]; then
# Try GNU date syntax
TZ=UTC date -u --date="@${SOURCE_DATE_EPOCH:-$(date +%s)}" +"%Y-%m-%dT%H:%M:%SZ" >/dev/null 2>&1 && {
BUILDTIME=$(TZ=UTC date -u --date="@${SOURCE_DATE_EPOCH:-$(date +%s)}" +"%Y-%m-%dT%H:%M:%SZ")
BUILDTIME_SET=true
}
fi

if [ -z "${BUILDTIME:-}" ] && [ "$BUILDTIME_SET" = false ]; then
# Fallback to BSD date syntax
echo "GNU date syntax not supported, fallback to BSD date syntax"
TZ=UTC date -jf "%s" "${SOURCE_DATE_EPOCH:-$(date +%s)}" +"%Y-%m-%dT%H:%M:%SZ" >/dev/null 2>&1 && {
BUILDTIME=$(TZ=UTC date -jf "%s" "${SOURCE_DATE_EPOCH:-$(date +%s)}" +"%Y-%m-%dT%H:%M:%SZ")
BUILDTIME_SET=true
}
fi

case "$VERSION" in
Expand Down
Loading