From 9ceed4ab891600f62405c40b9fe7f6fafee0b8ef Mon Sep 17 00:00:00 2001 From: "R. Tyler Croy" Date: Wed, 6 Sep 2017 02:07:26 +0800 Subject: [PATCH 1/2] Introduce a small GNU/Make shim for building on FreeBSD Execute via `gmake -f Makefile.freebsd` --- Makefile.freebsd | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 Makefile.freebsd diff --git a/Makefile.freebsd b/Makefile.freebsd new file mode 100644 index 0000000000000..c3a4d2361120c --- /dev/null +++ b/Makefile.freebsd @@ -0,0 +1,23 @@ +# This file exists to support the non-Docker-based build requirements for +# FreeBSD/Docker +# +export AUTO_GOPATH=1 +export RUNC_PATH="$(GOPATH)/src/github.com/opencontainers/runc" +export CONTAINERD_PATH="$(GOPATH)/src/github.com/containerd/containerd" + +binary: containerd runc + ./hack/make.sh binary + +containerd: + if [ ! -d $(CONTAINERD_PATH) ]; then \ + git clone https://github.com/freebsd-docker/containerd.git $(CONTAINERD_PATH); \ + fi; + cd $(CONTAINERD_PATH) && \ + $(MAKE) + +runc: + if [ ! -d $(RUNC_PATH) ]; then \ + git clone https://github.com/freebsd-docker/runc.git $(RUNC_PATH); \ + fi; + cd $(RUNC_PATH) && \ + $(MAKE) From 355e785e5862f81a52f81d1217916887babb588e Mon Sep 17 00:00:00 2001 From: "R. Tyler Croy" Date: Wed, 6 Sep 2017 02:32:42 +0800 Subject: [PATCH 2/2] Properly build the containerd binaries and the proxy binaries and drop them in bundles --- Makefile.freebsd | 38 +++++++++++++++++++++++++++++++++++--- 1 file changed, 35 insertions(+), 3 deletions(-) diff --git a/Makefile.freebsd b/Makefile.freebsd index c3a4d2361120c..b8ebec6fdb6a5 100644 --- a/Makefile.freebsd +++ b/Makefile.freebsd @@ -2,18 +2,32 @@ # FreeBSD/Docker # export AUTO_GOPATH=1 +export DEST_DIR=$(PWD)/bundles/bin export RUNC_PATH="$(GOPATH)/src/github.com/opencontainers/runc" export CONTAINERD_PATH="$(GOPATH)/src/github.com/containerd/containerd" +export LIBNETWORK_PATH="$(GOPATH)/src/github.com/docker/libnetwork" +export TINI_PATH="$(GOPATH)/tini" -binary: containerd runc +binary: $(DEST_DIR)/docker-containerd $(DEST_DIR)/docker-proxy ./hack/make.sh binary -containerd: +$(DEST_DIR)/docker-containerd: prepare if [ ! -d $(CONTAINERD_PATH) ]; then \ git clone https://github.com/freebsd-docker/containerd.git $(CONTAINERD_PATH); \ fi; cd $(CONTAINERD_PATH) && \ - $(MAKE) + $(MAKE) && \ + cp bin/containerd $(DEST_DIR)/docker-containerd && \ + cp bin/containerd-shim $(DEST_DIR)/docker-containerd-shim && \ + cp bin/ctr $(DEST_DIR)/docker-containerd-ctr + +$(DEST_DIR)/docker-proxy: prepare + if [ ! -d $(LIBNETWORK_PATH) ]; then \ + git clone https://github.com/freebsd-docker/libnetwork.git $(LIBNETWORK_PATH); \ + fi; + cd $(LIBNETWORK_PATH) && \ + go build -o $(DEST_DIR)/docker-proxy github.com/docker/libnetwork/cmd/proxy + runc: if [ ! -d $(RUNC_PATH) ]; then \ @@ -21,3 +35,21 @@ runc: fi; cd $(RUNC_PATH) && \ $(MAKE) + +tini: check-depends + if [ ! -d $(TINI_PATH) ]; then \ + git clone https://github.com/krallin/tini.git $(TINI_PATH); \ + fi; + cd $(TINI_PATH) && \ + cmake . && \ + $(MAKE) tini-static + +check-depends: + echo ">> Verify that you have CMake installed" + +prepare: bundles/bin + +bundles/bin: + mkdir -p bundles/bin + +.PHONY: check-depends prepare