summaryrefslogtreecommitdiff
path: root/hack/dockerfile/install/containerd.installer
blob: 55eca9d104b96a38398d21f4d5b43f4b0819ab23 (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
32
33
34
35
36
#!/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:=814b7956fafc7a0980ea07e950f983d0837e5578}" # v1.3.4

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='-buildmode=pie'
		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
	)

	mkdir -p "${PREFIX}"

	cp bin/containerd "${PREFIX}/containerd"
	cp bin/containerd-shim "${PREFIX}/containerd-shim"
	cp bin/ctr "${PREFIX}/ctr"
}