File: cli.sh

package info (click to toggle)
docker.io 26.1.5%2Bdfsg1-9
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 68,576 kB
  • sloc: sh: 5,748; makefile: 912; ansic: 664; asm: 228; python: 162
file content (29 lines) | stat: -rwxr-xr-x 824 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/bin/sh

set -e
version="$1"
repository="$2"
outdir="$3"

DOWNLOAD_URL="https://download.docker.com/linux/static/stable/$(xx-info march)/docker-${version#v}.tgz"

mkdir "$outdir"
if curl --head --silent --fail "${DOWNLOAD_URL}" 1> /dev/null 2>&1; then
	curl -fsSL "${DOWNLOAD_URL}" | tar -xz docker/docker
	mv docker/docker "${outdir}/docker"
else
	git init -q .
	git remote remove origin 2> /dev/null || true
	git remote add origin "${repository}"
	git fetch -q --depth 1 origin "${version}" +refs/tags/*:refs/tags/*
	git checkout -fq "${version}"
	if [ -d ./components/cli ]; then
		mv ./components/cli/* ./
		CGO_ENABLED=0 xx-go build -o "${outdir}/docker" ./cmd/docker
		git reset --hard "${version}"
	else
		xx-go --wrap && CGO_ENABLED=0 TARGET="${outdir}" ./scripts/build/binary
	fi
fi

xx-verify "${outdir}/docker"