diff --git a/components/packaging/deb/Makefile b/components/packaging/deb/Makefile index 82bbb248f8d..5ca2b57f62a 100644 --- a/components/packaging/deb/Makefile +++ b/components/packaging/deb/Makefile @@ -1,11 +1,12 @@ SHELL:=/bin/bash -ARCH:=amd64 +ALPINE:=$(shell $(CURDIR)/../detect_alpine_image) +ARCH:=$(shell uname -m) ENGINE_DIR:=$(CURDIR)/../../engine CLI_DIR:=$(CURDIR)/../../cli GITCOMMIT?=$(shell cd $(ENGINE_DIR) && git rev-parse --short HEAD) VERSION?=$(shell cat $(ENGINE_DIR)/VERSION) DOCKER_EXPERIMENTAL:=0 -CHOWN:=docker run --rm -v $(CURDIR):/v -w /v alpine chown +CHOWN:=docker run --rm -v $(CURDIR):/v -w /v $(ALPINE) chown .PHONY: help clean deb ubuntu debian ubuntu-xenial ubuntu-trusty ubuntu-yakkety ubuntu-zesty debian-jessie debian-stretch debian-wheezy diff --git a/components/packaging/deb/build-deb b/components/packaging/deb/build-deb index ffa8865ab5b..2ca570f07f0 100755 --- a/components/packaging/deb/build-deb +++ b/components/packaging/deb/build-deb @@ -1,9 +1,14 @@ #!/usr/bin/env bash set -x # I want to rip this install-binaries script out so badly -cd engine && \ - TMP_GOPATH="/go" hack/dockerfile/install-binaries.sh runc-dynamic containerd-dynamic proxy-dynamic tini && \ - cd - +cd engine +TMP_GOPATH="/go" bash hack/dockerfile/install-binaries.sh runc-dynamic containerd-dynamic proxy-dynamic tini +if [[ $? -ne 0 ]]; then + echo "Binaries required for package building not installed correctly." + echo "Exiting..." + exit 1 +fi +cd - echo VERSION AAA $VERSION VERSION=${VERSION:-$( cat engine/VERSION )} diff --git a/components/packaging/deb/common/rules b/components/packaging/deb/common/rules index 74f4b7c8d9b..9a9ed979f0d 100644 --- a/components/packaging/deb/common/rules +++ b/components/packaging/deb/common/rules @@ -12,7 +12,7 @@ override_dh_gencontrol: override_dh_auto_build: cd engine && ./hack/make.sh dynbinary - cd cli && LDFLAGS='' make VERSION=$(VERSION) GITCOMMIT=$(DOCKER_GITCOMMIT) dynbinary + LDFLAGS='' make -C cli VERSION=$(VERSION) GITCOMMIT=$(DOCKER_GITCOMMIT) dynbinary # ./man/md2man-all.sh runs outside the build container (if at all), since we don't have go-md2man here override_dh_auto_test: diff --git a/components/packaging/deb/debian-jessie/Dockerfile.armv7l b/components/packaging/deb/debian-jessie/Dockerfile.armv7l new file mode 100644 index 00000000000..f7fca14e95b --- /dev/null +++ b/components/packaging/deb/debian-jessie/Dockerfile.armv7l @@ -0,0 +1,34 @@ +FROM armhf/debian:jessie + +# allow replacing httpredir or deb mirror +ARG APT_MIRROR=deb.debian.org +RUN sed -ri "s/(httpredir|deb).debian.org/$APT_MIRROR/g" /etc/apt/sources.list + +RUN apt-get update && apt-get install -y apparmor bash-completion btrfs-tools build-essential cmake curl ca-certificates debhelper dh-apparmor dh-systemd git libapparmor-dev libdevmapper-dev libltdl-dev pkg-config vim-common libsystemd-journal-dev --no-install-recommends && rm -rf /var/lib/apt/lists/* + +ENV GO_VERSION 1.8.3 +RUN curl -fSL "https://golang.org/dl/go${GO_VERSION}.linux-armv6l.tar.gz" | tar xzC /usr/local +ENV PATH $PATH:/usr/local/go/bin + +ENV GOPATH /go + +ENV DOCKER_BUILDTAGS apparmor pkcs11 selinux +ENV RUNC_BUILDTAGS apparmor selinux + +COPY common/ /root/build-deb/debian +COPY build-deb /root/build-deb/build-deb + +RUN mkdir -p /go/src/github.com/docker && \ + mkdir -p /go/src/github.com/opencontainers && \ + ln -snf /engine /root/build-deb/engine && \ + ln -snf /cli /root/build-deb/cli && \ + ln -snf /root/build-deb/engine /go/src/github.com/docker/docker && \ + ln -snf /root/build-deb/cli /go/src/github.com/docker/cli + + +ENV DISTRO debian +ENV SUITE jessie + +WORKDIR /root/build-deb + +ENTRYPOINT ["/root/build-deb/build-deb"] diff --git a/components/packaging/deb/debian-jessie/Dockerfile.amd64 b/components/packaging/deb/debian-jessie/Dockerfile.x86_64 similarity index 98% rename from components/packaging/deb/debian-jessie/Dockerfile.amd64 rename to components/packaging/deb/debian-jessie/Dockerfile.x86_64 index 7b6b835b0e9..d44c7955dec 100644 --- a/components/packaging/deb/debian-jessie/Dockerfile.amd64 +++ b/components/packaging/deb/debian-jessie/Dockerfile.x86_64 @@ -6,7 +6,7 @@ RUN sed -ri "s/(httpredir|deb).debian.org/$APT_MIRROR/g" /etc/apt/sources.list RUN apt-get update && apt-get install -y apparmor bash-completion btrfs-tools build-essential cmake curl ca-certificates debhelper dh-apparmor dh-systemd git libapparmor-dev libdevmapper-dev libltdl-dev pkg-config vim-common libsystemd-journal-dev --no-install-recommends && rm -rf /var/lib/apt/lists/* -ENV GO_VERSION 1.8.1 +ENV GO_VERSION 1.8.3 RUN curl -fSL "https://golang.org/dl/go${GO_VERSION}.linux-amd64.tar.gz" | tar xzC /usr/local ENV PATH $PATH:/usr/local/go/bin diff --git a/components/packaging/deb/debian-stretch/Dockerfile.armv7l b/components/packaging/deb/debian-stretch/Dockerfile.armv7l new file mode 100644 index 00000000000..d50d2abd6ee --- /dev/null +++ b/components/packaging/deb/debian-stretch/Dockerfile.armv7l @@ -0,0 +1,34 @@ +FROM armhf/debian:stretch + +# allow replacing httpredir or deb mirror +ARG APT_MIRROR=deb.debian.org +RUN sed -ri "s/(httpredir|deb).debian.org/$APT_MIRROR/g" /etc/apt/sources.list + +RUN apt-get update && apt-get install -y apparmor bash-completion btrfs-tools build-essential cmake curl ca-certificates debhelper dh-apparmor dh-systemd git libapparmor-dev libdevmapper-dev libltdl-dev libseccomp-dev pkg-config vim-common libsystemd-dev --no-install-recommends && rm -rf /var/lib/apt/lists/* + +ENV GO_VERSION 1.8.3 +RUN curl -fSL "https://golang.org/dl/go${GO_VERSION}.linux-armv6l.tar.gz" | tar xzC /usr/local +ENV PATH $PATH:/usr/local/go/bin + +ENV GOPATH /go + +ENV DOCKER_BUILDTAGS apparmor pkcs11 seccomp selinux +ENV RUNC_BUILDTAGS apparmor seccomp selinux + +COPY common/ /root/build-deb/debian +COPY build-deb /root/build-deb/build-deb + +RUN mkdir -p /go/src/github.com/docker && \ + mkdir -p /go/src/github.com/opencontainers && \ + ln -snf /engine /root/build-deb/engine && \ + ln -snf /cli /root/build-deb/cli && \ + ln -snf /root/build-deb/engine /go/src/github.com/docker/docker && \ + ln -snf /root/build-deb/cli /go/src/github.com/docker/cli + + +ENV DISTRO debian +ENV SUITE stretch + +WORKDIR /root/build-deb + +ENTRYPOINT ["/root/build-deb/build-deb"] diff --git a/components/packaging/deb/debian-stretch/Dockerfile.amd64 b/components/packaging/deb/debian-stretch/Dockerfile.x86_64 similarity index 98% rename from components/packaging/deb/debian-stretch/Dockerfile.amd64 rename to components/packaging/deb/debian-stretch/Dockerfile.x86_64 index dfc4010e745..c6ed8a93c5f 100644 --- a/components/packaging/deb/debian-stretch/Dockerfile.amd64 +++ b/components/packaging/deb/debian-stretch/Dockerfile.x86_64 @@ -6,7 +6,7 @@ RUN sed -ri "s/(httpredir|deb).debian.org/$APT_MIRROR/g" /etc/apt/sources.list RUN apt-get update && apt-get install -y apparmor bash-completion btrfs-tools build-essential cmake curl ca-certificates debhelper dh-apparmor dh-systemd git libapparmor-dev libdevmapper-dev libltdl-dev libseccomp-dev pkg-config vim-common libsystemd-dev --no-install-recommends && rm -rf /var/lib/apt/lists/* -ENV GO_VERSION 1.8.1 +ENV GO_VERSION 1.8.3 RUN curl -fSL "https://golang.org/dl/go${GO_VERSION}.linux-amd64.tar.gz" | tar xzC /usr/local ENV PATH $PATH:/usr/local/go/bin diff --git a/components/packaging/deb/debian-wheezy/Dockerfile.armv7l b/components/packaging/deb/debian-wheezy/Dockerfile.armv7l new file mode 100644 index 00000000000..4c990d2d255 --- /dev/null +++ b/components/packaging/deb/debian-wheezy/Dockerfile.armv7l @@ -0,0 +1,36 @@ +FROM armhf/debian:wheezy-backports + +# allow replacing httpredir or deb mirror +ARG APT_MIRROR=deb.debian.org +RUN sed -ri "s/(httpredir|deb).debian.org/$APT_MIRROR/g" /etc/apt/sources.list +RUN sed -ri "s/(httpredir|deb).debian.org/$APT_MIRROR/g" /etc/apt/sources.list.d/backports.list + +RUN apt-get update && apt-get install -y -t wheezy-backports btrfs-tools --no-install-recommends && rm -rf /var/lib/apt/lists/* +RUN apt-get update && apt-get install -y apparmor bash-completion build-essential cmake curl ca-certificates debhelper dh-apparmor dh-systemd git libapparmor-dev libdevmapper-dev libltdl-dev pkg-config vim-common --no-install-recommends && rm -rf /var/lib/apt/lists/* + +ENV GO_VERSION 1.8.3 +RUN curl -fSL "https://golang.org/dl/go${GO_VERSION}.linux-armv6l.tar.gz" | tar xzC /usr/local +ENV PATH $PATH:/usr/local/go/bin + +ENV GOPATH /go + +ENV DOCKER_BUILDTAGS apparmor pkcs11 selinux +ENV RUNC_BUILDTAGS apparmor selinux + +COPY common/ /root/build-deb/debian +COPY build-deb /root/build-deb/build-deb + +RUN mkdir -p /go/src/github.com/docker && \ + mkdir -p /go/src/github.com/opencontainers && \ + ln -snf /engine /root/build-deb/engine && \ + ln -snf /cli /root/build-deb/cli && \ + ln -snf /root/build-deb/engine /go/src/github.com/docker/docker && \ + ln -snf /root/build-deb/cli /go/src/github.com/docker/cli + + +ENV DISTRO debian +ENV SUITE wheezy + +WORKDIR /root/build-deb + +ENTRYPOINT ["/root/build-deb/build-deb"] diff --git a/components/packaging/deb/debian-wheezy/Dockerfile.amd64 b/components/packaging/deb/debian-wheezy/Dockerfile.x86_64 similarity index 98% rename from components/packaging/deb/debian-wheezy/Dockerfile.amd64 rename to components/packaging/deb/debian-wheezy/Dockerfile.x86_64 index 7cc4772839c..c7627b27fb5 100644 --- a/components/packaging/deb/debian-wheezy/Dockerfile.amd64 +++ b/components/packaging/deb/debian-wheezy/Dockerfile.x86_64 @@ -8,7 +8,7 @@ RUN sed -ri "s/(httpredir|deb).debian.org/$APT_MIRROR/g" /etc/apt/sources.list.d RUN apt-get update && apt-get install -y -t wheezy-backports btrfs-tools --no-install-recommends && rm -rf /var/lib/apt/lists/* RUN apt-get update && apt-get install -y apparmor bash-completion build-essential cmake curl ca-certificates debhelper dh-apparmor dh-systemd git libapparmor-dev libdevmapper-dev libltdl-dev pkg-config vim-common --no-install-recommends && rm -rf /var/lib/apt/lists/* -ENV GO_VERSION 1.8.1 +ENV GO_VERSION 1.8.3 RUN curl -fSL "https://golang.org/dl/go${GO_VERSION}.linux-amd64.tar.gz" | tar xzC /usr/local ENV PATH $PATH:/usr/local/go/bin diff --git a/components/packaging/deb/ubuntu-trusty/Dockerfile.armv7l b/components/packaging/deb/ubuntu-trusty/Dockerfile.armv7l new file mode 100644 index 00000000000..b766b5cf6c1 --- /dev/null +++ b/components/packaging/deb/ubuntu-trusty/Dockerfile.armv7l @@ -0,0 +1,30 @@ +FROM armhf/ubuntu:trusty + +RUN apt-get update && apt-get install -y apparmor bash-completion btrfs-tools build-essential cmake curl ca-certificates debhelper dh-apparmor dh-systemd git libapparmor-dev libdevmapper-dev libltdl-dev pkg-config vim-common libsystemd-journal-dev --no-install-recommends && rm -rf /var/lib/apt/lists/* + +ENV GO_VERSION 1.8.3 +RUN curl -fSL "https://golang.org/dl/go${GO_VERSION}.linux-armv6l.tar.gz" | tar xzC /usr/local +ENV PATH $PATH:/usr/local/go/bin + +ENV GOPATH /go + +ENV DOCKER_BUILDTAGS apparmor pkcs11 selinux +ENV RUNC_BUILDTAGS apparmor selinux + +COPY common/ /root/build-deb/debian +COPY build-deb /root/build-deb/build-deb + +RUN mkdir -p /go/src/github.com/docker && \ + mkdir -p /go/src/github.com/opencontainers && \ + ln -snf /engine /root/build-deb/engine && \ + ln -snf /cli /root/build-deb/cli && \ + ln -snf /root/build-deb/engine /go/src/github.com/docker/docker && \ + ln -snf /root/build-deb/cli /go/src/github.com/docker/cli + + +ENV DISTRO ubuntu +ENV SUITE trusty + +WORKDIR /root/build-deb + +ENTRYPOINT ["/root/build-deb/build-deb"] diff --git a/components/packaging/deb/ubuntu-trusty/Dockerfile.amd64 b/components/packaging/deb/ubuntu-trusty/Dockerfile.x86_64 similarity index 98% rename from components/packaging/deb/ubuntu-trusty/Dockerfile.amd64 rename to components/packaging/deb/ubuntu-trusty/Dockerfile.x86_64 index f277ee4cff5..cde9ca847d7 100644 --- a/components/packaging/deb/ubuntu-trusty/Dockerfile.amd64 +++ b/components/packaging/deb/ubuntu-trusty/Dockerfile.x86_64 @@ -2,7 +2,7 @@ FROM ubuntu:trusty RUN apt-get update && apt-get install -y apparmor bash-completion btrfs-tools build-essential cmake curl ca-certificates debhelper dh-apparmor dh-systemd git libapparmor-dev libdevmapper-dev libltdl-dev pkg-config vim-common libsystemd-journal-dev --no-install-recommends && rm -rf /var/lib/apt/lists/* -ENV GO_VERSION 1.8.1 +ENV GO_VERSION 1.8.3 RUN curl -fSL "https://golang.org/dl/go${GO_VERSION}.linux-amd64.tar.gz" | tar xzC /usr/local ENV PATH $PATH:/usr/local/go/bin diff --git a/components/packaging/deb/ubuntu-xenial/Dockerfile.armv7l b/components/packaging/deb/ubuntu-xenial/Dockerfile.armv7l new file mode 100644 index 00000000000..4946f4b70a0 --- /dev/null +++ b/components/packaging/deb/ubuntu-xenial/Dockerfile.armv7l @@ -0,0 +1,30 @@ +FROM armhf/ubuntu:xenial + +RUN apt-get update && apt-get install -y apparmor bash-completion btrfs-tools build-essential cmake curl ca-certificates debhelper dh-apparmor dh-systemd git libapparmor-dev libdevmapper-dev libltdl-dev libseccomp-dev pkg-config vim-common libsystemd-dev --no-install-recommends && rm -rf /var/lib/apt/lists/* + +ENV GO_VERSION 1.8.3 +RUN curl -fSL "https://golang.org/dl/go${GO_VERSION}.linux-armv6l.tar.gz" | tar xzC /usr/local +ENV PATH $PATH:/usr/local/go/bin + +ENV GOPATH /go + +ENV DOCKER_BUILDTAGS apparmor pkcs11 seccomp selinux +ENV RUNC_BUILDTAGS apparmor seccomp selinux + +COPY common/ /root/build-deb/debian +COPY build-deb /root/build-deb/build-deb + +RUN mkdir -p /go/src/github.com/docker && \ + mkdir -p /go/src/github.com/opencontainers && \ + ln -snf /engine /root/build-deb/engine && \ + ln -snf /cli /root/build-deb/cli && \ + ln -snf /root/build-deb/engine /go/src/github.com/docker/docker && \ + ln -snf /root/build-deb/cli /go/src/github.com/docker/cli + + +ENV DISTRO ubuntu +ENV SUITE xenial + +WORKDIR /root/build-deb + +ENTRYPOINT ["/root/build-deb/build-deb"] diff --git a/components/packaging/deb/ubuntu-xenial/Dockerfile.s390x b/components/packaging/deb/ubuntu-xenial/Dockerfile.s390x index f53f8ea248f..9e4085d8861 100644 --- a/components/packaging/deb/ubuntu-xenial/Dockerfile.s390x +++ b/components/packaging/deb/ubuntu-xenial/Dockerfile.s390x @@ -2,7 +2,7 @@ FROM s390x/ubuntu:xenial RUN apt-get update && apt-get install -y apparmor bash-completion btrfs-tools build-essential cmake curl ca-certificates debhelper dh-apparmor dh-systemd git libapparmor-dev libdevmapper-dev libltdl-dev libseccomp-dev pkg-config vim-common libsystemd-dev --no-install-recommends && rm -rf /var/lib/apt/lists/* -ENV GO_VERSION 1.8.1 +ENV GO_VERSION 1.8.3 RUN curl -fSL "https://golang.org/dl/go${GO_VERSION}.linux-s390x.tar.gz" | tar xzC /usr/local ENV PATH $PATH:/usr/local/go/bin diff --git a/components/packaging/deb/ubuntu-xenial/Dockerfile.amd64 b/components/packaging/deb/ubuntu-xenial/Dockerfile.x86_64 similarity index 98% rename from components/packaging/deb/ubuntu-xenial/Dockerfile.amd64 rename to components/packaging/deb/ubuntu-xenial/Dockerfile.x86_64 index 68527a4b02c..bb622e7d51e 100644 --- a/components/packaging/deb/ubuntu-xenial/Dockerfile.amd64 +++ b/components/packaging/deb/ubuntu-xenial/Dockerfile.x86_64 @@ -2,7 +2,7 @@ FROM ubuntu:xenial RUN apt-get update && apt-get install -y apparmor bash-completion btrfs-tools build-essential cmake curl ca-certificates debhelper dh-apparmor dh-systemd git libapparmor-dev libdevmapper-dev libltdl-dev libseccomp-dev pkg-config vim-common libsystemd-dev --no-install-recommends && rm -rf /var/lib/apt/lists/* -ENV GO_VERSION 1.8.1 +ENV GO_VERSION 1.8.3 RUN curl -fSL "https://golang.org/dl/go${GO_VERSION}.linux-amd64.tar.gz" | tar xzC /usr/local ENV PATH $PATH:/usr/local/go/bin diff --git a/components/packaging/deb/ubuntu-yakkety/Dockerfile.armv7l b/components/packaging/deb/ubuntu-yakkety/Dockerfile.armv7l new file mode 100644 index 00000000000..f729e9283da --- /dev/null +++ b/components/packaging/deb/ubuntu-yakkety/Dockerfile.armv7l @@ -0,0 +1,30 @@ +FROM armhf/ubuntu:yakkety + +RUN apt-get update && apt-get install -y apparmor bash-completion btrfs-tools build-essential cmake curl ca-certificates debhelper dh-apparmor dh-systemd git libapparmor-dev libdevmapper-dev libltdl-dev libseccomp-dev pkg-config vim-common libsystemd-dev --no-install-recommends && rm -rf /var/lib/apt/lists/* + +ENV GO_VERSION 1.8.3 +RUN curl -fSL "https://golang.org/dl/go${GO_VERSION}.linux-armv6l.tar.gz" | tar xzC /usr/local +ENV PATH $PATH:/usr/local/go/bin + +ENV GOPATH /go + +ENV DOCKER_BUILDTAGS apparmor pkcs11 selinux +ENV RUNC_BUILDTAGS apparmor selinux + +COPY common/ /root/build-deb/debian +COPY build-deb /root/build-deb/build-deb + +RUN mkdir -p /go/src/github.com/docker && \ + mkdir -p /go/src/github.com/opencontainers && \ + ln -snf /engine /root/build-deb/engine && \ + ln -snf /cli /root/build-deb/cli && \ + ln -snf /root/build-deb/engine /go/src/github.com/docker/docker && \ + ln -snf /root/build-deb/cli /go/src/github.com/docker/cli + + +ENV DISTRO ubuntu +ENV SUITE yakkety + +WORKDIR /root/build-deb + +ENTRYPOINT ["/root/build-deb/build-deb"] diff --git a/components/packaging/deb/ubuntu-yakkety/Dockerfile.s390x b/components/packaging/deb/ubuntu-yakkety/Dockerfile.s390x index e2284b853c3..c50d678ef4d 100644 --- a/components/packaging/deb/ubuntu-yakkety/Dockerfile.s390x +++ b/components/packaging/deb/ubuntu-yakkety/Dockerfile.s390x @@ -2,7 +2,7 @@ FROM s390x/ubuntu:yakkety RUN apt-get update && apt-get install -y apparmor bash-completion btrfs-tools build-essential cmake curl ca-certificates debhelper dh-apparmor dh-systemd git libapparmor-dev libdevmapper-dev libltdl-dev libseccomp-dev pkg-config vim-common libsystemd-dev --no-install-recommends && rm -rf /var/lib/apt/lists/* -ENV GO_VERSION 1.8.1 +ENV GO_VERSION 1.8.3 RUN curl -fSL "https://golang.org/dl/go${GO_VERSION}.linux-s390x.tar.gz" | tar xzC /usr/local ENV PATH $PATH:/usr/local/go/bin diff --git a/components/packaging/deb/ubuntu-yakkety/Dockerfile.amd64 b/components/packaging/deb/ubuntu-yakkety/Dockerfile.x86_64 similarity index 98% rename from components/packaging/deb/ubuntu-yakkety/Dockerfile.amd64 rename to components/packaging/deb/ubuntu-yakkety/Dockerfile.x86_64 index 14cec175db0..1f75a9de14a 100644 --- a/components/packaging/deb/ubuntu-yakkety/Dockerfile.amd64 +++ b/components/packaging/deb/ubuntu-yakkety/Dockerfile.x86_64 @@ -2,7 +2,7 @@ FROM ubuntu:yakkety RUN apt-get update && apt-get install -y apparmor bash-completion btrfs-tools build-essential cmake curl ca-certificates debhelper dh-apparmor dh-systemd git libapparmor-dev libdevmapper-dev libltdl-dev libseccomp-dev pkg-config vim-common libsystemd-dev --no-install-recommends && rm -rf /var/lib/apt/lists/* -ENV GO_VERSION 1.8.1 +ENV GO_VERSION 1.8.3 RUN curl -fSL "https://golang.org/dl/go${GO_VERSION}.linux-amd64.tar.gz" | tar xzC /usr/local ENV PATH $PATH:/usr/local/go/bin diff --git a/components/packaging/deb/ubuntu-zesty/Dockerfile.armv7l b/components/packaging/deb/ubuntu-zesty/Dockerfile.armv7l new file mode 100644 index 00000000000..1a7d35d9de5 --- /dev/null +++ b/components/packaging/deb/ubuntu-zesty/Dockerfile.armv7l @@ -0,0 +1,30 @@ +FROM armhf/ubuntu:yakkety + +RUN apt-get update && apt-get install -y apparmor bash-completion btrfs-tools build-essential cmake curl ca-certificates debhelper dh-apparmor dh-systemd git libapparmor-dev libdevmapper-dev libltdl-dev libseccomp-dev pkg-config vim-common libsystemd-dev --no-install-recommends && rm -rf /var/lib/apt/lists/* + +ENV GO_VERSION 1.8.3 +RUN curl -fSL "https://golang.org/dl/go${GO_VERSION}.linux-armv6l.tar.gz" | tar xzC /usr/local +ENV PATH $PATH:/usr/local/go/bin + +ENV GOPATH /go + +ENV DOCKER_BUILDTAGS apparmor pkcs11 seccomp selinux +ENV RUNC_BUILDTAGS apparmor seccomp selinux + +COPY common/ /root/build-deb/debian +COPY build-deb /root/build-deb/build-deb + +RUN mkdir -p /go/src/github.com/docker && \ + mkdir -p /go/src/github.com/opencontainers && \ + ln -snf /engine /root/build-deb/engine && \ + ln -snf /cli /root/build-deb/cli && \ + ln -snf /root/build-deb/engine /go/src/github.com/docker/docker && \ + ln -snf /root/build-deb/cli /go/src/github.com/docker/cli + + +ENV DISTRO ubuntu +ENV SUITE zesty + +WORKDIR /root/build-deb + +ENTRYPOINT ["/root/build-deb/build-deb"] diff --git a/components/packaging/deb/ubuntu-zesty/Dockerfile.s390x b/components/packaging/deb/ubuntu-zesty/Dockerfile.s390x index 819b707b019..46ee96101e5 100644 --- a/components/packaging/deb/ubuntu-zesty/Dockerfile.s390x +++ b/components/packaging/deb/ubuntu-zesty/Dockerfile.s390x @@ -2,7 +2,7 @@ FROM s390x/ubuntu:zesty RUN apt-get update && apt-get install -y apparmor bash-completion btrfs-tools build-essential cmake curl ca-certificates debhelper dh-apparmor dh-systemd git libapparmor-dev libdevmapper-dev libltdl-dev libseccomp-dev pkg-config vim-common libsystemd-dev --no-install-recommends && rm -rf /var/lib/apt/lists/* -ENV GO_VERSION 1.8.1 +ENV GO_VERSION 1.8.3 RUN curl -fSL "https://golang.org/dl/go${GO_VERSION}.linux-s390x.tar.gz" | tar xzC /usr/local ENV PATH $PATH:/usr/local/go/bin diff --git a/components/packaging/deb/ubuntu-zesty/Dockerfile.amd64 b/components/packaging/deb/ubuntu-zesty/Dockerfile.x86_64 similarity index 98% rename from components/packaging/deb/ubuntu-zesty/Dockerfile.amd64 rename to components/packaging/deb/ubuntu-zesty/Dockerfile.x86_64 index b25ee7e48f1..e9ece83f38a 100644 --- a/components/packaging/deb/ubuntu-zesty/Dockerfile.amd64 +++ b/components/packaging/deb/ubuntu-zesty/Dockerfile.x86_64 @@ -2,7 +2,7 @@ FROM ubuntu:zesty RUN apt-get update && apt-get install -y apparmor bash-completion btrfs-tools build-essential cmake curl ca-certificates debhelper dh-apparmor dh-systemd git libapparmor-dev libdevmapper-dev libltdl-dev libseccomp-dev pkg-config vim-common libsystemd-dev --no-install-recommends && rm -rf /var/lib/apt/lists/* -ENV GO_VERSION 1.8.1 +ENV GO_VERSION 1.8.3 RUN curl -fSL "https://golang.org/dl/go${GO_VERSION}.linux-amd64.tar.gz" | tar xzC /usr/local ENV PATH $PATH:/usr/local/go/bin diff --git a/components/packaging/detect_alpine_image b/components/packaging/detect_alpine_image new file mode 100755 index 00000000000..282a49f9b85 --- /dev/null +++ b/components/packaging/detect_alpine_image @@ -0,0 +1,17 @@ +#!/usr/bin/env sh + +arch="$(uname -m)" +img="unknown" + +if [ "$arch" = "x86_64" ]; then + img="alpine" +elif [ "$arch" = "armv7l" ]; then + img="armhf/alpine" +elif [ "$arch" = "s390x" ]; then + img="s390x/alpine" +else + echo "Architecture $(arch) not supported" + exit 1; +fi + +echo "$img" diff --git a/components/packaging/rpm/centos-7/Dockerfile.x86_64 b/components/packaging/rpm/centos-7/Dockerfile.x86_64 index 01313c9dfd0..dd6c9da1c10 100644 --- a/components/packaging/rpm/centos-7/Dockerfile.x86_64 +++ b/components/packaging/rpm/centos-7/Dockerfile.x86_64 @@ -18,6 +18,8 @@ RUN yum install -y \ vim-common ENV GO_VERSION 1.7.5 +ENV DISTRO centos +ENV SUITE 7 RUN curl -fSL "https://golang.org/dl/go${GO_VERSION}.linux-amd64.tar.gz" | tar xzC /usr/local RUN mkdir -p /go ENV GOPATH=/go diff --git a/components/packaging/rpm/fedora-24/Dockerfile.x86_64 b/components/packaging/rpm/fedora-24/Dockerfile.x86_64 index 6666a296b8b..569442689e9 100644 --- a/components/packaging/rpm/fedora-24/Dockerfile.x86_64 +++ b/components/packaging/rpm/fedora-24/Dockerfile.x86_64 @@ -2,7 +2,9 @@ FROM fedora:24 RUN dnf -y upgrade RUN dnf install -y @development-tools fedora-packager RUN dnf install -y btrfs-progs-devel device-mapper-devel glibc-static libseccomp-devel libselinux-devel libtool-ltdl-devel pkgconfig selinux-policy selinux-policy-devel systemd-devel tar git cmake vim-common -ENV GO_VERSION 1.8.1 +ENV GO_VERSION 1.8.3 +ENV DISTRO fedora +ENV SUITE 24 RUN curl -fSL "https://golang.org/dl/go${GO_VERSION}.linux-amd64.tar.gz" | tar xzC /usr/local ENV PATH $PATH:/usr/local/go/bin ENV AUTO_GOPATH 1 diff --git a/components/packaging/rpm/fedora-25/Dockerfile.x86_64 b/components/packaging/rpm/fedora-25/Dockerfile.x86_64 index e439f30b77d..ad737ce5ac8 100644 --- a/components/packaging/rpm/fedora-25/Dockerfile.x86_64 +++ b/components/packaging/rpm/fedora-25/Dockerfile.x86_64 @@ -2,7 +2,9 @@ FROM fedora:25 RUN dnf -y upgrade RUN dnf install -y @development-tools fedora-packager RUN dnf install -y btrfs-progs-devel device-mapper-devel glibc-static libseccomp-devel libselinux-devel libtool-ltdl-devel pkgconfig selinux-policy selinux-policy-devel systemd-devel tar git cmake vim-common -ENV GO_VERSION 1.8.1 +ENV GO_VERSION 1.8.3 +ENV DISTRO fedora +ENV SUITE 25 RUN curl -fSL "https://golang.org/dl/go${GO_VERSION}.linux-amd64.tar.gz" | tar xzC /usr/local ENV PATH $PATH:/usr/local/go/bin ENV AUTO_GOPATH 1