Description of problem: With python3.11-rpm-macros-3.11.2-2.el8.noarch the %py3_check_import macro is broken: In the spec: %global python3_pkgversion 3.11 ... %py3_check_import rpm rpm.transaction Expands to: ... /usr/bin/python3.11 -sP /usr/lib/rpm/redhat/import_all_modules.py rpm rpm.transaction Breaks with: Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.Rx4cp2 + umask 022 + cd /builddir/build/BUILD + cd rpm-4.14.3 + PATH=/builddir/build/BUILDROOT/rpm-4.14.3-26.el8.x86_64/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin + PYTHONPATH=/builddir/build/BUILDROOT/rpm-4.14.3-26.el8.x86_64/usr/lib64/python3.11/site-packages:/builddir/build/BUILDROOT/rpm-4.14.3-26.el8.x86_64/usr/lib/python3.11/site-packages + _PYTHONSITE=/builddir/build/BUILDROOT/rpm-4.14.3-26.el8.x86_64/usr/lib64/python3.11/site-packages:/builddir/build/BUILDROOT/rpm-4.14.3-26.el8.x86_64/usr/lib/python3.11/site-packages + PYTHONDONTWRITEBYTECODE=1 + /usr/bin/python3.11 -sP /usr/lib/rpm/redhat/import_all_modules.py rpm rpm.transaction /usr/bin/python3.11: can't open file '/usr/lib/rpm/redhat/import_all_modules.py': [Errno 2] No such file or directory Version-Release number of selected component (if applicable): 3.11.2-2.el8 How reproducible: Always. Steps to Reproduce: 1. Build a spec file with Python 3.11 and %py3_check_import Actual results: /usr/bin/python3.11: can't open file '/usr/lib/rpm/redhat/import_all_modules.py': [Errno 2] No such file or directory Expected results: %py3_check_import imports packages
Let's add the script to python3.11-rpm-macros, but version it's path to include the `3.11` version, so that it doesn't clash with any future Python 3.12+ macros/scripts.
And let's add the tests for the macros component as part of this change.
PR: https://gitlab.com/redhat/centos-stream/rpms/python3.11/-/merge_requests/12
Verification: https://gitlab.com/redhat/centos-stream/rpms/python3.11/-/merge_requests/12#note_1506035159
Testing done in the PR.