summaryrefslogtreecommitdiff
path: root/hack/dockerfile/install/containerd.installer
blob: c323cdf421c6463486b1c262a71adf495d682dd3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#!/bin/sh
set -e

# 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:=8263eb3eaee447b16856eeb8839d5df4c9cca71a}" # v1.4.5

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 BUILDTAGS='netgo osusergo static_build'
	export EXTRA_FLAGS=${GO_BUILDMODE}
	export EXTRA_LDFLAGS='-extldflags "-fno-PIC -static"'

	# Reset build flags to nothing if we want a dynbinary
	if [ "$1" = "dynamic" ]; then
		export BUILDTAGS=''
		export EXTRA_FLAGS=''
		export EXTRA_LDFLAGS=''
	fi
	make

	install -D bin/containerd "${PREFIX}/containerd"
	install -D bin/containerd-shim "${PREFIX}/containerd-shim"
	install -D bin/containerd-shim-runc-v2 "${PREFIX}/containerd-shim-runc-v2"
	install -D bin/ctr "${PREFIX}/ctr"
)