diff --git a/components/engine/Dockerfile b/components/engine/Dockerfile index 7f8ecd6a77..56da7fe1b0 100644 --- a/components/engine/Dockerfile +++ b/components/engine/Dockerfile @@ -86,6 +86,32 @@ RUN cd /usr/local/lvm2 \ && make install_device-mapper # see https://git.fedorahosted.org/cgit/lvm2.git/tree/INSTALL +# Configure the container for OSX cross compilation +ENV OSX_SDK MacOSX10.11.sdk +RUN set -x \ + && export OSXCROSS_PATH="/osxcross" \ + && git clone --depth 1 https://github.com/tpoechtrager/osxcross.git $OSXCROSS_PATH \ + && curl -sSL https://s3.dockerproject.org/darwin/${OSX_SDK}.tar.xz -o "${OSXCROSS_PATH}/tarballs/${OSX_SDK}.tar.xz" \ + && UNATTENDED=yes OSX_VERSION_MIN=10.6 ${OSXCROSS_PATH}/build.sh +ENV PATH /osxcross/target/bin:$PATH + +# install seccomp +# this can be changed to the ubuntu package libseccomp-dev if dockerinit is removed, +# we need libseccomp.a (which the package does not provide) for dockerinit +ENV SECCOMP_VERSION 2.2.3 +RUN set -x \ + && export SECCOMP_PATH="$(mktemp -d)" \ + && curl -fsSL "https://github.com/seccomp/libseccomp/releases/download/v${SECCOMP_VERSION}/libseccomp-${SECCOMP_VERSION}.tar.gz" \ + | tar -xzC "$SECCOMP_PATH" --strip-components=1 \ + && ( \ + cd "$SECCOMP_PATH" \ + && ./configure --prefix=/usr/local \ + && make \ + && make install \ + && ldconfig \ + ) \ + && rm -rf "$SECCOMP_PATH" + # Install Go # IMPORTANT: If the version of Go is updated, the Windows to Linux CI machines # will need updating, to avoid errors. Ping #docker-maintainers on IRC @@ -124,32 +150,6 @@ RUN git clone https://github.com/golang/lint.git /go/src/github.com/golang/lint && (cd /go/src/github.com/golang/lint && git checkout -q $GO_LINT_COMMIT) \ && go install -v github.com/golang/lint/golint -# Configure the container for OSX cross compilation -ENV OSX_SDK MacOSX10.11.sdk -RUN set -x \ - && export OSXCROSS_PATH="/osxcross" \ - && git clone --depth 1 https://github.com/tpoechtrager/osxcross.git $OSXCROSS_PATH \ - && curl -sSL https://s3.dockerproject.org/darwin/${OSX_SDK}.tar.xz -o "${OSXCROSS_PATH}/tarballs/${OSX_SDK}.tar.xz" \ - && UNATTENDED=yes OSX_VERSION_MIN=10.6 ${OSXCROSS_PATH}/build.sh -ENV PATH /osxcross/target/bin:$PATH - -# install seccomp -# this can be changed to the ubuntu package libseccomp-dev if dockerinit is removed, -# we need libseccomp.a (which the package does not provide) for dockerinit -ENV SECCOMP_VERSION 2.2.3 -RUN set -x \ - && export SECCOMP_PATH="$(mktemp -d)" \ - && curl -fsSL "https://github.com/seccomp/libseccomp/releases/download/v${SECCOMP_VERSION}/libseccomp-${SECCOMP_VERSION}.tar.gz" \ - | tar -xzC "$SECCOMP_PATH" --strip-components=1 \ - && ( \ - cd "$SECCOMP_PATH" \ - && ./configure --prefix=/usr/local \ - && make \ - && make install \ - && ldconfig \ - ) \ - && rm -rf "$SECCOMP_PATH" - # Install two versions of the registry. The first is an older version that # only supports schema1 manifests. The second is a newer version that supports # both. This allows integration-cli tests to cover push/pull with both schema1