From c88849770b0a8beea977821ca2a87c56124b21c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Thu, 14 May 2026 19:27:24 +0200 Subject: [PATCH] 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. --- python.attr | 2 +- tests/pythonabi.sh | 3 +++ tests/pythonabi.spec | 10 ++++++++++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/python.attr b/python.attr index cf5ae39..afcb18a 100644 --- a/python.attr +++ b/python.attr @@ -28,4 +28,4 @@ end } -%__python_path ^((%{?!flatpak:/usr}%{?flatpak:/app}/lib(64)?/python[[:digit:]]+\\.[[:digit:]]+/.*\\.(py[oc]?|so))|(%{_bindir}/python[[:digit:]]+\\.[[:digit:]]+))$ +%__python_path ^((%{?!flatpak:/usr}%{?flatpak:/app}/lib(64)?/python[[:digit:]]+\\.[[:digit:]]+/.+)|(%{_bindir}/python[[:digit:]]+\\.[[:digit:]]+))$ diff --git a/tests/pythonabi.sh b/tests/pythonabi.sh index 36b6060..03d3723 100755 --- a/tests/pythonabi.sh +++ b/tests/pythonabi.sh @@ -15,5 +15,8 @@ rpm -qp --provides ${RPMDIR}/${ARCH}/python-arched-0-0.${ARCH}.rpm | grep "${ABI 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 diff --git a/tests/pythonabi.spec b/tests/pythonabi.spec index 4f5e477..c36f81c 100644 --- a/tests/pythonabi.spec +++ b/tests/pythonabi.spec @@ -17,6 +17,7 @@ mkdir -p %{buildroot}/opt%{_bindir} echo "print()" > %{buildroot}%{python3_sitelib}/file.py echo "print()" > %{buildroot}/opt%{python3_sitelib}/file.py +echo "data" > %{buildroot}%{python3_sitelib}/file.txt cp %{python3_sitearch}/../lib-dynload/cmath.*.so %{buildroot}%{python3_sitearch}/file.so @@ -49,6 +50,15 @@ Summary: ... %{_bindir}/python%{python3_version} +%package -n python-data +Summary: ... +BuildArch: noarch +%description -n python-data +... +%files -n python-data +%{python3_sitelib}/file.txt + + %package -n python-misplaced-library Summary: ... BuildArch: noarch