github.com/zhuohuang-hust/src-cbuild@v0.0.0-20230105071821-c7aab3e7c840/hack/dockerfile/install-binaries.sh (about)

     1  #!/bin/sh
     2  set -e
     3  set -x
     4  
     5  . $(dirname "$0")/binaries-commits
     6  
     7  RM_GOPATH=0
     8  
     9  TMP_GOPATH=${TMP_GOPATH:-""}
    10  
    11  if [ -z "$TMP_GOPATH" ]; then
    12  	export GOPATH="$(mktemp -d)"
    13  	RM_GOPATH=1
    14  else
    15  	export GOPATH="$TMP_GOPATH"
    16  fi
    17  
    18  # Do not build with ambient capabilities support
    19  RUNC_BUILDTAGS="${RUNC_BUILDTAGS:-"seccomp apparmor selinux"}"
    20  
    21  install_runc() {
    22  	echo "Install runc version $RUNC_COMMIT"
    23  	#git clone https://github.com/docker/runc.git "$GOPATH/src/github.com/opencontainers/runc"
    24      mkdir -p "$GOPATH/src/github.com/opencontainers" 
    25      mv /tmp/runc/ "$GOPATH/src/github.com/opencontainers"
    26  	cd "$GOPATH/src/github.com/opencontainers/runc"
    27  	#git checkout -q "$RUNC_COMMIT"
    28  	make BUILDTAGS="$RUNC_BUILDTAGS" $1
    29  	cp runc /usr/local/bin/docker-runc
    30  }
    31  
    32  install_containerd() {
    33  	echo "Install containerd version $CONTAINERD_COMMIT"
    34  	#git clone https://github.com/docker/containerd.git "$GOPATH/src/github.com/docker/containerd"
    35      mkdir -p "$GOPATH/src/github.com/docker"
    36      mv /tmp/containerd/ "$GOPATH/src/github.com/docker"
    37  	cd "$GOPATH/src/github.com/docker/containerd"
    38  	#git checkout -q "$CONTAINERD_COMMIT"
    39  	make $1
    40  	cp bin/containerd /usr/local/bin/docker-containerd
    41  	cp bin/containerd-shim /usr/local/bin/docker-containerd-shim
    42  	cp bin/ctr /usr/local/bin/docker-containerd-ctr
    43  }
    44  
    45  install_proxy() {
    46  	echo "Install docker-proxy version $LIBNETWORK_COMMIT"
    47  	git clone https://github.com/docker/libnetwork.git "$GOPATH/src/github.com/docker/libnetwork"
    48  	#mkdir -p "$GOPATH/src/github.com/docker"
    49      #mv /tmp/libnetwork/ "$GOPATH/src/github.com/docker"
    50      cd "$GOPATH/src/github.com/docker/libnetwork"
    51  	git checkout -q "$LIBNETWORK_COMMIT"
    52  	go build -ldflags="$PROXY_LDFLAGS" -o /usr/local/bin/docker-proxy github.com/docker/libnetwork/cmd/proxy
    53  }
    54  
    55  for prog in "$@"
    56  do
    57  	case $prog in
    58  		tomlv)
    59  			echo "Install tomlv version $TOMLV_COMMIT"
    60  			git clone https://github.com/BurntSushi/toml.git "$GOPATH/src/github.com/BurntSushi/toml"
    61  			#mkdir -p "$GOPATH/src/github.com/BurntSushi"
    62              #mv /tmp/toml/ "$GOPATH/src/github.com/BurntSushi"
    63              cd "$GOPATH/src/github.com/BurntSushi/toml" && git checkout -q "$TOMLV_COMMIT"
    64  			#cd "$GOPATH/src/github.com/BurntSushi/toml"
    65              go build -v -o /usr/local/bin/tomlv github.com/BurntSushi/toml/cmd/tomlv
    66  			;;
    67  
    68  		runc)
    69  			install_runc static
    70  			;;
    71  
    72  		runc-dynamic)
    73  			install_runc
    74  			;;
    75  
    76  		containerd)
    77  			install_containerd static
    78  			;;
    79  
    80  		containerd-dynamic)
    81  			install_containerd
    82  			;;
    83  
    84  		tini)
    85  			echo "Install tini version $TINI_COMMIT"
    86  			git clone https://github.com/krallin/tini.git "$GOPATH/tini"
    87              #mv /tmp/tini/ "$GOPATH"
    88              cd "$GOPATH/tini"
    89  			git checkout -q "$TINI_COMMIT"
    90  			cmake -DMINIMAL=ON .
    91  			make tini-static
    92  			cp tini-static /usr/local/bin/docker-init
    93  			;;
    94  
    95  		proxy)
    96  			export CGO_ENABLED=0
    97  			install_proxy
    98  			;;
    99  
   100  		proxy-dynamic)
   101  			PROXY_LDFLAGS="-linkmode=external" install_proxy
   102  			;;
   103  
   104  		vndr)
   105  			echo "Install vndr version $VNDR_COMMIT"
   106  			git clone https://github.com/LK4D4/vndr.git "$GOPATH/src/github.com/LK4D4/vndr"
   107  			#mkdir -p "$GOPATH/src/github.com/LK4D4"
   108              #mv /tmp/vndr/ "$GOPATH/src/github.com/LK4D4"
   109              cd "$GOPATH/src/github.com/LK4D4/vndr"
   110  			git checkout -q "$VNDR_COMMIT"
   111  			go build -v -o /usr/local/bin/vndr .
   112  			;;
   113  
   114  		*)
   115  			echo echo "Usage: $0 [tomlv|runc|containerd|tini|proxy]"
   116  			exit 1
   117  
   118  	esac
   119  done
   120  
   121  if [ $RM_GOPATH -eq 1 ]; then
   122  	rm -rf "$GOPATH"
   123  fi