python-rpm-generators/tests/pythonabi.sh
Miro Hrončok c88849770b Generate python(abi) Requires for any files in pythonX.Y directory
It does not matter if the package installs .py, .so or different files.

Packages that simply drop a .pth file to site-packages or even only carry dist-info folder
still need to Require the package that owns /usr/lib(64)/pythonX.Y.
2026-08-15 10:49:05 +00:00

22 lines
1.1 KiB
Bash
Executable file

#!/usr/bin/bash -eux
rpmbuild -ba pythonabi.spec
PYVER=$(rpm --eval '%python3_version')
RPMDIR=$(rpm --eval '%_topdir')/RPMS
ARCH=$(rpm --eval '%_arch')
ABI='^python(abi) = '${PYVER}'$'
rpm -qp --provides ${RPMDIR}/${ARCH}/python-interpreter-0-0.${ARCH}.rpm | grep "${ABI}"
rpm -qp --requires ${RPMDIR}/${ARCH}/python-interpreter-0-0.${ARCH}.rpm | grep "${ABI}" && exit 1 || true
rpm -qp --requires ${RPMDIR}/${ARCH}/python-arched-0-0.${ARCH}.rpm | grep "${ABI}"
rpm -qp --provides ${RPMDIR}/${ARCH}/python-arched-0-0.${ARCH}.rpm | grep "${ABI}" && exit 1 || true
rpm -qp --requires ${RPMDIR}/noarch/python-noarch-0-0.noarch.rpm | grep "${ABI}"
rpm -qp --provides ${RPMDIR}/noarch/python-noarch-0-0.noarch.rpm | grep "${ABI}" && exit 1 || true
rpm -qp --requires ${RPMDIR}/noarch/python-data-0-0.noarch.rpm | grep "${ABI}"
rpm -qp --provides ${RPMDIR}/noarch/python-data-0-0.noarch.rpm | grep "${ABI}" && exit 1 || true
rpm -qp --provides ${RPMDIR}/${ARCH}/python-misplaced-interpreter-0-0.${ARCH}.rpm | grep "${ABI}" && exit 1 || true
rpm -qp --requires ${RPMDIR}/noarch/python-misplaced-library-0-0.noarch.rpm | grep "${ABI}" && exit 1 || true