Abhishek Chennaka has uploaded this change for review. ( http://gerrit.cloudera.org:8080/21872
Change subject: KUDU-3604: Pin Cython Version, Package Maintenance ...................................................................... KUDU-3604: Pin Cython Version, Package Maintenance Currently, users need to manually install Cython before installing the Kudu Python package. By running '$ pip install Cython' on most relatively new systems, they obtain Cython 3.x. However, our setup.py and build process are not compatible with Cython 3.x. In this patch, I've added a prerequisite step to setup.py that identifies and installs the correct Cython version before all the package build/install steps. Additionally, the Kudu Python package pulled from PyPi includes all the test files. This was resolved with a simple change in MANIFEST.in to exclude the test source folder. Moreover, end-users were also getting the test dependencies from setup.py because we had a single requirements.txt file for both distribution and development. I have now split the dependencies into two files: requirements.txt and requirements_dev.txt. The dependencies in requirements.txt are automatically pulled during the execution of setup.py. For development tasks, developers need to manually install requirements_dev.txt before running setup.py. The build-and-test.sh script was also updated to use requirements_dev.txt. Furthermore, there were several details and edge cases covered in the CI script related to older OS versions (e.g., el6) and unsupported Python versions (e.g., Python 2.6), as well as unpinned package versions. Since all packages are now version-pinned and these limitations are no longer relevant, I have cleaned up the package installation part in build-and-test.sh for the Python packages. As a follow-up patch, I plan to add more developer-facing documentation on how to set up the development environment, run unit tests, debug, etc. Change-Id: I45ad45c56fc3f3ecf57a413edbd0866fccbd8f79 Reviewed-on: http://gerrit.cloudera.org:8080/21816 Reviewed-by: Abhishek Chennaka <achenn...@cloudera.com> Tested-by: Abhishek Chennaka <achenn...@cloudera.com> (cherry picked from commit 8d9b3574a12bb98b79e29375c76f98a1a48af5ad) --- M build-support/jenkins/build-and-test.sh M python/MANIFEST.in M python/README.md M python/requirements.txt A python/requirements_dev.txt M python/setup.py A python/setup_prerequisites.py 7 files changed, 94 insertions(+), 143 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/72/21872/1 -- To view, visit http://gerrit.cloudera.org:8080/21872 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: branch-1.17.x Gerrit-MessageType: newchange Gerrit-Change-Id: I45ad45c56fc3f3ecf57a413edbd0866fccbd8f79 Gerrit-Change-Number: 21872 Gerrit-PatchSet: 1 Gerrit-Owner: Abhishek Chennaka <achenn...@cloudera.com> Gerrit-Reviewer: Marton Greber <greber...@gmail.com>