Laszlo Gaal has submitted this change and it was merged. ( http://gerrit.cloudera.org:8080/21091 )
Change subject: IMPALA-12863: Fix toolchain container builds for CentOS 7, SLES 12 & 15 ...................................................................... IMPALA-12863: Fix toolchain container builds for CentOS 7, SLES 12 & 15 Fix several problems around toolchain container builds concerning deprecations and version obsolescence. SLES 12 SP3 (the previous base container version) went out of support; https://endoflife.date/sles shows its long-term support ended with 06/20/2022. The only supported SLES 12 version is SP5, so upgrade the SLES 12 base container to this version. Add the net-utils package to the SLES 12 container setup: this package got removed from the base image between SLES12 SP3 and SP5, but the Kudu build requires the 'hostname' utility from it. Add 'hostname' to the list of required tools in the checker docker/all/assert-dependencies-present.py Fix libncurses-devel installation for SLES 12 and 15: The newest version available for libncurses seems to be slightly ahead of libncurses-devel. This confuses zypper, as it always wants to install the latest available version of a package, but this rule produces a runtime and a development package for libncurses with mismatched versions, breaking the installation. The solution is to allow zypper to downgrade the version of the libncurses runtime package so it matches the version of libncurses-devel, which allows the installation to succeed. The old version of the Dockerfile used explicitly pinned versions on SLES 12 for the same purpose. Allowing the installer to pick matching versions is a more general solution, and it works equally well on SLES 12 and SLES 15 (which now requires the same solution) both. The CentOS 7 base container contains an old version of the ca-certificates package, which does not yet contain the current root CA certificate used by the Apache Archives repo, preventing Maven from being downloaded. As the OS package repo is pinned to the (old) version of the base Docker image, pull Maven from our own toolchain bucket on S3, for which the root CA certificate is known by this OS version. Package identity is still assured by verifying the SHA256 signature of the downloaded tarball. Verified by a full multi-arch container build pass on internal infrastructure. Change-Id: I3e730abb6667bf00735ea62c35377591b68452ce Reviewed-on: http://gerrit.cloudera.org:8080/21091 Reviewed-by: Joe McDonnell <[email protected]> Reviewed-by: Michael Smith <[email protected]> Tested-by: Laszlo Gaal <[email protected]> --- M docker/all/assert-dependencies-present.py M docker/all/postinstall.sh M docker/sles12.df M docker/sles15.df 4 files changed, 9 insertions(+), 8 deletions(-) Approvals: Joe McDonnell: Looks good to me, but someone else must approve Michael Smith: Looks good to me, approved Laszlo Gaal: Verified -- To view, visit http://gerrit.cloudera.org:8080/21091 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: native-toolchain Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I3e730abb6667bf00735ea62c35377591b68452ce Gerrit-Change-Number: 21091 Gerrit-PatchSet: 5 Gerrit-Owner: Laszlo Gaal <[email protected]> Gerrit-Reviewer: Joe McDonnell <[email protected]> Gerrit-Reviewer: Laszlo Gaal <[email protected]> Gerrit-Reviewer: Michael Smith <[email protected]>
