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"