diff --git a/python38.changes b/python38.changes index 0a3236c..32cf5cb 100644 --- a/python38.changes +++ b/python38.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Thu Jul 21 14:19:54 UTC 2022 - Matej Cepl + +- Switch from %primary_interpreter to prjconf-defined %primary_python (gh#openSUSE/python-rpm-macros#127). + ------------------------------------------------------------------- Thu May 5 14:34:56 UTC 2022 - Matej Cepl diff --git a/python38.spec b/python38.spec index 12ca381..6e166ab 100644 --- a/python38.spec +++ b/python38.spec @@ -35,6 +35,9 @@ %bcond_with base %bcond_without general %endif + +%define python_pkg_name python38 + %define _version %(c=%{version}; echo ${c/[a-z]*/}) %define tar_suffix %(c=%{_version}; echo ${c#%{_version}}) %define python_version %(c=%{_version}; echo ${c:0:3}) @@ -48,10 +51,6 @@ %else %define tarversion %{version} %endif -%define python_pkg_name python38 -# Will provide the python3-* provides -# Will do the /usr/bin/python3 and all the core links -%define primary_interpreter 0 %define folderversion %{tarversion} %define tarname Python-%{tarversion} %define sitedir %{_libdir}/python%{python_version} @@ -208,7 +207,7 @@ Requires: %{python_pkg_name}-base = %{version} Recommends: %{python_pkg_name}-curses Recommends: %{python_pkg_name}-dbm Recommends: %{python_pkg_name}-pip -%if %{primary_interpreter} +%if "%{python_pkg_name}" == "%{primary_python}" Provides: python3 = %{python_version} %endif %endif @@ -230,7 +229,7 @@ development environment (python3-idle). %package -n %{python_pkg_name}-tk Summary: TkInter, a Python Tk Interface Requires: %{python_pkg_name} = %{version} -%if %{primary_interpreter} +%if "%{python_pkg_name}" == "%{primary_python}" Provides: python3-tk = %{version} %endif @@ -240,7 +239,7 @@ Python interface to Tk. Tk is the GUI toolkit that comes with Tcl. %package -n %{python_pkg_name}-curses Summary: Python Interface to the (N)Curses Library Requires: %{python_pkg_name} = %{version} -%if %{primary_interpreter} +%if "%{python_pkg_name}" == "%{primary_python}" Provides: python3-curses %endif @@ -251,7 +250,7 @@ Console User Interface. %package -n %{python_pkg_name}-dbm Summary: Python Interface to the GDBM Library Requires: %{python_pkg_name} = %{version} -%if %{primary_interpreter} +%if "%{python_pkg_name}" == "%{primary_python}" Provides: python3-dbm %endif @@ -263,7 +262,7 @@ the GNU implementation GDBM. Summary: An Integrated Development Environment for Python Requires: %{python_pkg_name} = %{version} Requires: %{python_pkg_name}-tk -%if %{primary_interpreter} +%if "%{python_pkg_name}" == "%{primary_python}" Provides: python3-idle = %{version} %endif @@ -276,7 +275,7 @@ a debugger. %package -n %{python_pkg_name}-doc Summary: Package Documentation for Python 3 Enhances: %{python_pkg_name} = %{python_version} -%if %{primary_interpreter} +%if "%{python_pkg_name}" == "%{primary_python}" Provides: python3-doc = %{version} %endif @@ -287,7 +286,7 @@ Python, and Macintosh Module Reference in HTML format. %package -n %{python_pkg_name}-doc-devhelp Summary: Additional Package Documentation for Python 3 in devhelp format -%if %{primary_interpreter} +%if "%{python_pkg_name}" == "%{primary_python}" Provides: python3-doc-devhelp = %{version} %endif @@ -311,7 +310,7 @@ Provides: %{python_pkg_name}-asyncio = %{version} Provides: %{python_pkg_name}-typing = %{version} # python3-xml was merged into python3, now moved into -base Provides: %{python_pkg_name}-xml = %{version} -%if %{primary_interpreter} +%if "%{python_pkg_name}" == "%{primary_python}" Provides: python3-asyncio = %{version} Obsoletes: python3-asyncio < %{version} Provides: python3-base = %{version} @@ -338,7 +337,7 @@ Summary: Python Utility and Demonstration Scripts Requires: %{python_pkg_name}-base = %{version} Provides: %{python_pkg_name}-2to3 = %{version} Provides: %{python_pkg_name}-demo = %{version} -%if %{primary_interpreter} +%if "%{python_pkg_name}" == "%{primary_python}" Provides: python3-2to3 = %{version} Provides: python3-demo = %{version} Provides: python3-tools = %{version} @@ -353,7 +352,7 @@ and a set of demonstration programs. %package -n %{python_pkg_name}-devel Summary: Include Files and Libraries Mandatory for Building Python Modules Requires: %{python_pkg_name}-base = %{version} -%if %{primary_interpreter} +%if "%{python_pkg_name}" == "%{primary_python}" Provides: python3-devel = %{version} %endif @@ -372,7 +371,7 @@ package up to version 2.2.2. Summary: Unit tests for Python and its standard library Requires: %{python_pkg_name} = %{version} Requires: %{python_pkg_name}-tk = %{version} -%if %{primary_interpreter} +%if "%{python_pkg_name}" == "%{primary_python}" Provides: python3-testsuite = %{version} %endif @@ -426,7 +425,7 @@ other applications. # drop Autoconf version requirement sed -i 's/^AC_PREREQ/dnl AC_PREREQ/' configure.ac -%if %{primary_interpreter} +%if "%{python_pkg_name}" == "%{primary_python}" # fix shebangs - convert /usr/local/bin/python and /usr/bin/env/python to /usr/bin/python3 for dir in Lib Tools; do # find *.py, filter to files that contain bad shebangs @@ -669,7 +668,7 @@ rm -fv %{buildroot}%{dynlib nis} ln -sf python%{python_version} %{buildroot}%{_bindir}/python3 # decide to ship python3 or just python3.X -%if !%{primary_interpreter} +%if "%{python_pkg_name}" != "%{primary_python}" # base rm %{buildroot}%{_bindir}/python3 rm %{buildroot}%{_bindir}/pydoc3 @@ -687,7 +686,7 @@ ln -s ../../libpython%{python_abi}.so %{buildroot}%{_libdir}/python%{python_vers rm %{buildroot}%{_bindir}/idle3* # delete the generic 2to3 binary if we are not primary -%if !%{primary_interpreter} +%if "%{python_pkg_name}" != "%{primary_python}" rm %{buildroot}%{_bindir}/2to3 %endif @@ -719,7 +718,7 @@ install -m 755 -D Tools/gdb/libpython.py %{buildroot}%{_datadir}/gdb/auto-load/% # RPM macros mkdir -p %{buildroot}%{_rpmconfigdir}/macros.d/ # primary python3 macros -%if %{primary_interpreter} +%if "%{python_pkg_name}" == "%{primary_python}" install -m 644 %{SOURCE7} %{buildroot}%{_rpmconfigdir}/macros.d/ # macros.python3 %endif # flavor specific macros, only to be supplied "if we are in the buildset", e.g. installed. @@ -825,7 +824,7 @@ echo %{sitedir}/_import_failed > %{buildroot}/%{sitedir}/site-packages/zzzz-impo %files -n %{python_pkg_name}-tools %defattr(644, root, root, 755) %{sitedir}/turtledemo -%if %{primary_interpreter} +%if "%{python_pkg_name}" == "%{primary_python}" %{_bindir}/2to3 %endif %attr(755, root, root)%{_bindir}/2to3-%{python_version} @@ -834,7 +833,7 @@ echo %{sitedir}/_import_failed > %{buildroot}/%{sitedir}/site-packages/zzzz-impo %files -n %{python_pkg_name}-devel %defattr(644, root, root, 755) %{_libdir}/libpython%{python_abi}.so -%if %{primary_interpreter} +%if "%{python_pkg_name}" == "%{primary_python}" %{_libdir}/libpython3.so %endif %{_libdir}/pkgconfig/* @@ -842,7 +841,7 @@ echo %{sitedir}/_import_failed > %{buildroot}/%{sitedir}/site-packages/zzzz-impo %{sitedir}/config-%{python_abi}-* %defattr(755, root, root) %{_bindir}/python%{python_abi}-config -%if %{primary_interpreter} +%if "%{python_pkg_name}" == "%{primary_python}" %{_bindir}/python3-config %endif # Own these directories to not depend on gdb @@ -875,14 +874,14 @@ echo %{sitedir}/_import_failed > %{buildroot}/%{sitedir}/site-packages/zzzz-impo %doc %{_docdir}/%{name}/README.rst %license LICENSE %doc %{_docdir}/%{name}/README.SUSE -%if %{primary_interpreter} +%if "%{python_pkg_name}" == "%{primary_python}" %{_mandir}/man1/python3.1%{?ext_man} %endif %{_mandir}/man1/python%{python_version}.1%{?ext_man} # license text, not a doc because the code can use it at run-time %{sitedir}/LICENSE.txt # RPM macros -%if %{primary_interpreter} +%if "%{python_pkg_name}" == "%{primary_python}" %{_rpmconfigdir}/macros.d/macros.python3 %endif %{_rpmconfigdir}/macros.d/macros.%{python_pkg_name} @@ -986,7 +985,7 @@ echo %{sitedir}/_import_failed > %{buildroot}/%{sitedir}/site-packages/zzzz-impo %{sitedir}/_import_failed %{sitedir}/site-packages/zzzz-import-failed-hooks.pth # symlinks -%if %{primary_interpreter} +%if "%{python_pkg_name}" == "%{primary_python}" %{_bindir}/python3 %{_bindir}/pydoc3 %endif