github.com/kim0/docker@v0.6.2-0.20161130212042-4addda3f07e7/hack/dockerfile/install-binaries.sh (about) 1 #!/bin/sh 2 set -e 3 set -x 4 5 TOMLV_COMMIT=9baf8a8a9f2ed20a8e54160840c492f937eeaf9a 6 RUNC_COMMIT=02f8fa7863dd3f82909a73e2061897828460d52f 7 CONTAINERD_COMMIT=52ef1ceb4b660c42cf4ea9013180a5663968d4c7 8 GRIMES_COMMIT=74341e923bdf06cfb6b70cf54089c4d3ac87ec2d 9 LIBNETWORK_COMMIT=0f534354b813003a754606689722fe253101bc4e 10 11 RM_GOPATH=0 12 13 TMP_GOPATH=${TMP_GOPATH:-""} 14 15 if [ -z "$TMP_GOPATH" ]; then 16 export GOPATH="$(mktemp -d)" 17 RM_GOPATH=1 18 else 19 export GOPATH="$TMP_GOPATH" 20 fi 21 22 RUNC_BUILDTAGS="${RUNC_BUILDTAGS:-"seccomp apparmor selinux"}" 23 24 install_runc() { 25 echo "Install runc version $RUNC_COMMIT" 26 git clone https://github.com/opencontainers/runc.git "$GOPATH/src/github.com/opencontainers/runc" 27 cd "$GOPATH/src/github.com/opencontainers/runc" 28 git checkout -q "$RUNC_COMMIT" 29 make BUILDTAGS="$RUNC_BUILDTAGS" $1 30 cp runc /usr/local/bin/docker-runc 31 } 32 33 install_containerd() { 34 echo "Install containerd version $CONTAINERD_COMMIT" 35 git clone https://github.com/docker/containerd.git "$GOPATH/src/github.com/docker/containerd" 36 cd "$GOPATH/src/github.com/docker/containerd" 37 git checkout -q "$CONTAINERD_COMMIT" 38 make $1 39 cp bin/containerd /usr/local/bin/docker-containerd 40 cp bin/containerd-shim /usr/local/bin/docker-containerd-shim 41 cp bin/ctr /usr/local/bin/docker-containerd-ctr 42 } 43 44 install_proxy() { 45 echo "Install docker-proxy version $LIBNETWORK_COMMIT" 46 git clone https://github.com/docker/libnetwork.git "$GOPATH/src/github.com/docker/libnetwork" 47 cd "$GOPATH/src/github.com/docker/libnetwork" 48 git checkout -q "$LIBNETWORK_COMMIT" 49 go build -ldflags="$PROXY_LDFLAGS" -o /usr/local/bin/docker-proxy github.com/docker/libnetwork/cmd/proxy 50 } 51 52 for prog in "$@" 53 do 54 case $prog in 55 tomlv) 56 echo "Install tomlv version $TOMLV_COMMIT" 57 git clone https://github.com/BurntSushi/toml.git "$GOPATH/src/github.com/BurntSushi/toml" 58 cd "$GOPATH/src/github.com/BurntSushi/toml" && git checkout -q "$TOMLV_COMMIT" 59 go build -v -o /usr/local/bin/tomlv github.com/BurntSushi/toml/cmd/tomlv 60 ;; 61 62 runc) 63 install_runc static 64 ;; 65 66 runc-dynamic) 67 install_runc 68 ;; 69 70 containerd) 71 install_containerd static 72 ;; 73 74 containerd-dynamic) 75 install_containerd 76 ;; 77 78 grimes) 79 echo "Install grimes version $GRIMES_COMMIT" 80 git clone https://github.com/crosbymichael/grimes.git "$GOPATH/grimes" 81 cd "$GOPATH/grimes" 82 git checkout -q "$GRIMES_COMMIT" 83 make 84 cp init /usr/local/bin/docker-init 85 ;; 86 87 proxy) 88 export CGO_ENABLED=0 89 install_proxy 90 ;; 91 92 proxy-dynamic) 93 PROXY_LDFLAGS="-linkmode=external" install_proxy 94 ;; 95 96 *) 97 echo echo "Usage: $0 [tomlv|runc|containerd|grimes|proxy]" 98 exit 1 99 100 esac 101 done 102 103 if [ $RM_GOPATH -eq 1 ]; then 104 rm -rf "$GOPATH" 105 fi