#!/bin/sh # LIBNETWORK_COMMIT is used to build the docker-userland-proxy binary. When # updating the binary version, consider updating github.com/docker/libnetwork # in vendor.conf accordingly LIBNETWORK_COMMIT=9ff9b57c344df5cd47443ad9e65702ec85c5aeb0 install_proxy() { case "$1" in "dynamic") install_proxy_dynamic return ;; "") export CGO_ENABLED=0 _install_proxy ;; *) echo 'Usage: $0 [dynamic]' ;; esac } install_proxy_dynamic() { export PROXY_LDFLAGS="-linkmode=external" install_proxy export BUILD_MODE="-buildmode=pie" _install_proxy } _install_proxy() { echo "Install docker-proxy version $LIBNETWORK_COMMIT" git clone https://github.com/docker/libnetwork.git "$GOPATH/src/github.com/docker/libnetwork" cd "$GOPATH/src/github.com/docker/libnetwork" git checkout -q "$LIBNETWORK_COMMIT" go build ${BUILD_MODE} -ldflags="$PROXY_LDFLAGS" -o ${PREFIX}/docker-proxy github.com/docker/libnetwork/cmd/proxy }