Laszlo Gaal has submitted this change and it was merged. ( http://gerrit.cloudera.org:8080/23128 )
Change subject: IMPALA-14396: Update build containers for Python 3 and public repo changes ...................................................................... IMPALA-14396: Update build containers for Python 3 and public repo changes Public infrastructure elements (package repos, individual packages) have changed since the build container definitions have last been update. This patch compensates such drift to keep the containers buildable. Details: 1. Pull EPEL packages from the EPEL archives for CentOS 7 When CentOS 7 was retired, the corresponding EPEL repos were also moved from the active download points on fedoraprojects.org to the archives. Since we still want the toolchain to build on CentOS 7, point the EPEL repo descriptors to the archives for EPEL v7 on fedoraproject.org. This allows the toolchain build containers to be rebuilt as well as keep the toolchain itself building correctly on CentOS 7. Tested by building new build containers, then using those containers for building the toolchain itself. 2. Reset default Java to Java 8 on SLES 15 On SLES 15 the default JRE needs to be reset to Java 8 JRE. Recent package updates caused a Java 17 JRE to be installed and configured as the default JRE as an implicit dependecy, which breaks the assert-dependencies() check at the end of the container build, so the default JRE is reset to Java 8 manually via update-alternatives. 3. Update container build Python scripts to Python3 This patch prepares the toolchain container build process to run on recent operating systems, where Python2 is not readily available. It replaces Python2 idioms with constructs or modules available across both Python major versions: Old code used distutils.sysconfig for locating Python.h during dependency installation checking. This module is not supported for recent versions of Python3, so switch to the sysconfig module, which is supported everywhere. The filter/iterator logic in in-docker.py used to take len() of an iterator directly, which cannot be done in Python 3. Change the filter to a list comprehension, so the result list can be checked the same way. 4. Update the supported OS list to contain all currently supported platforms. Change-Id: Ie491cfcac6efdecbe9f3c18a48fc142ca6269d1c Reviewed-on: http://gerrit.cloudera.org:8080/23128 Reviewed-by: Michael Smith <[email protected]> Tested-by: Laszlo Gaal <[email protected]> --- M README.md M docker/all/assert-dependencies-present.py M docker/redhat7.df M docker/sles15.df M in-docker.py 5 files changed, 18 insertions(+), 7 deletions(-) Approvals: Michael Smith: Looks good to me, approved Laszlo Gaal: Verified -- To view, visit http://gerrit.cloudera.org:8080/23128 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: native-toolchain Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Ie491cfcac6efdecbe9f3c18a48fc142ca6269d1c Gerrit-Change-Number: 23128 Gerrit-PatchSet: 5 Gerrit-Owner: Laszlo Gaal <[email protected]> Gerrit-Reviewer: Laszlo Gaal <[email protected]> Gerrit-Reviewer: Michael Smith <[email protected]>
