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]>

Reply via email to