Introduce "common.label-and-env"

This will simply the removal of deprecated "org.label-schema" annotation [1]
and the introduction of open containers ones [2]

[1] http://label-schema.org/rc1/
[2] https://github.com/opencontainers/image-spec/blob/master/annotations.md
This commit is contained in:
Jean-Christophe Fillion-Robin
2020-05-06 20:21:14 -04:00
committed by Jonas Vautherin
parent 1fb2785377
commit 68b4549a50
28 changed files with 114 additions and 339 deletions

View File

@ -4,10 +4,82 @@ MAINTAINER Matt McCormick "matt.mccormick@kitware.com"
ENV DEFAULT_DOCKCROSS_IMAGE dockcross/manylinux2010-x64
#include "common.manylinux"
# Image build scripts
COPY \
imagefiles/install-gosu-binary.sh \
imagefiles/install-gosu-binary-wrapper.sh \
manylinux-common/install-python-packages.sh \
/buildscripts/
RUN \
set -x && \
yum -y install \
epel-release \
gpg \
zlib-devel \
gettext \
openssh-clients \
pax \
wget \
zip \
&& \
yum clean all && \
/buildscripts/install-gosu-binary.sh && \
/buildscripts/install-gosu-binary-wrapper.sh && \
# Remove sudo provided by "devtoolset-2" and "devtoolset-8" since it doesn't work with
# our sudo wrapper calling gosu.
rm -f /opt/rh/devtoolset-2/root/usr/bin/sudo && \
rm -f /opt/rh/devtoolset-7/root/usr/bin/sudo && \
rm -f /opt/rh/devtoolset-8/root/usr/bin/sudo && \
/buildscripts/install-python-packages.sh && \
rm -rf /buildscripts
# Runtime scripts
COPY manylinux-common/pre_exec.sh /dockcross/
#include "common.dockcross"
#include "common.docker"
WORKDIR /usr/src
ARG GIT_VERSION=2.22.0
ARG CMAKE_VERSION=3.17.1
# Image build scripts
COPY \
imagefiles/build-and-install-cmake.sh \
imagefiles/build-and-install-curl.sh \
imagefiles/build-and-install-git.sh \
imagefiles/build-and-install-ninja.sh \
imagefiles/build-and-install-openssl.sh \
imagefiles/build-and-install-openssh.sh \
imagefiles/install-cmake-binary.sh \
imagefiles/install-liquidprompt-binary.sh \
imagefiles/install-python-packages.sh \
imagefiles/utils.sh \
/buildscripts/
RUN \
X86_FLAG=$([ "$DEFAULT_DOCKCROSS_IMAGE" = "dockcross/manylinux1-x86" -o "$DEFAULT_DOCKCROSS_IMAGE" = "dockcross/manylinux2010-x86" ] && echo "-32" || echo "") && \
/buildscripts/build-and-install-openssl.sh $X86_FLAG && \
/buildscripts/build-and-install-openssh.sh && \
/buildscripts/build-and-install-curl.sh && \
/buildscripts/build-and-install-git.sh && \
/buildscripts/install-cmake-binary.sh $X86_FLAG && \
/buildscripts/install-liquidprompt-binary.sh && \
PYTHON=$([ -e /opt/python/cp35-cp35m/bin/python ] && echo "/opt/python/cp35-cp35m/bin/python" || echo "python") && \
/buildscripts/install-python-packages.sh -python ${PYTHON} && \
/buildscripts/build-and-install-ninja.sh -python ${PYTHON} && \
rm -rf /buildscripts
RUN echo "root:root" | chpasswd
WORKDIR /work
ENTRYPOINT ["/dockcross/entrypoint.sh"]
# Runtime scripts
COPY imagefiles/cmake.sh /usr/local/bin/cmake
COPY imagefiles/ccmake.sh /usr/local/bin/ccmake
COPY imagefiles/entrypoint.sh imagefiles/dockcross /dockcross/
# Override yum to work around the problem with newly built libcurl.so.4
# https://access.redhat.com/solutions/641093
@ -29,16 +101,4 @@ COPY linux-x64/${CROSS_TRIPLE}-noop.sh /usr/bin/${CROSS_TRIPLE}-noop
COPY manylinux2010-x64/Toolchain.cmake ${CROSS_ROOT}/../lib/
ENV CMAKE_TOOLCHAIN_FILE ${CROSS_ROOT}/../lib/Toolchain.cmake
# Build-time metadata as defined at http://label-schema.org
ARG BUILD_DATE
ARG IMAGE
ARG VERSION=latest
ARG VCS_REF
ARG VCS_URL
LABEL org.label-schema.build-date=$BUILD_DATE \
org.label-schema.name=$IMAGE \
org.label-schema.version=$VERSION \
org.label-schema.vcs-ref=$VCS_REF \
org.label-schema.vcs-url=$VCS_URL \
org.label-schema.schema-version="1.0"
ENV DEFAULT_DOCKCROSS_IMAGE ${IMAGE}:${VERSION}
#include "common.label-and-env"