From d10c52eaae731a7079e3bb7e49a47ccb9f5b5b5a Mon Sep 17 00:00:00 2001 From: corbin-coleman Date: Tue, 4 Sep 2018 22:27:53 +0000 Subject: [PATCH] Parameterize Dockerfiles base build images This will make it easier for anybody to build with a specific version of a distro they want to build on. They could lock into a specific sha of a docker image if they wanted, as an example. Signed-off-by: corbin-coleman Upstream-commit: 7afc35b95ac46bfef383788341ddb0b157af14eb Component: packaging --- components/packaging/deb/Makefile | 5 +++++ components/packaging/deb/debian-buster/Dockerfile | 3 ++- components/packaging/deb/debian-jessie/Dockerfile | 3 ++- components/packaging/deb/debian-stretch/Dockerfile | 3 ++- components/packaging/deb/raspbian-jessie/Dockerfile | 3 ++- components/packaging/deb/raspbian-stretch/Dockerfile | 3 ++- components/packaging/deb/ubuntu-bionic/Dockerfile | 3 ++- components/packaging/deb/ubuntu-trusty/Dockerfile | 3 ++- components/packaging/deb/ubuntu-xenial/Dockerfile | 3 ++- components/packaging/image/Makefile | 4 ++-- components/packaging/rpm/Makefile | 4 ++++ components/packaging/rpm/centos-7/Dockerfile | 3 ++- components/packaging/rpm/fedora-27/Dockerfile | 3 ++- components/packaging/rpm/fedora-28/Dockerfile | 3 ++- 14 files changed, 33 insertions(+), 13 deletions(-) diff --git a/components/packaging/deb/Makefile b/components/packaging/deb/Makefile index 1e80695fd7..dd800b3b4f 100644 --- a/components/packaging/deb/Makefile +++ b/components/packaging/deb/Makefile @@ -13,8 +13,13 @@ DEB_VERSION?=$(shell SUFFIX=$(SUFFIX) ./gen-deb-ver $(CLI_DIR) "$(VERSION)") CHOWN:=docker run --rm -v $(CURDIR):/v -w /v alpine chown EPOCH?=4 +ifdef BUILD_IMAGE + BUILD_IMAGE_FLAG=--build-arg $(BUILD_IMAGE) +endif + COMMON_FILES=common BUILD?=docker build \ + $(BUILD_IMAGE_FLAG) \ --build-arg GO_IMAGE=$(GO_IMAGE) \ --build-arg COMMON_FILES=$(COMMON_FILES) \ --build-arg CONTAINERD_SHIM_PROCESS_IMAGE=$(CONTAINERD_SHIM_PROCESS_IMAGE) \ diff --git a/components/packaging/deb/debian-buster/Dockerfile b/components/packaging/deb/debian-buster/Dockerfile index e0e5dbc424..69a3a63103 100644 --- a/components/packaging/deb/debian-buster/Dockerfile +++ b/components/packaging/deb/debian-buster/Dockerfile @@ -1,9 +1,10 @@ ARG GO_IMAGE ARG CONTAINERD_SHIM_PROCESS_IMAGE +ARG BUILD_IMAGE=debian:buster FROM ${GO_IMAGE} as golang FROM ${CONTAINERD_SHIM_PROCESS_IMAGE} as shim-process -FROM debian:buster +FROM ${BUILD_IMAGE} RUN apt-get update && apt-get install -y curl devscripts equivs git diff --git a/components/packaging/deb/debian-jessie/Dockerfile b/components/packaging/deb/debian-jessie/Dockerfile index c0a1b04cc5..0469f1cd4a 100644 --- a/components/packaging/deb/debian-jessie/Dockerfile +++ b/components/packaging/deb/debian-jessie/Dockerfile @@ -1,9 +1,10 @@ ARG GO_IMAGE ARG CONTAINERD_SHIM_PROCESS_IMAGE +ARG BUILD_IMAGE=debian:jessie FROM ${GO_IMAGE} as golang FROM ${CONTAINERD_SHIM_PROCESS_IMAGE} as shim-process -FROM debian:jessie +FROM ${BUILD_IMAGE} RUN apt-get update && apt-get install -y curl devscripts equivs git diff --git a/components/packaging/deb/debian-stretch/Dockerfile b/components/packaging/deb/debian-stretch/Dockerfile index fbeb965049..7cbb2dd4a4 100644 --- a/components/packaging/deb/debian-stretch/Dockerfile +++ b/components/packaging/deb/debian-stretch/Dockerfile @@ -1,9 +1,10 @@ ARG GO_IMAGE ARG CONTAINERD_SHIM_PROCESS_IMAGE +ARG BUILD_IMAGE=debian:stretch FROM ${GO_IMAGE} as golang FROM ${CONTAINERD_SHIM_PROCESS_IMAGE} as shim-process -FROM debian:stretch +FROM ${BUILD_IMAGE} RUN apt-get update && apt-get install -y curl devscripts equivs git diff --git a/components/packaging/deb/raspbian-jessie/Dockerfile b/components/packaging/deb/raspbian-jessie/Dockerfile index f9bbd0a0f5..c45a37158d 100644 --- a/components/packaging/deb/raspbian-jessie/Dockerfile +++ b/components/packaging/deb/raspbian-jessie/Dockerfile @@ -1,9 +1,10 @@ ARG GO_IMAGE ARG CONTAINERD_SHIM_PROCESS_IMAGE +ARG BUILD_IMAGE=resin/rpi-raspbian:jessie FROM ${GO_IMAGE} as golang FROM ${CONTAINERD_SHIM_PROCESS_IMAGE} as shim-process -FROM resin/rpi-raspbian:jessie +FROM ${BUILD_IMAGE} RUN apt-get update && apt-get install -y curl devscripts equivs git diff --git a/components/packaging/deb/raspbian-stretch/Dockerfile b/components/packaging/deb/raspbian-stretch/Dockerfile index 9478e396eb..607086660f 100644 --- a/components/packaging/deb/raspbian-stretch/Dockerfile +++ b/components/packaging/deb/raspbian-stretch/Dockerfile @@ -1,9 +1,10 @@ ARG GO_IMAGE ARG CONTAINERD_SHIM_PROCESS_IMAGE +ARG BUILD_IMAGE=resin/rpi-raspbian:stretch FROM ${GO_IMAGE} as golang FROM ${CONTAINERD_SHIM_PROCESS_IMAGE} as shim-process -FROM resin/rpi-raspbian:stretch +FROM ${BUILD_IMAGE} RUN apt-get update && apt-get install -y curl devscripts equivs git diff --git a/components/packaging/deb/ubuntu-bionic/Dockerfile b/components/packaging/deb/ubuntu-bionic/Dockerfile index b57ea5786b..638af8db73 100644 --- a/components/packaging/deb/ubuntu-bionic/Dockerfile +++ b/components/packaging/deb/ubuntu-bionic/Dockerfile @@ -1,9 +1,10 @@ ARG GO_IMAGE ARG CONTAINERD_SHIM_PROCESS_IMAGE +ARG BUILD_IMAGE=ubuntu:bionic FROM ${GO_IMAGE} as golang FROM ${CONTAINERD_SHIM_PROCESS_IMAGE} as shim-process -FROM ubuntu:bionic +FROM ${BUILD_IMAGE} RUN apt-get update && apt-get install -y curl devscripts equivs git diff --git a/components/packaging/deb/ubuntu-trusty/Dockerfile b/components/packaging/deb/ubuntu-trusty/Dockerfile index cf358e278c..43b681bca7 100644 --- a/components/packaging/deb/ubuntu-trusty/Dockerfile +++ b/components/packaging/deb/ubuntu-trusty/Dockerfile @@ -1,9 +1,10 @@ ARG GO_IMAGE ARG CONTAINERD_SHIM_PROCESS_IMAGE +ARG BUILD_IMAGE=ubuntu:trusty FROM ${GO_IMAGE} as golang FROM ${CONTAINERD_SHIM_PROCESS_IMAGE} as shim-process -FROM ubuntu:trusty +FROM ${BUILD_IMAGE} RUN apt-get update && apt-get install -y curl devscripts equivs git diff --git a/components/packaging/deb/ubuntu-xenial/Dockerfile b/components/packaging/deb/ubuntu-xenial/Dockerfile index 076853b548..aeb2e88921 100644 --- a/components/packaging/deb/ubuntu-xenial/Dockerfile +++ b/components/packaging/deb/ubuntu-xenial/Dockerfile @@ -1,9 +1,10 @@ ARG GO_IMAGE ARG CONTAINERD_SHIM_PROCESS_IMAGE +ARG BUILD_IMAGE=ubuntu:xenial FROM ${GO_IMAGE} as golang FROM ${CONTAINERD_SHIM_PROCESS_IMAGE} as shim-process -FROM ubuntu:xenial +FROM ${BUILD_IMAGE} RUN apt-get update && apt-get install -y curl devscripts equivs git diff --git a/components/packaging/image/Makefile b/components/packaging/image/Makefile index 88c8dcf04b..8165fa5ab7 100644 --- a/components/packaging/image/Makefile +++ b/components/packaging/image/Makefile @@ -4,7 +4,7 @@ CLI_DIR:=$(CURDIR)/../../cli VERSION?=0.0.0-dev GO_BASE_IMAGE=golang GO_VERSION:=1.10.4 -GO_IMAGE=$(GO_BASE_IMAGE):$(GO_VERSION) +ENGINE_GO_IMAGE=$(GO_BASE_IMAGE):$(GO_VERSION) STATIC_VERSION=$(shell ../static/gen-static-ver $(ENGINE_DIR) $(VERSION)) DOCKER_HUB_ORG?=dockereng ARCH=$(shell uname -m) @@ -32,7 +32,7 @@ $(ENGINE_DIR)/Dockerfile.engine: # utilize manifests image-linux: $(ENGINE_DIR)/Dockerfile.engine docker build -t $(DOCKER_HUB_ORG)/$(ENGINE_IMAGE):$(STATIC_VERSION).$(ARCH) \ - --build-arg GO_IMAGE="$(GO_IMAGE)" \ + --build-arg GO_IMAGE="$(ENGINE_GO_IMAGE)" \ --build-arg VERSION="$(STATIC_VERSION)" \ --build-arg GITCOMMIT="$$(cd $(ENGINE_DIR) && git rev-parse --short=7 HEAD)" \ --build-arg BUILDTIME="$(BUILDTIME)" \ diff --git a/components/packaging/rpm/Makefile b/components/packaging/rpm/Makefile index fba19c5ea5..a6157c1c5c 100644 --- a/components/packaging/rpm/Makefile +++ b/components/packaging/rpm/Makefile @@ -15,7 +15,11 @@ DOCKERFILE=Dockerfile ifdef NEEDS_ARCH_SPECIFIC DOCKERFILE=Dockerfile.$(ARCH) endif +ifdef BUILD_IMAGE + BUILD_IMAGE_FLAG=--build-arg $(BUILD_IMAGE) +endif BUILD?=docker build \ + $(BUILD_IMAGE_FLAG) \ --build-arg GO_IMAGE=$(GO_IMAGE) \ --build-arg CONTAINERD_SHIM_PROCESS_IMAGE=$(CONTAINERD_SHIM_PROCESS_IMAGE) \ -t rpmbuild-$@/$(ARCH) \ diff --git a/components/packaging/rpm/centos-7/Dockerfile b/components/packaging/rpm/centos-7/Dockerfile index 1373f2c6b6..15dfb1ec92 100644 --- a/components/packaging/rpm/centos-7/Dockerfile +++ b/components/packaging/rpm/centos-7/Dockerfile @@ -1,9 +1,10 @@ ARG GO_IMAGE ARG CONTAINERD_SHIM_PROCESS_IMAGE +ARG BUILD_IMAGE=centos:7 FROM ${GO_IMAGE} as golang FROM ${CONTAINERD_SHIM_PROCESS_IMAGE} as shim-process -FROM centos:7 +FROM ${BUILD_IMAGE} ENV DISTRO centos ENV SUITE 7 ENV GOPATH=/go diff --git a/components/packaging/rpm/fedora-27/Dockerfile b/components/packaging/rpm/fedora-27/Dockerfile index 5f89cb5614..64fa7428f8 100644 --- a/components/packaging/rpm/fedora-27/Dockerfile +++ b/components/packaging/rpm/fedora-27/Dockerfile @@ -1,9 +1,10 @@ ARG GO_IMAGE ARG CONTAINERD_SHIM_PROCESS_IMAGE +ARG BUILD_IMAGE=fedora:27 FROM ${GO_IMAGE} as golang FROM ${CONTAINERD_SHIM_PROCESS_IMAGE} as shim-process -FROM fedora:27 +FROM ${BUILD_IMAGE} ENV DISTRO fedora ENV SUITE 27 ENV GOPATH /go diff --git a/components/packaging/rpm/fedora-28/Dockerfile b/components/packaging/rpm/fedora-28/Dockerfile index 9a0349fb1e..bb163731b7 100644 --- a/components/packaging/rpm/fedora-28/Dockerfile +++ b/components/packaging/rpm/fedora-28/Dockerfile @@ -1,9 +1,10 @@ ARG GO_IMAGE ARG CONTAINERD_SHIM_PROCESS_IMAGE +ARG BUILD_IMAGE=fedora:28 FROM ${GO_IMAGE} as golang FROM ${CONTAINERD_SHIM_PROCESS_IMAGE} as shim-process -FROM fedora:28 +FROM ${BUILD_IMAGE} ENV DISTRO fedora ENV SUITE 28 ENV GOPATH /go