github.com/moby/docker@v26.1.3+incompatible/hack/dockerfile/cli.sh (about) 1 #!/bin/sh 2 3 set -e 4 version="$1" 5 repository="$2" 6 outdir="$3" 7 8 DOWNLOAD_URL="https://download.docker.com/linux/static/stable/$(xx-info march)/docker-${version#v}.tgz" 9 10 mkdir "$outdir" 11 if curl --head --silent --fail "${DOWNLOAD_URL}" 1> /dev/null 2>&1; then 12 curl -fsSL "${DOWNLOAD_URL}" | tar -xz docker/docker 13 mv docker/docker "${outdir}/docker" 14 else 15 git init -q . 16 git remote remove origin 2> /dev/null || true 17 git remote add origin "${repository}" 18 git fetch -q --depth 1 origin "${version}" +refs/tags/*:refs/tags/* 19 git checkout -fq "${version}" 20 if [ -d ./components/cli ]; then 21 mv ./components/cli/* ./ 22 CGO_ENABLED=0 xx-go build -o "${outdir}/docker" ./cmd/docker 23 git reset --hard "${version}" 24 else 25 xx-go --wrap && CGO_ENABLED=0 TARGET="${outdir}" ./scripts/build/binary 26 fi 27 fi 28 29 xx-verify "${outdir}/docker"