IMPALA-14308: Workaround failure in impala_python3 build

Construction of the impala-virtualenv fails since PyPI released version
7.0.0 of pbr. This blocks all precommit runs, since the Impala
virtualenv is required for all end-to-end tests.

The failure happen during pywebhdfs==0.3.2 installation. It is expected
to pullthe pinned version pbr==3.1.1, but the latest pbr==7.0.0 was
pulled instead. pbr==7.0.0 then broke with this error message:

  ModuleNotFoundError: No module named 'packaging.requirements'

This patch adds workaround in bootstrap_virtualenv.py to install
packaging==24.1 early for python3. Installing it early managed to
unblock `make -j impala_python3`. packaging==24.1 package is already
listed in infra/python/deps/gcovr-requirements.txt, which installed in
later step and in python3 virtualenv only.

Testing:
Pass shell/ tests in Ubuntu 22.04 and Rocky 9.2.

Change-Id: I0167fb5e1e0637cdde64d0d3beaf6b154afc06b1
Reviewed-on: http://gerrit.cloudera.org:8080/23292
Reviewed-by: Jason Fehr <jfehr@cloudera.com>
Tested-by: Jason Fehr <jfehr@cloudera.com>
This commit is contained in:
Riza Suminto
2025-08-13 10:35:51 -07:00
parent 22898abbc4
commit 2975f10701

View File

@@ -289,6 +289,8 @@ def install_deps(venv_dir, is_py3):
py_str = "3" if is_py3 else "2"
LOG.info("Installing setuptools into the python{0} virtualenv".format(py_str))
exec_pip_install(venv_dir, is_py3, ["-r", SETUPTOOLS_REQS_PATH])
if is_py3:
exec_pip_install(venv_dir, is_py3, ["packaging==24.1"])
cc = select_cc()
if cc is None:
raise Exception("CC not available")