From 0c471bdc09962ed5d2a975664a372c3c0d39b930 Mon Sep 17 00:00:00 2001 From: Ian Campbell Date: Fri, 17 Jun 2016 11:56:57 +0100 Subject: [PATCH] Simple build system for ocaml-based iptables Signed-off-by: Ian Campbell --- alpine/Dockerfile | 1 + alpine/packages/Makefile | 2 ++ alpine/packages/iptables/Dockerfile | 5 +++++ alpine/packages/iptables/Makefile | 9 +++++++++ alpine/packages/iptables/main.ml | 2 ++ 5 files changed, 19 insertions(+) create mode 100644 alpine/packages/iptables/Dockerfile create mode 100644 alpine/packages/iptables/Makefile create mode 100644 alpine/packages/iptables/main.ml diff --git a/alpine/Dockerfile b/alpine/Dockerfile index b420df3de..1e085af99 100644 --- a/alpine/Dockerfile +++ b/alpine/Dockerfile @@ -75,6 +75,7 @@ COPY packages/9pmount-vsock/9pmount-vsock /sbin COPY packages/test/etc /etc COPY packages/test/mobytest /usr/bin COPY packages/sysctl/etc /etc +COPY packages/iptables/iptables /usr/local/sbin/iptables RUN \ rc-update add swap boot && \ diff --git a/alpine/packages/Makefile b/alpine/packages/Makefile index 727332528..0048273d0 100644 --- a/alpine/packages/Makefile +++ b/alpine/packages/Makefile @@ -10,6 +10,7 @@ all: $(MAKE) -C llmnrd OS=linux $(MAKE) -C gummiboot OS=linux $(MAKE) -C 9pmount-vsock OS=linux + $(MAKE) -C iptables OS=linux arm: $(MAKE) -C transfused OS=linux ARCH=arm @@ -33,3 +34,4 @@ clean: $(MAKE) -C llmnrd clean $(MAKE) -C gummiboot clean $(MAKE) -C 9pmount-vsock clean + $(MAKE) -C iptables clean diff --git a/alpine/packages/iptables/Dockerfile b/alpine/packages/iptables/Dockerfile new file mode 100644 index 000000000..92a67e69c --- /dev/null +++ b/alpine/packages/iptables/Dockerfile @@ -0,0 +1,5 @@ +FROM ocaml/opam:alpine +WORKDIR /app +ADD . /app +RUN sudo chown -R opam /app +RUN ocamlopt -o iptables main.ml diff --git a/alpine/packages/iptables/Makefile b/alpine/packages/iptables/Makefile new file mode 100644 index 000000000..df248cc0a --- /dev/null +++ b/alpine/packages/iptables/Makefile @@ -0,0 +1,9 @@ +all: iptables + +iptables: Dockerfile main.ml + docker build -t iptables:build . + docker run --rm iptables:build cat /app/iptables > iptables + chmod 755 iptables + +clean: + docker images -q iptables:build | xargs docker rmi -f || true diff --git a/alpine/packages/iptables/main.ml b/alpine/packages/iptables/main.ml new file mode 100644 index 000000000..a496c79cf --- /dev/null +++ b/alpine/packages/iptables/main.ml @@ -0,0 +1,2 @@ +let () = + print_string "Hello world!\n";;