diff --git a/externally_managed.in b/externally_managed.in new file mode 100644 index 0000000..54606b6 --- /dev/null +++ b/externally_managed.in @@ -0,0 +1,12 @@ +[externally-managed] +Error=To install Python packages system-wide, try + zypper install __PYTHONPREFIX__-xyz, where xyz is the package + you are trying to install. + + If you wish to install a non-rpm packaged Python package, + create a virtual environment using __PYTHON__ -m venv path/to/venv. + Then use path/to/venv/bin/python and path/to/venv/bin/pip. + + If you wish to install a non-rpm packaged Python application, + it may be easiest to use `pipx install xyz`, which will manage a + virtual environment for you. Install pipx via `zypper install __PYTHONPREFIX__-pipx` . diff --git a/python311.changes b/python311.changes index 5f0ac28..de1b948 100644 --- a/python311.changes +++ b/python311.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Thu Aug 10 09:33:26 UTC 2023 - Dirk Müller + +- restrict PEP668 to ALP/Tumbleweed + +------------------------------------------------------------------- +Fri Aug 4 06:37:41 UTC 2023 - Dirk Müller + +- add externally_managed.in to label this build as PEP-668 managed + ------------------------------------------------------------------- Thu Aug 3 14:53:38 UTC 2023 - Matej Cepl diff --git a/python311.spec b/python311.spec index 4d159a7..cf486f6 100644 --- a/python311.spec +++ b/python311.spec @@ -103,6 +103,7 @@ Source0: https://www.python.org/ftp/python/%{folderversion}/%{tarname}.ta Source1: https://www.python.org/ftp/python/%{folderversion}/%{tarname}.tar.xz.asc Source2: baselibs.conf Source3: README.SUSE +Source4: externally_managed.in Source7: macros.python3 Source8: import_failed.py Source9: import_failed.map @@ -710,6 +711,11 @@ rm %{buildroot}%{_libdir}/libpython3.so rm %{buildroot}%{_libdir}/pkgconfig/{python3,python3-embed}.pc %endif +%if %{suse_version} > 1550 +# PEP-0668 mark this as a distro maintained python +sed -e 's,__PYTHONPREFIX__,%{python_pkg_name},' -e 's,__PYTHON__,python%{python_version},' < %{SOURCE4} > %{buildroot}%{sitedir}/EXTERNALLY-MANAGED +%endif + # link shared library instead of static library that tools expect ln -s ../../libpython%{python_abi}.so %{buildroot}%{_libdir}/python%{python_version}/config-%{python_abi}-%{archname}-%{_os}%{?_gnu}%{?armsuffix}/libpython%{python_abi}.so @@ -906,6 +912,10 @@ echo %{sitedir}/_import_failed > %{buildroot}/%{sitedir}/site-packages/zzzz-impo %{_mandir}/man1/python3.1%{?ext_man} %endif %{_mandir}/man1/python%{python_version}.1%{?ext_man} +%if %{suse_version} > 1550 +# PEP-0668 +%{sitedir}/EXTERNALLY-MANAGED +%endif # license text, not a doc because the code can use it at run-time %{sitedir}/LICENSE.txt # RPM macros