mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
3f7909e996
It's not necessary to use the netgo implementation for non-static builds. :) Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com> (github: tianon)
45 lines
1.5 KiB
Bash
45 lines
1.5 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 github.com/dotcloud/docker/dockerversion.INITSHA1 \"$DOCKER_INITSHA1\" -X github.com/dotcloud/docker/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"
|
|
)
|