mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
32e61b8f5c
We might want to break it up into smaller pieces (eg. tools in one place, documents in another) but let's worry about that later. Signed-off-by: Solomon Hykes <solomon@docker.com>
45 lines
1.4 KiB
Bash
45 lines
1.4 KiB
Bash
#!/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"
|
|
)
|