From 06598ae9bf69cf02a161f89b15a2f56304bf498b Mon Sep 17 00:00:00 2001 From: Justin Cormack Date: Fri, 13 Jan 2017 16:36:03 +0000 Subject: [PATCH] Build OCaml iptables package once and push to hub As the build requires networking, is non repeatable as dependencies may change, makes sense to make it a static package for now. Plan is to rewrite in Go anyway at some point see #467 Signed-off-by: Justin Cormack --- .../iptables => base/pinata-iptables}/Dockerfile | 0 alpine/base/pinata-iptables/Makefile | 12 ++++++++++++ .../iptables => base/pinata-iptables}/main.ml | 0 alpine/packages/iptables/.gitignore | 2 +- alpine/packages/iptables/Makefile | 14 ++++++++------ 5 files changed, 21 insertions(+), 7 deletions(-) rename alpine/{packages/iptables => base/pinata-iptables}/Dockerfile (100%) create mode 100644 alpine/base/pinata-iptables/Makefile rename alpine/{packages/iptables => base/pinata-iptables}/main.ml (100%) diff --git a/alpine/packages/iptables/Dockerfile b/alpine/base/pinata-iptables/Dockerfile similarity index 100% rename from alpine/packages/iptables/Dockerfile rename to alpine/base/pinata-iptables/Dockerfile diff --git a/alpine/base/pinata-iptables/Makefile b/alpine/base/pinata-iptables/Makefile new file mode 100644 index 000000000..c00e2c8b5 --- /dev/null +++ b/alpine/base/pinata-iptables/Makefile @@ -0,0 +1,12 @@ +BASE=ocaml/opam:alpine +IMAGE=pinata-iptables + +# OCaml builds are non deterministic so do not generate a hash + +default: Dockerfile main.ml + docker pull $(BASE) + BUILD=$$( docker build -q . ) && \ + [ -n "$$BUILD" ] && \ + echo "Built $$BUILD" && \ + docker tag $$BUILD mobylinux/$(IMAGE):latest + docker push mobylinux/$(IMAGE):latest diff --git a/alpine/packages/iptables/main.ml b/alpine/base/pinata-iptables/main.ml similarity index 100% rename from alpine/packages/iptables/main.ml rename to alpine/base/pinata-iptables/main.ml diff --git a/alpine/packages/iptables/.gitignore b/alpine/packages/iptables/.gitignore index 3457ccc49..73752c9ae 100644 --- a/alpine/packages/iptables/.gitignore +++ b/alpine/packages/iptables/.gitignore @@ -1 +1 @@ -iptables +usr diff --git a/alpine/packages/iptables/Makefile b/alpine/packages/iptables/Makefile index b534b06c3..3d0ccc045 100644 --- a/alpine/packages/iptables/Makefile +++ b/alpine/packages/iptables/Makefile @@ -1,11 +1,13 @@ +# This image is currently just tagged latest as non reproducible +IPTABLES_IMAGE=mobylinux/pinata-iptables@sha256:4dc27c9515c99dc80c8ec431de2c7db7d382425e5c1de13a560e6ec4c6a52b89 + all: usr/local/sbin/iptables -usr/local/sbin/iptables: Dockerfile main.ml - mkdir -p usr/local/sbin - BUILD=$$( docker build -q . ) && \ - [ -n "$$BUILD" ] && \ - echo "Built $$BUILD" && \ - docker run --rm $$BUILD | tar xf - -C usr/local/sbin +usr/local/sbin/iptables: + mkdir -p $(dir $@) + docker run --rm --net=none --log-driver=none $(IPTABLES_IMAGE) | tar xf - -C $(dir $@) clean: rm -rf usr + +.DELETE_ON_ERROR: