| #!/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 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/moby/moby/v2/cmd/dockerd' | |
| BINARY_NAME='dockerd' | |
| source "${MAKEDIR}/.binary" | |
| copy_binaries "$DEST" | |
| ) |