Split binary installers/commit scripts
Originally I worked on this for the multi-stage build Dockerfile changes. Decided to split this out as we are still waiting for multi-stage to be available on CI and rebasing these is pretty annoying. Signed-off-by: Brian Goff <cpuguy83@gmail.com>
This commit is contained in:
parent
ee9abc2120
commit
b529d1b093
11
Dockerfile
11
Dockerfile
|
@ -187,11 +187,12 @@ RUN ./contrib/download-frozen-image-v2.sh /docker-frozen-images \
|
||||||
hello-world:latest@sha256:be0cd392e45be79ffeffa6b05338b98ebb16c87b255f48e297ec7f98e123905c
|
hello-world:latest@sha256:be0cd392e45be79ffeffa6b05338b98ebb16c87b255f48e297ec7f98e123905c
|
||||||
# See also ensureFrozenImagesLinux() in "integration-cli/fixtures_linux_daemon_test.go" (which needs to be updated when adding images to this list)
|
# See also ensureFrozenImagesLinux() in "integration-cli/fixtures_linux_daemon_test.go" (which needs to be updated when adding images to this list)
|
||||||
|
|
||||||
# Install tomlv, vndr, runc, containerd, tini, docker-proxy dockercli
|
# Install tomlv, vndr, runc, containerd, tini, proxy dockercli
|
||||||
# Please edit hack/dockerfile/install-binaries.sh to update them.
|
# Please edit hack/dockerfile/install/<name>.installer to update them.
|
||||||
COPY hack/dockerfile/binaries-commits /tmp/binaries-commits
|
COPY hack/dockerfile/install hack/dockerfile/install
|
||||||
COPY hack/dockerfile/install-binaries.sh /tmp/install-binaries.sh
|
RUN for i in tomlv vndr tini gometalinter proxy dockercli runc containerd; \
|
||||||
RUN /tmp/install-binaries.sh tomlv vndr runc containerd tini proxy dockercli gometalinter
|
do hack/dockerfile/install/install.sh $i; \
|
||||||
|
done
|
||||||
ENV PATH=/usr/local/cli:$PATH
|
ENV PATH=/usr/local/cli:$PATH
|
||||||
|
|
||||||
# Activate bash completion and include Docker's completion if mounted with DOCKER_BASH_COMPLETION_PATH
|
# Activate bash completion and include Docker's completion if mounted with DOCKER_BASH_COMPLETION_PATH
|
||||||
|
|
|
@ -151,14 +151,17 @@ RUN ./contrib/download-frozen-image-v2.sh /docker-frozen-images \
|
||||||
debian:jessie@sha256:287a20c5f73087ab406e6b364833e3fb7b3ae63ca0eb3486555dc27ed32c6e60 \
|
debian:jessie@sha256:287a20c5f73087ab406e6b364833e3fb7b3ae63ca0eb3486555dc27ed32c6e60 \
|
||||||
hello-world:latest@sha256:be0cd392e45be79ffeffa6b05338b98ebb16c87b255f48e297ec7f98e123905c
|
hello-world:latest@sha256:be0cd392e45be79ffeffa6b05338b98ebb16c87b255f48e297ec7f98e123905c
|
||||||
# See also ensureFrozenImagesLinux() in "integration-cli/fixtures_linux_daemon_test.go" (which needs to be updated when adding images to this list)
|
# See also ensureFrozenImagesLinux() in "integration-cli/fixtures_linux_daemon_test.go" (which needs to be updated when adding images to this list)
|
||||||
|
#
|
||||||
|
|
||||||
# Install tomlv, vndr, runc, containerd, tini, docker-proxy
|
# Install tomlv, vndr, runc, containerd, tini, proxy dockercli
|
||||||
# Please edit hack/dockerfile/install-binaries.sh to update them.
|
# Please edit hack/dockerfile/install/<name>.installer to update them.
|
||||||
COPY hack/dockerfile/binaries-commits /tmp/binaries-commits
|
COPY hack/dockerfile/install hack/dockerfile/install
|
||||||
COPY hack/dockerfile/install-binaries.sh /tmp/install-binaries.sh
|
RUN for i in tomlv vndr tini gometalinter proxy dockercli runc containerd; \
|
||||||
RUN /tmp/install-binaries.sh tomlv vndr runc containerd tini proxy dockercli gometalinter
|
do hack/dockerfile/install/install.sh $i; \
|
||||||
|
done
|
||||||
ENV PATH=/usr/local/cli:$PATH
|
ENV PATH=/usr/local/cli:$PATH
|
||||||
|
|
||||||
|
|
||||||
# Wrap all commands in the "docker-in-docker" script to allow nested containers
|
# Wrap all commands in the "docker-in-docker" script to allow nested containers
|
||||||
ENTRYPOINT ["hack/dind"]
|
ENTRYPOINT ["hack/dind"]
|
||||||
|
|
||||||
|
|
|
@ -138,11 +138,12 @@ RUN ./contrib/download-frozen-image-v2.sh /docker-frozen-images \
|
||||||
hello-world:latest@sha256:be0cd392e45be79ffeffa6b05338b98ebb16c87b255f48e297ec7f98e123905c
|
hello-world:latest@sha256:be0cd392e45be79ffeffa6b05338b98ebb16c87b255f48e297ec7f98e123905c
|
||||||
# See also ensureFrozenImagesLinux() in "integration-cli/fixtures_linux_daemon_test.go" (which needs to be updated when adding images to this list)
|
# See also ensureFrozenImagesLinux() in "integration-cli/fixtures_linux_daemon_test.go" (which needs to be updated when adding images to this list)
|
||||||
|
|
||||||
# Install tomlv, vndr, runc, containerd, tini, docker-proxy
|
# Install tomlv, vndr, runc, containerd, tini, proxy dockercli
|
||||||
# Please edit hack/dockerfile/install-binaries.sh to update them.
|
# Please edit hack/dockerfile/install/<name>.installer to update them.
|
||||||
COPY hack/dockerfile/binaries-commits /tmp/binaries-commits
|
COPY hack/dockerfile/install hack/dockerfile/install
|
||||||
COPY hack/dockerfile/install-binaries.sh /tmp/install-binaries.sh
|
RUN for i in tomlv vndr tini gometalinter proxy dockercli runc containerd; \
|
||||||
RUN /tmp/install-binaries.sh tomlv vndr runc containerd tini proxy dockercli gometalinter
|
do hack/dockerfile/install/install.sh $i; \
|
||||||
|
done
|
||||||
ENV PATH=/usr/local/cli:$PATH
|
ENV PATH=/usr/local/cli:$PATH
|
||||||
|
|
||||||
ENTRYPOINT ["hack/dind"]
|
ENTRYPOINT ["hack/dind"]
|
||||||
|
|
|
@ -23,7 +23,7 @@ RUN contrib/download-frozen-image-v2.sh /output/docker-frozen-images \
|
||||||
|
|
||||||
# Download Docker CLI binary
|
# Download Docker CLI binary
|
||||||
COPY hack/dockerfile hack/dockerfile
|
COPY hack/dockerfile hack/dockerfile
|
||||||
RUN hack/dockerfile/install-binaries.sh dockercli
|
RUN hack/dockerfile/install.sh dockercli
|
||||||
|
|
||||||
# Set tag and add sources
|
# Set tag and add sources
|
||||||
ARG DOCKER_GITCOMMIT
|
ARG DOCKER_GITCOMMIT
|
||||||
|
|
|
@ -136,11 +136,12 @@ RUN ./contrib/download-frozen-image-v2.sh /docker-frozen-images \
|
||||||
hello-world:latest@sha256:be0cd392e45be79ffeffa6b05338b98ebb16c87b255f48e297ec7f98e123905c
|
hello-world:latest@sha256:be0cd392e45be79ffeffa6b05338b98ebb16c87b255f48e297ec7f98e123905c
|
||||||
# See also ensureFrozenImagesLinux() in "integration-cli/fixtures_linux_daemon_test.go" (which needs to be updated when adding images to this list)
|
# See also ensureFrozenImagesLinux() in "integration-cli/fixtures_linux_daemon_test.go" (which needs to be updated when adding images to this list)
|
||||||
|
|
||||||
# Install tomlv, vndr, runc, containerd, tini, docker-proxy
|
# Install tomlv, vndr, runc, containerd, tini, proxy dockercli
|
||||||
# Please edit hack/dockerfile/install-binaries.sh to update them.
|
# Please edit hack/dockerfile/install/<name>.installer to update them.
|
||||||
COPY hack/dockerfile/binaries-commits /tmp/binaries-commits
|
COPY hack/dockerfile/install hack/dockerfile/install
|
||||||
COPY hack/dockerfile/install-binaries.sh /tmp/install-binaries.sh
|
RUN for i in tomlv vndr tini gometalinter proxy dockercli runc containerd; \
|
||||||
RUN /tmp/install-binaries.sh tomlv vndr runc containerd tini proxy dockercli gometalinter
|
do hack/dockerfile/install/install.sh $i; \
|
||||||
|
done
|
||||||
ENV PATH=/usr/local/cli:$PATH
|
ENV PATH=/usr/local/cli:$PATH
|
||||||
|
|
||||||
# Wrap all commands in the "docker-in-docker" script to allow nested containers
|
# Wrap all commands in the "docker-in-docker" script to allow nested containers
|
||||||
|
|
|
@ -130,11 +130,12 @@ RUN ./contrib/download-frozen-image-v2.sh /docker-frozen-images \
|
||||||
hello-world:latest@sha256:be0cd392e45be79ffeffa6b05338b98ebb16c87b255f48e297ec7f98e123905c
|
hello-world:latest@sha256:be0cd392e45be79ffeffa6b05338b98ebb16c87b255f48e297ec7f98e123905c
|
||||||
# See also ensureFrozenImagesLinux() in "integration-cli/fixtures_linux_daemon_test.go" (which needs to be updated when adding images to this list)
|
# See also ensureFrozenImagesLinux() in "integration-cli/fixtures_linux_daemon_test.go" (which needs to be updated when adding images to this list)
|
||||||
|
|
||||||
# Install tomlv, vndr, runc, containerd, tini, docker-proxy
|
# Install tomlv, vndr, runc, containerd, tini, proxy dockercli
|
||||||
# Please edit hack/dockerfile/install-binaries.sh to update them.
|
# Please edit hack/dockerfile/install/<name>.installer to update them.
|
||||||
COPY hack/dockerfile/binaries-commits /tmp/binaries-commits
|
COPY hack/dockerfile/install hack/dockerfile/install
|
||||||
COPY hack/dockerfile/install-binaries.sh /tmp/install-binaries.sh
|
RUN for i in tomlv vndr tini gometalinter proxy dockercli runc containerd; \
|
||||||
RUN /tmp/install-binaries.sh tomlv vndr runc containerd tini proxy dockercli gometalinter
|
do hack/dockerfile/install/install.sh $i; \
|
||||||
|
done
|
||||||
ENV PATH=/usr/local/cli:$PATH
|
ENV PATH=/usr/local/cli:$PATH
|
||||||
|
|
||||||
# Wrap all commands in the "docker-in-docker" script to allow nested containers
|
# Wrap all commands in the "docker-in-docker" script to allow nested containers
|
||||||
|
|
|
@ -50,10 +50,11 @@ ENV GOPATH /go
|
||||||
ENV CGO_LDFLAGS -L/lib
|
ENV CGO_LDFLAGS -L/lib
|
||||||
|
|
||||||
# Install runc, containerd, tini and docker-proxy
|
# Install runc, containerd, tini and docker-proxy
|
||||||
# Please edit hack/dockerfile/install-binaries.sh to update them.
|
# Please edit hack/dockerfile/install/<name>.installer to update them.
|
||||||
COPY hack/dockerfile/binaries-commits /tmp/binaries-commits
|
COPY hack/dockerfile/install hack/dockerfile/install
|
||||||
COPY hack/dockerfile/install-binaries.sh /tmp/install-binaries.sh
|
RUN for i in runc containerd tini proxy dockercli; \
|
||||||
RUN /tmp/install-binaries.sh runc containerd tini proxy dockercli
|
do hack/dockerfile/install/install.sh $i; \
|
||||||
|
done
|
||||||
ENV PATH=/usr/local/cli:$PATH
|
ENV PATH=/usr/local/cli:$PATH
|
||||||
|
|
||||||
ENV AUTO_GOPATH 1
|
ENV AUTO_GOPATH 1
|
||||||
|
|
|
@ -1,23 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
# When updating TOMLV_COMMIT, consider updating github.com/BurntSushi/toml
|
|
||||||
# in vendor.conf accordingly
|
|
||||||
TOMLV_COMMIT=a368813c5e648fee92e5f6c30e3944ff9d5e8895
|
|
||||||
|
|
||||||
# When updating RUNC_COMMIT, also update runc in vendor.conf accordingly
|
|
||||||
RUNC_COMMIT=6c55f98695e902427906eed2c799e566e3d3dfb5
|
|
||||||
|
|
||||||
# containerd is also pinned in vendor.conf. When updating the binary
|
|
||||||
# version you may also need to update the vendor version to pick up bug
|
|
||||||
# fixes or new APIs.
|
|
||||||
CONTAINERD_COMMIT=cfd04396dc68220d1cecbe686a6cc3aa5ce3667c # v1.0.2
|
|
||||||
TINI_COMMIT=949e6facb77383876aeff8a6944dde66b3089574
|
|
||||||
|
|
||||||
# LIBNETWORK_COMMIT is used to build the docker-userland-proxy binary. When
|
|
||||||
# updating the binary version, consider updating github.com/docker/libnetwork
|
|
||||||
# in vendor.conf accordingly
|
|
||||||
LIBNETWORK_COMMIT=ed2130d117c11c542327b4d5216a5db36770bc65
|
|
||||||
VNDR_COMMIT=a6e196d8b4b0cbbdc29aebdb20c59ac6926bb384
|
|
||||||
|
|
||||||
# Linting
|
|
||||||
GOMETALINTER_COMMIT=bfcc1d6942136fd86eb6f1a6fb328de8398fbd80
|
|
|
@ -1,176 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
set -e
|
|
||||||
set -x
|
|
||||||
|
|
||||||
. $(dirname "$0")/binaries-commits
|
|
||||||
|
|
||||||
RM_GOPATH=0
|
|
||||||
|
|
||||||
TMP_GOPATH=${TMP_GOPATH:-""}
|
|
||||||
|
|
||||||
if [ -z "$TMP_GOPATH" ]; then
|
|
||||||
export GOPATH="$(mktemp -d)"
|
|
||||||
RM_GOPATH=1
|
|
||||||
else
|
|
||||||
export GOPATH="$TMP_GOPATH"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Do not build with ambient capabilities support
|
|
||||||
RUNC_BUILDTAGS="${RUNC_BUILDTAGS:-"seccomp apparmor selinux"}"
|
|
||||||
|
|
||||||
install_runc() {
|
|
||||||
echo "Install runc version $RUNC_COMMIT"
|
|
||||||
git clone https://github.com/opencontainers/runc.git "$GOPATH/src/github.com/opencontainers/runc"
|
|
||||||
cd "$GOPATH/src/github.com/opencontainers/runc"
|
|
||||||
git checkout -q "$RUNC_COMMIT"
|
|
||||||
make BUILDTAGS="$RUNC_BUILDTAGS" $1
|
|
||||||
cp runc /usr/local/bin/docker-runc
|
|
||||||
}
|
|
||||||
|
|
||||||
install_containerd() {
|
|
||||||
echo "Install containerd version $CONTAINERD_COMMIT"
|
|
||||||
git clone https://github.com/containerd/containerd.git "$GOPATH/src/github.com/containerd/containerd"
|
|
||||||
cd "$GOPATH/src/github.com/containerd/containerd"
|
|
||||||
git checkout -q "$CONTAINERD_COMMIT"
|
|
||||||
(
|
|
||||||
export GOPATH
|
|
||||||
make
|
|
||||||
)
|
|
||||||
cp bin/containerd /usr/local/bin/docker-containerd
|
|
||||||
cp bin/containerd-shim /usr/local/bin/docker-containerd-shim
|
|
||||||
cp bin/ctr /usr/local/bin/docker-containerd-ctr
|
|
||||||
}
|
|
||||||
|
|
||||||
install_containerd_static() {
|
|
||||||
echo "Install containerd version $CONTAINERD_COMMIT"
|
|
||||||
git clone https://github.com/containerd/containerd.git "$GOPATH/src/github.com/containerd/containerd"
|
|
||||||
cd "$GOPATH/src/github.com/containerd/containerd"
|
|
||||||
git checkout -q "$CONTAINERD_COMMIT"
|
|
||||||
(
|
|
||||||
export GOPATH
|
|
||||||
make BUILDTAGS='static_build netgo' EXTRA_FLAGS="-buildmode pie" EXTRA_LDFLAGS='-extldflags "-fno-PIC -static"'
|
|
||||||
)
|
|
||||||
cp bin/containerd /usr/local/bin/docker-containerd
|
|
||||||
cp bin/containerd-shim /usr/local/bin/docker-containerd-shim
|
|
||||||
cp bin/ctr /usr/local/bin/docker-containerd-ctr
|
|
||||||
}
|
|
||||||
|
|
||||||
install_proxy() {
|
|
||||||
echo "Install docker-proxy version $LIBNETWORK_COMMIT"
|
|
||||||
git clone https://github.com/docker/libnetwork.git "$GOPATH/src/github.com/docker/libnetwork"
|
|
||||||
cd "$GOPATH/src/github.com/docker/libnetwork"
|
|
||||||
git checkout -q "$LIBNETWORK_COMMIT"
|
|
||||||
go build -buildmode=pie -ldflags="$PROXY_LDFLAGS" -o /usr/local/bin/docker-proxy github.com/docker/libnetwork/cmd/proxy
|
|
||||||
}
|
|
||||||
|
|
||||||
install_dockercli() {
|
|
||||||
DOCKERCLI_CHANNEL=${DOCKERCLI_CHANNEL:-edge}
|
|
||||||
DOCKERCLI_VERSION=${DOCKERCLI_VERSION:-17.06.0-ce}
|
|
||||||
echo "Install docker/cli version $DOCKERCLI_VERSION from $DOCKERCLI_CHANNEL"
|
|
||||||
|
|
||||||
arch=$(uname -m)
|
|
||||||
# No official release of these platforms
|
|
||||||
if [[ "$arch" != "x86_64" ]] && [[ "$arch" != "s390x" ]]; then
|
|
||||||
build_dockercli
|
|
||||||
return
|
|
||||||
fi
|
|
||||||
|
|
||||||
url=https://download.docker.com/linux/static
|
|
||||||
curl -Ls $url/$DOCKERCLI_CHANNEL/$arch/docker-$DOCKERCLI_VERSION.tgz | \
|
|
||||||
tar -xz docker/docker
|
|
||||||
mv docker/docker /usr/local/bin/
|
|
||||||
rmdir docker
|
|
||||||
}
|
|
||||||
|
|
||||||
build_dockercli() {
|
|
||||||
DOCKERCLI_VERSION=${DOCKERCLI_VERSION:-17.06.0-ce}
|
|
||||||
git clone https://github.com/docker/docker-ce "$GOPATH/tmp/docker-ce"
|
|
||||||
cd "$GOPATH/tmp/docker-ce"
|
|
||||||
git checkout -q "v$DOCKERCLI_VERSION"
|
|
||||||
mkdir -p "$GOPATH/src/github.com/docker"
|
|
||||||
mv components/cli "$GOPATH/src/github.com/docker/cli"
|
|
||||||
go build -buildmode=pie -o /usr/local/bin/docker github.com/docker/cli/cmd/docker
|
|
||||||
}
|
|
||||||
|
|
||||||
install_gometalinter() {
|
|
||||||
echo "Installing gometalinter version $GOMETALINTER_COMMIT"
|
|
||||||
go get -d github.com/alecthomas/gometalinter
|
|
||||||
cd "$GOPATH/src/github.com/alecthomas/gometalinter"
|
|
||||||
git checkout -q "$GOMETALINTER_COMMIT"
|
|
||||||
go build -buildmode=pie -o /usr/local/bin/gometalinter github.com/alecthomas/gometalinter
|
|
||||||
GOBIN=/usr/local/bin gometalinter --install
|
|
||||||
}
|
|
||||||
|
|
||||||
for prog in "$@"
|
|
||||||
do
|
|
||||||
case $prog in
|
|
||||||
tomlv)
|
|
||||||
echo "Install tomlv version $TOMLV_COMMIT"
|
|
||||||
git clone https://github.com/BurntSushi/toml.git "$GOPATH/src/github.com/BurntSushi/toml"
|
|
||||||
cd "$GOPATH/src/github.com/BurntSushi/toml" && git checkout -q "$TOMLV_COMMIT"
|
|
||||||
go build -buildmode=pie -v -o /usr/local/bin/tomlv github.com/BurntSushi/toml/cmd/tomlv
|
|
||||||
;;
|
|
||||||
|
|
||||||
runc)
|
|
||||||
install_runc static
|
|
||||||
;;
|
|
||||||
|
|
||||||
runc-dynamic)
|
|
||||||
install_runc
|
|
||||||
;;
|
|
||||||
|
|
||||||
containerd)
|
|
||||||
install_containerd_static
|
|
||||||
;;
|
|
||||||
|
|
||||||
containerd-dynamic)
|
|
||||||
install_containerd
|
|
||||||
;;
|
|
||||||
|
|
||||||
gometalinter)
|
|
||||||
install_gometalinter
|
|
||||||
;;
|
|
||||||
|
|
||||||
tini)
|
|
||||||
echo "Install tini version $TINI_COMMIT"
|
|
||||||
git clone https://github.com/krallin/tini.git "$GOPATH/tini"
|
|
||||||
cd "$GOPATH/tini"
|
|
||||||
git checkout -q "$TINI_COMMIT"
|
|
||||||
cmake .
|
|
||||||
make tini-static
|
|
||||||
cp tini-static /usr/local/bin/docker-init
|
|
||||||
;;
|
|
||||||
|
|
||||||
proxy)
|
|
||||||
(
|
|
||||||
export CGO_ENABLED=0
|
|
||||||
install_proxy
|
|
||||||
)
|
|
||||||
;;
|
|
||||||
|
|
||||||
proxy-dynamic)
|
|
||||||
PROXY_LDFLAGS="-linkmode=external" install_proxy
|
|
||||||
;;
|
|
||||||
|
|
||||||
vndr)
|
|
||||||
echo "Install vndr version $VNDR_COMMIT"
|
|
||||||
git clone https://github.com/LK4D4/vndr.git "$GOPATH/src/github.com/LK4D4/vndr"
|
|
||||||
cd "$GOPATH/src/github.com/LK4D4/vndr"
|
|
||||||
git checkout -q "$VNDR_COMMIT"
|
|
||||||
go build -buildmode=pie -v -o /usr/local/bin/vndr .
|
|
||||||
;;
|
|
||||||
|
|
||||||
dockercli)
|
|
||||||
install_dockercli
|
|
||||||
;;
|
|
||||||
|
|
||||||
*)
|
|
||||||
echo echo "Usage: $0 [tomlv|runc|runc-dynamic|containerd|containerd-dynamic|tini|proxy|proxy-dynamic|vndr|dockercli|gometalinter]"
|
|
||||||
exit 1
|
|
||||||
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
if [ $RM_GOPATH -eq 1 ]; then
|
|
||||||
rm -rf "$GOPATH"
|
|
||||||
fi
|
|
|
@ -0,0 +1,31 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
|
||||||
|
# containerd is also pinned in vendor.conf. When updating the binary
|
||||||
|
# version you may also need to update the vendor version to pick up bug
|
||||||
|
# fixes or new APIs.
|
||||||
|
CONTAINERD_COMMIT=cfd04396dc68220d1cecbe686a6cc3aa5ce3667c # v1.0.2
|
||||||
|
|
||||||
|
install_containerd() {
|
||||||
|
echo "Install containerd version $CONTAINERD_COMMIT"
|
||||||
|
git clone https://github.com/containerd/containerd.git "$GOPATH/src/github.com/containerd/containerd"
|
||||||
|
cd "$GOPATH/src/github.com/containerd/containerd"
|
||||||
|
git checkout -q "$CONTAINERD_COMMIT"
|
||||||
|
|
||||||
|
(
|
||||||
|
|
||||||
|
if [ "$1" == "static" ]; then
|
||||||
|
export BUILDTAGS='static_build netgo'
|
||||||
|
export EXTRA_FLAGS='-buildmod pie'
|
||||||
|
export EXTRA_LDFLAGS='-extldflags "-fno-PIC -static"'
|
||||||
|
fi
|
||||||
|
|
||||||
|
make
|
||||||
|
)
|
||||||
|
|
||||||
|
mkdir -p ${PREFIX}
|
||||||
|
|
||||||
|
cp bin/containerd ${PREFIX}/docker-containerd
|
||||||
|
cp bin/containerd-shim ${PREFIX}/docker-containerd-shim
|
||||||
|
cp bin/ctr ${PREFIX}/docker-containerd-ctr
|
||||||
|
}
|
|
@ -0,0 +1,31 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
DOCKERCLI_CHANNEL=${DOCKERCLI_CHANNEL:-edge}
|
||||||
|
DOCKERCLI_VERSION=${DOCKERCLI_VERSION:-17.06.0-ce}
|
||||||
|
|
||||||
|
install_dockercli() {
|
||||||
|
echo "Install docker/cli version $DOCKERCLI_VERSION from $DOCKERCLI_CHANNEL"
|
||||||
|
|
||||||
|
arch=$(uname -m)
|
||||||
|
# No official release of these platforms
|
||||||
|
if [[ "$arch" != "x86_64" ]] && [[ "$arch" != "s390x" ]]; then
|
||||||
|
build_dockercli
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
url=https://download.docker.com/linux/static
|
||||||
|
curl -Ls $url/$DOCKERCLI_CHANNEL/$arch/docker-$DOCKERCLI_VERSION.tgz | \
|
||||||
|
tar -xz docker/docker
|
||||||
|
mkdir -p ${PREFIX}
|
||||||
|
mv docker/docker ${PREFIX}/
|
||||||
|
rmdir docker
|
||||||
|
}
|
||||||
|
|
||||||
|
build_dockercli() {
|
||||||
|
git clone https://github.com/docker/docker-ce "$GOPATH/tmp/docker-ce"
|
||||||
|
cd "$GOPATH/tmp/docker-ce"
|
||||||
|
git checkout -q "v$DOCKERCLI_VERSION"
|
||||||
|
mkdir -p "$GOPATH/src/github.com/docker"
|
||||||
|
mv components/cli "$GOPATH/src/github.com/docker/cli"
|
||||||
|
go build -buildmode=pie -o ${PREFIX}/docker github.com/docker/cli/cmd/docker
|
||||||
|
}
|
|
@ -0,0 +1,12 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
GOMETALINTER_COMMIT=bfcc1d6942136fd86eb6f1a6fb328de8398fbd80
|
||||||
|
|
||||||
|
install_gometalinter() {
|
||||||
|
echo "Installing gometalinter version $GOMETALINTER_COMMIT"
|
||||||
|
go get -d github.com/alecthomas/gometalinter
|
||||||
|
cd "$GOPATH/src/github.com/alecthomas/gometalinter"
|
||||||
|
git checkout -q "$GOMETALINTER_COMMIT"
|
||||||
|
go build -buildmode=pie -o ${PREFIX}/gometalinter github.com/alecthomas/gometalinter
|
||||||
|
GOBIN=${PREFIX} ${PREFIX}/gometalinter --install
|
||||||
|
}
|
|
@ -0,0 +1,30 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
set -x
|
||||||
|
|
||||||
|
RM_GOPATH=0
|
||||||
|
|
||||||
|
TMP_GOPATH=${TMP_GOPATH:-""}
|
||||||
|
|
||||||
|
: ${PREFIX:="/usr/local/bin"}
|
||||||
|
|
||||||
|
if [ -z "$TMP_GOPATH" ]; then
|
||||||
|
export GOPATH="$(mktemp -d)"
|
||||||
|
RM_GOPATH=1
|
||||||
|
else
|
||||||
|
export GOPATH="$TMP_GOPATH"
|
||||||
|
fi
|
||||||
|
|
||||||
|
dir="$(dirname $0)"
|
||||||
|
|
||||||
|
bin=$1
|
||||||
|
shift
|
||||||
|
|
||||||
|
if [ ! -f "${dir}/${bin}.installer" ]; then
|
||||||
|
echo "Could not find installer for \"$bin\""
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
. $dir/$bin.installer
|
||||||
|
install_$bin "$@"
|
|
@ -0,0 +1,37 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# LIBNETWORK_COMMIT is used to build the docker-userland-proxy binary. When
|
||||||
|
# updating the binary version, consider updating github.com/docker/libnetwork
|
||||||
|
# in vendor.conf accordingly
|
||||||
|
LIBNETWORK_COMMIT=ed2130d117c11c542327b4d5216a5db36770bc65
|
||||||
|
|
||||||
|
install_proxy() {
|
||||||
|
case "$1" in
|
||||||
|
"dynamic")
|
||||||
|
install_proxy_dynamic
|
||||||
|
return
|
||||||
|
;;
|
||||||
|
"")
|
||||||
|
export CGO_ENABLED=0
|
||||||
|
_install_proxy
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo 'Usage: $0 [dynamic]'
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
install_proxy_dynamic() {
|
||||||
|
export PROXY_LDFLAGS="-linkmode=external" install_proxy
|
||||||
|
_install_proxy
|
||||||
|
}
|
||||||
|
|
||||||
|
_install_proxy() {
|
||||||
|
echo "Install docker-proxy version $LIBNETWORK_COMMIT"
|
||||||
|
git clone https://github.com/docker/libnetwork.git "$GOPATH/src/github.com/docker/libnetwork"
|
||||||
|
cd "$GOPATH/src/github.com/docker/libnetwork"
|
||||||
|
git checkout -q "$LIBNETWORK_COMMIT"
|
||||||
|
go build -buildmode=pie -ldflags="$PROXY_LDFLAGS" -o ${PREFIX}/docker-proxy github.com/docker/libnetwork/cmd/proxy
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,17 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# When updating RUNC_COMMIT, also update runc in vendor.conf accordingly
|
||||||
|
RUNC_COMMIT=6c55f98695e902427906eed2c799e566e3d3dfb5
|
||||||
|
|
||||||
|
install_runc() {
|
||||||
|
# Do not build with ambient capabilities support
|
||||||
|
RUNC_BUILDTAGS="${RUNC_BUILDTAGS:-"seccomp apparmor selinux"}"
|
||||||
|
|
||||||
|
echo "Install runc version $RUNC_COMMIT"
|
||||||
|
git clone https://github.com/opencontainers/runc.git "$GOPATH/src/github.com/opencontainers/runc"
|
||||||
|
cd "$GOPATH/src/github.com/opencontainers/runc"
|
||||||
|
git checkout -q "$RUNC_COMMIT"
|
||||||
|
make BUILDTAGS="$RUNC_BUILDTAGS" $1
|
||||||
|
mkdir -p ${PREFIX}
|
||||||
|
cp runc ${PREFIX}/docker-runc
|
||||||
|
}
|
|
@ -0,0 +1,14 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
TINI_COMMIT=949e6facb77383876aeff8a6944dde66b3089574
|
||||||
|
|
||||||
|
install_tini() {
|
||||||
|
echo "Install tini version $TINI_COMMIT"
|
||||||
|
git clone https://github.com/krallin/tini.git "$GOPATH/tini"
|
||||||
|
cd "$GOPATH/tini"
|
||||||
|
git checkout -q "$TINI_COMMIT"
|
||||||
|
cmake .
|
||||||
|
make tini-static
|
||||||
|
mkdir -p ${PREFIX}
|
||||||
|
cp tini-static ${PREFIX}/docker-init
|
||||||
|
}
|
|
@ -0,0 +1,12 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# When updating TOMLV_COMMIT, consider updating github.com/BurntSushi/toml
|
||||||
|
# in vendor.conf accordingly
|
||||||
|
TOMLV_COMMIT=a368813c5e648fee92e5f6c30e3944ff9d5e8895
|
||||||
|
|
||||||
|
install_tomlv() {
|
||||||
|
echo "Install tomlv version $TOMLV_COMMIT"
|
||||||
|
git clone https://github.com/BurntSushi/toml.git "$GOPATH/src/github.com/BurntSushi/toml"
|
||||||
|
cd "$GOPATH/src/github.com/BurntSushi/toml" && git checkout -q "$TOMLV_COMMIT"
|
||||||
|
go build -v -buildmode=pie -o ${PREFIX}/tomlv github.com/BurntSushi/toml/cmd/tomlv
|
||||||
|
}
|
|
@ -0,0 +1,11 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
VNDR_COMMIT=a6e196d8b4b0cbbdc29aebdb20c59ac6926bb384
|
||||||
|
|
||||||
|
install_vndr() {
|
||||||
|
echo "Install vndr version $VNDR_COMMIT"
|
||||||
|
git clone https://github.com/LK4D4/vndr.git "$GOPATH/src/github.com/LK4D4/vndr"
|
||||||
|
cd "$GOPATH/src/github.com/LK4D4/vndr"
|
||||||
|
git checkout -q "$VNDR_COMMIT"
|
||||||
|
go build -buildmode=pie -v -o ${PREFIX}/vndr .
|
||||||
|
}
|
|
@ -2,7 +2,9 @@
|
||||||
|
|
||||||
rm -rf autogen
|
rm -rf autogen
|
||||||
|
|
||||||
source hack/dockerfile/binaries-commits
|
source hack/dockerfile/install/runc.installer
|
||||||
|
source hack/dockerfile/install/tini.installer
|
||||||
|
source hack/dockerfile/install/containerd.installer
|
||||||
|
|
||||||
cat > dockerversion/version_autogen.go <<DVEOF
|
cat > dockerversion/version_autogen.go <<DVEOF
|
||||||
// +build autogen
|
// +build autogen
|
||||||
|
|
|
@ -32,7 +32,7 @@ github.com/tonistiigi/fsutil dea3a0da73aee887fc02142d995be764106ac5e2
|
||||||
|
|
||||||
#get libnetwork packages
|
#get libnetwork packages
|
||||||
|
|
||||||
# When updating, also update LIBNETWORK_COMMIT in hack/dockerfile/binaries-commits accordingly
|
# When updating, also update LIBNETWORK_COMMIT in hack/dockerfile/install/proxy accordingly
|
||||||
github.com/docker/libnetwork ed2130d117c11c542327b4d5216a5db36770bc65
|
github.com/docker/libnetwork ed2130d117c11c542327b4d5216a5db36770bc65
|
||||||
github.com/docker/go-events 9461782956ad83b30282bf90e31fa6a70c255ba9
|
github.com/docker/go-events 9461782956ad83b30282bf90e31fa6a70c255ba9
|
||||||
github.com/armon/go-radix e39d623f12e8e41c7b5529e9a9dd67a1e2261f80
|
github.com/armon/go-radix e39d623f12e8e41c7b5529e9a9dd67a1e2261f80
|
||||||
|
@ -47,7 +47,7 @@ github.com/docker/libkv 1d8431073ae03cdaedb198a89722f3aab6d418ef
|
||||||
github.com/vishvananda/netns 604eaf189ee867d8c147fafc28def2394e878d25
|
github.com/vishvananda/netns 604eaf189ee867d8c147fafc28def2394e878d25
|
||||||
github.com/vishvananda/netlink b2de5d10e38ecce8607e6b438b6d174f389a004e
|
github.com/vishvananda/netlink b2de5d10e38ecce8607e6b438b6d174f389a004e
|
||||||
|
|
||||||
# When updating, consider updating TOMLV_COMMIT in hack/dockerfile/binaries-commits accordingly
|
# When updating, consider updating TOMLV_COMMIT in hack/dockerfile/install/tomlv accordingly
|
||||||
github.com/BurntSushi/toml a368813c5e648fee92e5f6c30e3944ff9d5e8895
|
github.com/BurntSushi/toml a368813c5e648fee92e5f6c30e3944ff9d5e8895
|
||||||
github.com/samuel/go-zookeeper d0e0d8e11f318e000a8cc434616d69e329edc374
|
github.com/samuel/go-zookeeper d0e0d8e11f318e000a8cc434616d69e329edc374
|
||||||
github.com/deckarep/golang-set ef32fa3046d9f249d399f98ebaf9be944430fd1d
|
github.com/deckarep/golang-set ef32fa3046d9f249d399f98ebaf9be944430fd1d
|
||||||
|
@ -70,7 +70,7 @@ github.com/pborman/uuid v1.0
|
||||||
|
|
||||||
google.golang.org/grpc v1.3.0
|
google.golang.org/grpc v1.3.0
|
||||||
|
|
||||||
# When updating, also update RUNC_COMMIT in hack/dockerfile/binaries-commits accordingly
|
# When updating, also update RUNC_COMMIT in hack/dockerfile/install/runc accordingly
|
||||||
github.com/opencontainers/runc 6c55f98695e902427906eed2c799e566e3d3dfb5
|
github.com/opencontainers/runc 6c55f98695e902427906eed2c799e566e3d3dfb5
|
||||||
github.com/opencontainers/runtime-spec v1.0.1
|
github.com/opencontainers/runtime-spec v1.0.1
|
||||||
github.com/opencontainers/image-spec v1.0.1
|
github.com/opencontainers/image-spec v1.0.1
|
||||||
|
|
Loading…
Reference in New Issue