diff options
Diffstat (limited to 'scripts/crossbuild/docker/centos7/Dockerfile')
-rw-r--r-- | scripts/crossbuild/docker/centos7/Dockerfile | 35 |
1 files changed, 29 insertions, 6 deletions
diff --git a/scripts/crossbuild/docker/centos7/Dockerfile b/scripts/crossbuild/docker/centos7/Dockerfile index 2f9e4ac..91f25b3 100644 --- a/scripts/crossbuild/docker/centos7/Dockerfile +++ b/scripts/crossbuild/docker/centos7/Dockerfile @@ -1,16 +1,32 @@ -FROM centos:centos7 +# Auto generated for centos7 +# from scripts/crossbuild/m4/Dockerfile.rpm.m4 +# +# Rebuild this file with `make crossbuild.centos7.regen` +# +ARG from=centos:7 +FROM ${from} as build + +# +# CentOS 7 is now EOL, so we need to fix up the repo source +# +RUN sed -i "s/^mirrorlist/#mirrorlist/g" /etc/yum.repos.d/CentOS-* +RUN sed -i "s|#\s*baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g" /etc/yum.repos.d/CentOS-* + # # Install devtools like make and git and the EPEL # repository for freetds and hiredis # RUN yum update -y -RUN yum install -y rpmdevtools openssl epel-release git yum-utils rsync +RUN yum install -y rpmdevtools openssl epel-release git procps yum-utils \ + rsync # # Install GCC that has the requisite support for C11 keywords and atomics # RUN yum install -y centos-release-scl +RUN sed -i "s/^mirrorlist/#mirrorlist/g" /etc/yum.repos.d/CentOS-* +RUN sed -i "s|#\s*baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g" /etc/yum.repos.d/CentOS-* RUN yum install -y devtoolset-8-gcc devtoolset-8-gcc-c++ ENV CC=/opt/rh/devtoolset-8/root/usr/bin/gcc @@ -21,6 +37,8 @@ ENV CC=/opt/rh/devtoolset-8/root/usr/bin/gcc RUN rm /etc/yum.repos.d/CentOS-SCLo-scl-rh.repo RUN rm /etc/yum.repos.d/CentOS-SCLo-scl.repo + + # # Documentation build dependecies # @@ -28,12 +46,11 @@ RUN rm /etc/yum.repos.d/CentOS-SCLo-scl.repo # - doxygen & JSON.pm RUN yum install -y doxygen graphviz perl-JSON # - antora (npm needed) -RUN curl -sL https://rpm.nodesource.com/setup_10.x | bash - +RUN curl -sL https://rpm.nodesource.com/setup_16.x | bash - RUN yum install -y nodejs -RUN npm i -g @antora/cli@2.1 @antora/site-generator-default@2.1 +RUN npm i -g @antora/cli@3.1.7 @antora/site-generator-default@3.1.7 # - pandoc RUN curl -o - -L $(curl -s https://api.github.com/repos/jgm/pandoc/releases/latest | grep "browser_download_url.*tar.gz" | cut -d '"' -f 4) | tar xzvf - -C /tmp/ -# " RUN mv /tmp/pandoc-*/bin/* /usr/local/bin # - asciidoctor RUN yum install -y rubygems-devel @@ -67,6 +84,7 @@ RUN git clone --depth 1 --no-single-branch ${source} # # Install build dependencies for all branches from v3 onwards # Nodesource has issues (no SRPMS in some repos) and is not needed here +# CentOS/RHEL 7 do not support "-D" for yum-builddep so do that separately below if needed # WORKDIR freeradius-server RUN for i in $(git for-each-ref --format='%(refname:short)' refs/remotes/origin 2>/dev/null | sed -e 's#origin/##' | egrep "^(v[3-9]*\.[0-9x]*\.x|master)$");\ @@ -75,6 +93,11 @@ RUN for i in $(git for-each-ref --format='%(refname:short)' refs/remotes/origin [ -e redhat/freeradius.spec ] && yum-builddep --disablerepo="nodesource*" -y redhat/freeradius.spec; \ done +# Yubikey deps for CentOS/RHEL 7 +RUN yum install -y ykclient-devel ykclient + +RUN yum install -y libyubikey-devel + # # Which is required by fixture setup utilities # @@ -85,8 +108,8 @@ RUN yum install -y which # RUN yum install -y libnl3-devel + # # Create the RPM build tree # -ENV BUILDDIR=/root/rpmbuild RUN rpmdev-setuptree |