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