dotcloud/docker

View on GitHub
hack/dockerfile/cli.sh

Summary

Maintainability
Test Coverage
#!/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"