123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- #!/bin/bash
- set -e
- DEST=$1
- if [ -z "$DOCKER_CLIENTONLY" ]; then
- # dockerinit still needs to be a static binary, even if docker is dynamic
- go build \
- -o "$DEST/dockerinit-$VERSION" \
- "${BUILDFLAGS[@]}" \
- -ldflags "
- $LDFLAGS
- $LDFLAGS_STATIC
- -extldflags \"$EXTLDFLAGS_STATIC\"
- " \
- ./dockerinit
- echo "Created binary: $DEST/dockerinit-$VERSION"
- ln -sf "dockerinit-$VERSION" "$DEST/dockerinit"
-
- hash_files "$DEST/dockerinit-$VERSION"
-
- sha1sum=
- if command -v sha1sum &> /dev/null; then
- sha1sum=sha1sum
- elif command -v shasum &> /dev/null; then
- # Mac OS X - why couldn't they just use the same command name and be happy?
- sha1sum=shasum
- else
- echo >&2 'error: cannot find sha1sum command or equivalent'
- exit 1
- fi
-
- # sha1 our new dockerinit to ensure separate docker and dockerinit always run in a perfect pair compiled for one another
- export DOCKER_INITSHA1="$($sha1sum $DEST/dockerinit-$VERSION | cut -d' ' -f1)"
- else
- # DOCKER_CLIENTONLY must be truthy, so we don't need to bother with dockerinit :)
- export DOCKER_INITSHA1=""
- fi
- # exported so that "dyntest" can easily access it later without recalculating it
- (
- export LDFLAGS_STATIC_DOCKER="-X $DOCKER_PKG/dockerversion.INITSHA1 \"$DOCKER_INITSHA1\" -X $DOCKER_PKG/dockerversion.INITPATH \"$DOCKER_INITPATH\""
- export BUILDFLAGS=( "${BUILDFLAGS[@]/netgo /}" ) # disable netgo, since we don't need it for a dynamic binary
- source "$(dirname "$BASH_SOURCE")/binary"
- )
|