diff --git a/integration/linux/build/Dockerfile-centos.template b/integration/linux/build/Dockerfile-centos.template index 1f02b158..e6f7cc97 100644 --- a/integration/linux/build/Dockerfile-centos.template +++ b/integration/linux/build/Dockerfile-centos.template @@ -9,12 +9,15 @@ ENV LANG en_US.UTF-8 ENV LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/usr/local/lib" -RUN (echo precedence ::ffff:0:0/96 100 >> /etc/gai.conf \ - && source /etc/os-release; \ - [ "$VERSION_ID" = "7" -o "$VERSION_ID" = "8" ] && (cd /etc/yum.repos.d/ \ +# rpm on centos 7 iterates over all fds up to the limit, which is +# extremely slow. Force it to be small with ulimit. +# +# We need to disable the mirrorlist and explicitly set up a +# baseurl. Switch to the archive.kernel.org mirror while we are at it. +RUN ulimit -n 1024 \ && sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-* \ - && sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-* \ - && yum update -y) || true) + && sed -i 's|# \?baseurl=http://mirror.centos.org|baseurl=https://archive.kernel.org/centos-vault/|g' /etc/yum.repos.d/CentOS-* \ + && yum update -y # rpm on centos 7 iterates over all fds up to the limit, which is # extremely slow. Force it to be small. diff --git a/integration/linux/build/centos-7/Dockerfile b/integration/linux/build/centos-7/Dockerfile index 3dda1301..bb313112 100644 --- a/integration/linux/build/centos-7/Dockerfile +++ b/integration/linux/build/centos-7/Dockerfile @@ -15,12 +15,15 @@ ENV LANG en_US.UTF-8 ENV LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/usr/local/lib" -RUN (echo precedence ::ffff:0:0/96 100 >> /etc/gai.conf \ - && source /etc/os-release; \ - [ "$VERSION_ID" = "7" -o "$VERSION_ID" = "8" ] && (cd /etc/yum.repos.d/ \ +# rpm on centos 7 iterates over all fds up to the limit, which is +# extremely slow. Force it to be small with ulimit. +# +# We need to disable the mirrorlist and explicitly set up a +# baseurl. Switch to the archive.kernel.org mirror while we are at it. +RUN ulimit -n 1024 \ && sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-* \ - && sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-* \ - && yum update -y) || true) + && sed -i 's|# \?baseurl=http://mirror.centos.org|baseurl=https://archive.kernel.org/centos-vault/|g' /etc/yum.repos.d/CentOS-* \ + && yum update -y # rpm on centos 7 iterates over all fds up to the limit, which is # extremely slow. Force it to be small. @@ -188,7 +191,7 @@ RUN cd /usr/local/bin \ && ln -s python3-config python-config # if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value ''" -ENV PYTHON_PIP_VERSION 24.0 +ENV PYTHON_PIP_VERSION 24.1.1 RUN set -ex; \ \ diff --git a/integration/linux/build/centos-8/Dockerfile b/integration/linux/build/centos-8/Dockerfile index 40f8d2ca..a3bdcd07 100644 --- a/integration/linux/build/centos-8/Dockerfile +++ b/integration/linux/build/centos-8/Dockerfile @@ -15,12 +15,15 @@ ENV LANG en_US.UTF-8 ENV LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/usr/local/lib" -RUN (echo precedence ::ffff:0:0/96 100 >> /etc/gai.conf \ - && source /etc/os-release; \ - [ "$VERSION_ID" = "7" -o "$VERSION_ID" = "8" ] && (cd /etc/yum.repos.d/ \ +# rpm on centos 7 iterates over all fds up to the limit, which is +# extremely slow. Force it to be small with ulimit. +# +# We need to disable the mirrorlist and explicitly set up a +# baseurl. Switch to the archive.kernel.org mirror while we are at it. +RUN ulimit -n 1024 \ && sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-* \ - && sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-* \ - && yum update -y) || true) + && sed -i 's|# \?baseurl=http://mirror.centos.org|baseurl=https://archive.kernel.org/centos-vault/|g' /etc/yum.repos.d/CentOS-* \ + && yum update -y # rpm on centos 7 iterates over all fds up to the limit, which is # extremely slow. Force it to be small. @@ -188,7 +191,7 @@ RUN cd /usr/local/bin \ && ln -s python3-config python-config # if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value ''" -ENV PYTHON_PIP_VERSION 24.0 +ENV PYTHON_PIP_VERSION 24.1.1 RUN set -ex; \ \ diff --git a/integration/linux/test/Dockerfile-centos.template b/integration/linux/test/Dockerfile-centos.template index e52c656a..8f8fbf11 100644 --- a/integration/linux/test/Dockerfile-centos.template +++ b/integration/linux/test/Dockerfile-centos.template @@ -3,8 +3,12 @@ FROM centos:%%PLACEHOLDER%% RUN chmod +x /entrypoint.sh ENTRYPOINT ["/entrypoint.sh"] -RUN (source /etc/os-release; \ - [ "$VERSION" = "8" ] && (cd /etc/yum.repos.d/ \ +# rpm on centos 7 iterates over all fds up to the limit, which is +# extremely slow. Force it to be small with ulimit. +# +# We need to disable the mirrorlist and explicitly set up a +# baseurl. Switch to the archive.kernel.org mirror while we are at it. +RUN ulimit -n 1024 \ && sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-* \ - && sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-* \ - && yum update -y) || true) + && sed -i 's|# \?baseurl=http://mirror.centos.org|baseurl=https://archive.kernel.org/centos-vault/|g' /etc/yum.repos.d/CentOS-* \ + && yum update -y diff --git a/integration/linux/test/Dockerfile-linux.template b/integration/linux/test/Dockerfile-linux.template index 38499593..4c3a6ad8 100644 --- a/integration/linux/test/Dockerfile-linux.template +++ b/integration/linux/test/Dockerfile-linux.template @@ -75,6 +75,15 @@ RUN set -ex \ && chmod +x /bin/gosu FROM ${DOCKER_ARCH}centos:7 AS glibc +# rpm on centos 7 iterates over all fds up to the limit, which is +# extremely slow. Force it to be small with ulimit. +# +# We need to disable the mirrorlist and explicitly set up a +# baseurl. Switch to the archive.kernel.org mirror while we are at it. +RUN ulimit -n 1024 \ + && sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-* \ + && sed -i 's|# \?baseurl=http://mirror.centos.org|baseurl=https://archive.kernel.org/centos-vault/|g' /etc/yum.repos.d/CentOS-* + RUN repoquery -l "glibc" "glibc-common" \ | grep -v --fixed-strings -- '/.build-id' \ | grep -v --fixed-strings -- '/usr/share/doc' \ diff --git a/integration/linux/test/centos-7/Dockerfile b/integration/linux/test/centos-7/Dockerfile index 49f69e8f..2163535e 100644 --- a/integration/linux/test/centos-7/Dockerfile +++ b/integration/linux/test/centos-7/Dockerfile @@ -96,8 +96,12 @@ fi\n\' >/entrypoint.sh RUN chmod +x /entrypoint.sh ENTRYPOINT ["/entrypoint.sh"] -RUN (source /etc/os-release; \ - [ "$VERSION" = "8" ] && (cd /etc/yum.repos.d/ \ +# rpm on centos 7 iterates over all fds up to the limit, which is +# extremely slow. Force it to be small with ulimit. +# +# We need to disable the mirrorlist and explicitly set up a +# baseurl. Switch to the archive.kernel.org mirror while we are at it. +RUN ulimit -n 1024 \ && sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-* \ - && sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-* \ - && yum update -y) || true) + && sed -i 's|# \?baseurl=http://mirror.centos.org|baseurl=https://archive.kernel.org/centos-vault/|g' /etc/yum.repos.d/CentOS-* \ + && yum update -y diff --git a/integration/linux/test/centos-8/Dockerfile b/integration/linux/test/centos-8/Dockerfile index 4a21b7c0..9a6634d4 100644 --- a/integration/linux/test/centos-8/Dockerfile +++ b/integration/linux/test/centos-8/Dockerfile @@ -96,8 +96,12 @@ fi\n\' >/entrypoint.sh RUN chmod +x /entrypoint.sh ENTRYPOINT ["/entrypoint.sh"] -RUN (source /etc/os-release; \ - [ "$VERSION" = "8" ] && (cd /etc/yum.repos.d/ \ +# rpm on centos 7 iterates over all fds up to the limit, which is +# extremely slow. Force it to be small with ulimit. +# +# We need to disable the mirrorlist and explicitly set up a +# baseurl. Switch to the archive.kernel.org mirror while we are at it. +RUN ulimit -n 1024 \ && sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-* \ - && sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-* \ - && yum update -y) || true) + && sed -i 's|# \?baseurl=http://mirror.centos.org|baseurl=https://archive.kernel.org/centos-vault/|g' /etc/yum.repos.d/CentOS-* \ + && yum update -y diff --git a/integration/linux/test/linux-aarch64/Dockerfile b/integration/linux/test/linux-aarch64/Dockerfile index 806e0cfb..2464febb 100644 --- a/integration/linux/test/linux-aarch64/Dockerfile +++ b/integration/linux/test/linux-aarch64/Dockerfile @@ -81,6 +81,15 @@ RUN set -ex \ && chmod +x /bin/gosu FROM ${DOCKER_ARCH}centos:7 AS glibc +# rpm on centos 7 iterates over all fds up to the limit, which is +# extremely slow. Force it to be small with ulimit. +# +# We need to disable the mirrorlist and explicitly set up a +# baseurl. Switch to the archive.kernel.org mirror while we are at it. +RUN ulimit -n 1024 \ + && sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-* \ + && sed -i 's|# \?baseurl=http://mirror.centos.org|baseurl=https://archive.kernel.org/centos-vault/|g' /etc/yum.repos.d/CentOS-* + RUN repoquery -l "glibc" "glibc-common" \ | grep -v --fixed-strings -- '/.build-id' \ | grep -v --fixed-strings -- '/usr/share/doc' \ diff --git a/integration/linux/test/linux-x86_64/Dockerfile b/integration/linux/test/linux-x86_64/Dockerfile index 806e0cfb..2464febb 100644 --- a/integration/linux/test/linux-x86_64/Dockerfile +++ b/integration/linux/test/linux-x86_64/Dockerfile @@ -81,6 +81,15 @@ RUN set -ex \ && chmod +x /bin/gosu FROM ${DOCKER_ARCH}centos:7 AS glibc +# rpm on centos 7 iterates over all fds up to the limit, which is +# extremely slow. Force it to be small with ulimit. +# +# We need to disable the mirrorlist and explicitly set up a +# baseurl. Switch to the archive.kernel.org mirror while we are at it. +RUN ulimit -n 1024 \ + && sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-* \ + && sed -i 's|# \?baseurl=http://mirror.centos.org|baseurl=https://archive.kernel.org/centos-vault/|g' /etc/yum.repos.d/CentOS-* + RUN repoquery -l "glibc" "glibc-common" \ | grep -v --fixed-strings -- '/.build-id' \ | grep -v --fixed-strings -- '/usr/share/doc' \