This is an automated email from the ASF dual-hosted git repository.

michaelsmith pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/impala.git

commit 1056e16a27c75d3bc8c645a75feb3ba5ece50ebc
Author: Gergely Fürnstáhl <[email protected]>
AuthorDate: Wed Jan 18 16:06:54 2023 +0100

    IMPALA-11846: Fix builds with setuptools>=66.0.0
    
    setuptools 66.0.0 introduced a breaking change, it does not support non
    PEP440 compliant version names. This breaks impala_shell's packaging and
    installing test if the system python3's version is 3.8+.
    
    This is a quick fix to unblock builds. The rest of the work will be done
    in IMPALA-11849 (e.g. stabilizing the python environments version).
    
    impala_shell releases should not be affected by this, as the version
    number we generate is already PEP440 compliant.
    
    Testing:
     - Built locally with python3.8
    
    Change-Id: I4eb0957fb576e590b86b6fe570216cfb72d11aef
    Reviewed-on: http://gerrit.cloudera.org:8080/19431
    Reviewed-by: Joe McDonnell <[email protected]>
    Tested-by: Impala Public Jenkins <[email protected]>
---
 shell/CMakeLists.txt | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/shell/CMakeLists.txt b/shell/CMakeLists.txt
index e429f5d7c..1205106e2 100644
--- a/shell/CMakeLists.txt
+++ b/shell/CMakeLists.txt
@@ -25,12 +25,15 @@ add_custom_target(shell_pypi_package DEPENDS shell_tarball
 
 # A separate package target is needed because without OFFICIAL the file name is
 # non-deterministic. Uses a custom target to synchronize for multiple 
dependents.
+# Derive version from IMPALA_VERSION (drops everything after '-' because PEP 
440 requires
+# '+' but setup.py doesn't treat it consistently when generating the file 
name).
+string(REGEX REPLACE "-.*" "" PKG_VERSION $ENV{IMPALA_VERSION})
 set(SHELL_TEST_PKG
-  "${CMAKE_SOURCE_DIR}/shell/build/dist/impala_shell-install-test.tar.gz")
+  "${CMAKE_SOURCE_DIR}/shell/build/dist/impala_shell-${PKG_VERSION}.tar.gz")
 get_filename_component(SHELL_TEST_PKG_DIR "${SHELL_TEST_PKG}" DIRECTORY)
 # Generates SHELL_TEST_PKG
 add_custom_target(shell_pypi_test_package DEPENDS shell_tarball
-  COMMAND env BUILD_VERSION=install-test OFFICIAL=true 
DIST_DIR="${SHELL_TEST_PKG_DIR}"
+  COMMAND env BUILD_VERSION=${PKG_VERSION} OFFICIAL=true 
DIST_DIR="${SHELL_TEST_PKG_DIR}"
     "${CMAKE_SOURCE_DIR}/shell/packaging/make_python_package.sh"
 )
 

Reply via email to