From 6a1a193fa8efc7d9555041c4b2652e2b8bf5c06b Mon Sep 17 00:00:00 2001 From: "Austin S. Hemmelgarn" Date: Tue, 1 Oct 2024 07:18:29 -0400 Subject: [PATCH] Add GCC 11 tooling to CentOS 7/Amazon Linux 2 builders. --- package-builders/Dockerfile.amazonlinux2.v1 | 5 +++++ package-builders/Dockerfile.amazonlinux2.v2 | 5 +++++ package-builders/Dockerfile.centos7.v1 | 5 +++++ package-builders/Dockerfile.centos7.v2 | 4 ++++ package-builders/RPM-GPG-KEY-CentOS-SIG-SCLo | 20 ++++++++++++++++++++ package-builders/centos-7-scl.repo | 15 +++++++++++++++ package-builders/entrypoint.sh | 6 +++++- 7 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 package-builders/RPM-GPG-KEY-CentOS-SIG-SCLo create mode 100644 package-builders/centos-7-scl.repo diff --git a/package-builders/Dockerfile.amazonlinux2.v1 b/package-builders/Dockerfile.amazonlinux2.v1 index aa96f8e..9e7e363 100644 --- a/package-builders/Dockerfile.amazonlinux2.v1 +++ b/package-builders/Dockerfile.amazonlinux2.v1 @@ -9,6 +9,9 @@ LABEL org.opencontainers.image.vendor="Netdata Inc." ENV VERSION=$VERSION ENV SENTRY_DSN="https://1ea0662a@o01e.ingest.sentry.io/dummy" +COPY package-builders/centos-7-scl.repo /etc/yum.repos.d/centos-7-scl.repo +COPY package-builders/RPM-GPG-KEY-CentOS-SIG-SCLo /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo + RUN yum update -y && \ yum install -y autoconf \ autoconf-archive \ @@ -19,6 +22,8 @@ RUN yum update -y && \ cmake \ cups-devel \ curl \ + devtoolset-11-gcc \ + devtoolset-11-gcc-c++ \ diffutils \ elfutils-libelf-devel \ findutils \ diff --git a/package-builders/Dockerfile.amazonlinux2.v2 b/package-builders/Dockerfile.amazonlinux2.v2 index 00ade19..86e9bdf 100644 --- a/package-builders/Dockerfile.amazonlinux2.v2 +++ b/package-builders/Dockerfile.amazonlinux2.v2 @@ -9,12 +9,17 @@ LABEL org.opencontainers.image.vendor="Netdata Inc." ENV VERSION=$VERSION ENV SENTRY_DSN="https://1ea0662a@o01e.ingest.sentry.io/dummy" +COPY package-builders/centos-7-scl.repo /etc/yum.repos.d/centos-7-scl.repo +COPY package-builders/RPM-GPG-KEY-CentOS-SIG-SCLo /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo + RUN yum update -y && \ yum install -y bison \ bison-devel \ cmake \ cups-devel \ curl \ + devtoolset-11-gcc \ + devtoolset-11-gcc-c++ \ diffutils \ elfutils-libelf-devel \ findutils \ diff --git a/package-builders/Dockerfile.centos7.v1 b/package-builders/Dockerfile.centos7.v1 index 81eb665..e8e9b27 100644 --- a/package-builders/Dockerfile.centos7.v1 +++ b/package-builders/Dockerfile.centos7.v1 @@ -10,6 +10,9 @@ ENV VERSION=$VERSION # Dummy Sentry DSN ENV SENTRY_DSN="https://1ea0662a@o01e.ingest.sentry.io/dummy" +COPY package-builders/centos-7-scl.repo /etc/yum.repos.d/centos-7-scl.repo +COPY package-builders/RPM-GPG-KEY-CentOS-SIG-SCLo /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo + RUN yum install -y epel-release && \ yum update -y && \ yum install -y autoconf \ @@ -22,6 +25,7 @@ RUN yum install -y epel-release && \ cmake \ cups-devel \ curl \ + devtoolset-11 \ diffutils \ elfutils-libelf-devel \ findutils \ @@ -66,6 +70,7 @@ RUN yum install -y epel-release && \ c_rehash && \ mkdir -p /root/rpmbuild/BUILD /root/rpmbuild/RPMS /root/rpmbuild/SOURCES /root/rpmbuild/SPECS /root/rpmbuild/SRPMS + # Fetch a newer version of CMake, because the system-provided one is _ancient_. # The hash is hard-coded here to mitigate the risk of supply-chain attacks. RUN curl --fail -sSL --connect-timeout 20 --retry 3 --output cmake-linux-$(uname -m).sh \ diff --git a/package-builders/Dockerfile.centos7.v2 b/package-builders/Dockerfile.centos7.v2 index d82ba0d..5b8c531 100644 --- a/package-builders/Dockerfile.centos7.v2 +++ b/package-builders/Dockerfile.centos7.v2 @@ -10,6 +10,9 @@ ENV VERSION=$VERSION # Dummy Sentry DSN ENV SENTRY_DSN="https://1ea0662a@o01e.ingest.sentry.io/dummy" +COPY package-builders/centos-7-scl.repo /etc/yum.repos.d/centos-7-scl.repo +COPY package-builders/RPM-GPG-KEY-CentOS-SIG-SCLo /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo + RUN yum install -y epel-release && \ yum update -y && \ yum install -y bash \ @@ -18,6 +21,7 @@ RUN yum install -y epel-release && \ cmake \ cups-devel \ curl \ + devtoolset-11 \ diffutils \ elfutils-libelf-devel \ findutils \ diff --git a/package-builders/RPM-GPG-KEY-CentOS-SIG-SCLo b/package-builders/RPM-GPG-KEY-CentOS-SIG-SCLo new file mode 100644 index 0000000..343aff9 --- /dev/null +++ b/package-builders/RPM-GPG-KEY-CentOS-SIG-SCLo @@ -0,0 +1,20 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v2.0.22 (GNU/Linux) + +mQENBFYM/AoBCADR9Q5cb+H5ndx+QkzNBQ88wcD+g112yvnHNlSiBMOnNEGHuKPJ +tujZ+eWXP3K6ucJckT91WxfQ2fxPr9jQ0xpZytcHcZdTfn3vKL9+OwR0npp+qmcz +rK8/EzVz/SWSgBQ5xT/HUvaeoVAbzBHSng0r2njnBAqABKAoTxgyRGKSCWduKD32 +7PF2ZpqeDFFhd99Ykt6ar8SlV8ToqH6F7An0ILeejINVbHUxd6+wsbpcOwQ4mGAa +/CPXeqqLGj62ASBv36xQr34hlN/9zQMViaKkacl8zkuvwhuHf4b4VlGVCe6VILpQ +8ytKMV/lcg7YpMfRq4KVWBjCwkvk6zg6KxaHABEBAAG0aENlbnRPUyBTb2Z0d2Fy +ZUNvbGxlY3Rpb25zIFNJRyAoaHR0cHM6Ly93aWtpLmNlbnRvcy5vcmcvU3BlY2lh +bEludGVyZXN0R3JvdXAvU0NMbykgPHNlY3VyaXR5QGNlbnRvcy5vcmc+iQE5BBMB +AgAjBQJWDPwKAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQTrhOcfLu +nVXNewgAg7RVclomjTY4w80XiztUuUaFlCHyR76KazdaGfx/8XckWH2GdQtwii+3 +Tg7+PT2H0Xyuj1aod+jVTPXTPVUr+rEHAjuNDY+xyAJrNljoOHiz111zs9pk7PLX +CPwKWQLnmrcKIi8v/51L79FFsUMvhClTBdLUQ51lkCwbcXQi+bOhPvZTVbRhjoB/ +a9z0d8t65X16zEzE7fBhnVoj4xye/MPMbTH41Mv+FWVciBTuAepOLmgJ9oxODliv +rgZa28IEWkvHQ8m9GLJ0y9mI6olh0cGFybnd5y4Ss1cMttlRGR4qthLhN2gHZpO9 +2y4WgkeVXCj1BK1fzVrDMLPbuNNCZQ== +=UtPD +-----END PGP PUBLIC KEY BLOCK----- diff --git a/package-builders/centos-7-scl.repo b/package-builders/centos-7-scl.repo new file mode 100644 index 0000000..24a19b1 --- /dev/null +++ b/package-builders/centos-7-scl.repo @@ -0,0 +1,15 @@ +[centos-sclo-sclo] +name=CentOS-7 - SCLo sclo +baseurl=http://vault.centos.org/centos/7.9.2009/sclo/$basearch/sclo/ +#mirrorlist=http://mirrorlist.centos.org?arch=$basearch&release=7&repo=sclo-sclo +gpgcheck=1 +enabled=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo + +[centos-sclo-rh] +name=CentOS-7 - SCLo rh +baseurl=http://vault.centos.org/centos/7.9.2009/sclo/$basearch/rh/ +#mirrorlist=http://mirrorlist.centos.org?arch=$basearch&release=7&repo=sclo-rh +gpgcheck=1 +enabled=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo diff --git a/package-builders/entrypoint.sh b/package-builders/entrypoint.sh index 76ca4f6..4584e48 100755 --- a/package-builders/entrypoint.sh +++ b/package-builders/entrypoint.sh @@ -1,11 +1,15 @@ #!/bin/sh +if [ -e /opt/rh/devtoolset-11/enable ]; then + . /opt/rh/devtoolset-11/enable +fi + if [ -d /cmake/bin ]; then PATH="/cmake/bin:${PATH}" fi if [ -n "$NETDATA_SENTRY_DSN" ]; then - SENTRY_DSN="$NETDATA_SENTRY_DSN" + SENTRY_DSN="$NETDATA_SENTRY_DSN" fi fail() {