#!/usr/bin/env bash set -e copy_binaries() { local dir="${1:?}" # Add nested executables to bundle dir so we have complete set of # them available, but only if the native OS/ARCH is the same as the # OS/ARCH of the build target if [ "$(go env GOOS)/$(go env GOARCH)" != "$(go env GOHOSTOS)/$(go env GOHOSTARCH)" ]; then return fi if [ ! -x /usr/local/bin/runc ]; then return fi echo "Copying nested executables into $dir" for file in containerd containerd-shim-runc-v2 ctr runc docker-init rootlesskit rootlesskit-docker-proxy dockerd-rootless.sh dockerd-rootless-setuptool.sh; do cp -f "$(command -v "$file")" "$dir/" done # vpnkit might not be available for the target platform, see vpnkit stage in # the Dockerfile for more information. if command -v vpnkit > /dev/null 2>&1; then cp -f "$(command -v vpnkit)" "$dir/" fi } [ -z "$KEEPDEST" ] && rm -rf "$DEST" ( DOCKER_STATIC=1 GO_PACKAGE='github.com/docker/docker/cmd/dockerd' BINARY_NAME='dockerd' source "${MAKEDIR}/.binary" copy_binaries "$DEST" )