This is an automated email from the ASF dual-hosted git repository. stigahuang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/impala.git
The following commit(s) were added to refs/heads/master by this push: new ad7888898 IMPALA-13223: Fix bootstrap-build.sh for platforms without Python2 ad7888898 is described below commit ad7888898bc76438cc90b03b2561d91854df03e1 Author: Laszlo Gaal <laszlo.g...@cloudera.com> AuthorDate: Sun Jul 14 22:15:41 2024 +0200 IMPALA-13223: Fix bootstrap-build.sh for platforms without Python2 bin/bootstrap-build.sh did not distinguish between various version of the Ubuntu platform, and attempted to install unversioned Python packages (python-dev and python-setuptools) even on newer versions that don't support Python 2 any longer (e.g. Ubuntu 22.04 and 24.04). On older Ubuntu versions these packages are still useful, so at this point it is not feasible just to drop them. This patch makes these packages optional: they are added to the list of packages to be installed only if they actually exist for the platform. The patch also extends the package list with some basic packages that are needed when bin/bootstrap_build.sh is run inside an Ubuntu 22.04 Docker container. Tests: ran a compile-only build on Ubuntu 20.04 (still has Python 2) and on Ubuntu 22.04 (does not support Python 2 any more). Change-Id: I94ade35395afded4e130b79eab8c27c6171b50d6 Reviewed-on: http://gerrit.cloudera.org:8080/21800 Reviewed-by: Impala Public Jenkins <impala-public-jenk...@cloudera.com> Tested-by: Impala Public Jenkins <impala-public-jenk...@cloudera.com> --- bin/bootstrap_build.sh | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/bin/bootstrap_build.sh b/bin/bootstrap_build.sh index 7b41637e7..56b49ae20 100755 --- a/bin/bootstrap_build.sh +++ b/bin/bootstrap_build.sh @@ -17,8 +17,8 @@ # specific language governing permissions and limitations # under the License. -# This script builds Impala from scratch. It is known to work on Ubuntu 16.04. To run it -# you need to have: +# This script builds Impala from scratch. It is known to work on Ubuntu versions 16.04, +# 18.04, 20.04, and 22.04. To run it you need to have: # # 1. At least 8GB of free disk space # 4. A connection to the internet (parts of the build download dependencies) @@ -33,10 +33,19 @@ set -euxo pipefail # Kerberos setup would pop up dialog boxes without this export DEBIAN_FRONTEND=noninteractive sudo -E apt-get --quiet update -sudo -E apt-get --yes --quiet install \ - g++ gcc git libsasl2-dev libssl-dev make python-dev \ - python-setuptools python3-dev python3-setuptools python3-venv libffi-dev \ - libkrb5-dev krb5-admin-server krb5-kdc krb5-user libxml2-dev libxslt-dev +# unversioned python-dev and python-setuptools are not available on newer releases +# that don't support Python 2. Add them only when they exist for the platform, +# otherwise set Python 3 to be the default Python version. +PACKAGES='g++ gcc git libsasl2-dev libssl-dev make + python3-dev python3-setuptools python3-venv libffi-dev language-pack-en + libkrb5-dev krb5-admin-server krb5-kdc krb5-user libxml2-dev libxslt-dev wget' + +if sudo apt-get --quiet install -s python-dev python-setuptools > /dev/null 2>&1; then + PACKAGES="${PACKAGES} python-dev python-setuptools" +else + PACKAGES="${PACKAGES} python-is-python3 python-dev-is-python3" +fi +sudo -E apt-get --yes --quiet install ${PACKAGES} source /etc/lsb-release