Matej Cepl 2022-07-21 15:15:23 +00:00 committed by Git OBS Bridge
parent 318a36b4de
commit d852af53f4

View File

@ -37,6 +37,11 @@
%endif %endif
%define python_pkg_name python310 %define python_pkg_name python310
%if "%{python_pkg_name}" == "%{primary_python}"
%define primary_interpreter 1
%else
%define primary_interpreter 0
%endif
%if 0%{?sle_version} && 0%{?suse_version} < 1550 %if 0%{?sle_version} && 0%{?suse_version} < 1550
# Obsoleting previous "latest" Python versions # Obsoleting previous "latest" Python versions
@ -218,7 +223,7 @@ Recommends: %{python_pkg_name}-curses
Recommends: %{python_pkg_name}-dbm Recommends: %{python_pkg_name}-dbm
Recommends: %{python_pkg_name}-pip Recommends: %{python_pkg_name}-pip
%obsolete_python_versioned %obsolete_python_versioned
%if "%{python_pkg_name}" == "%{primary_python}" %if %{primary_interpreter}
Provides: python3 = %{python_version} Provides: python3 = %{python_version}
%endif %endif
%endif %endif
@ -241,7 +246,7 @@ development environment (python3-idle).
Summary: TkInter, a Python Tk Interface Summary: TkInter, a Python Tk Interface
Requires: %{python_pkg_name} = %{version} Requires: %{python_pkg_name} = %{version}
%obsolete_python_versioned tk %obsolete_python_versioned tk
%if "%{python_pkg_name}" == "%{primary_python}" %if %{primary_interpreter}
Provides: python3-tk = %{version} Provides: python3-tk = %{version}
%endif %endif
@ -252,7 +257,7 @@ Python interface to Tk. Tk is the GUI toolkit that comes with Tcl.
Summary: Python Interface to the (N)Curses Library Summary: Python Interface to the (N)Curses Library
Requires: %{python_pkg_name} = %{version} Requires: %{python_pkg_name} = %{version}
%obsolete_python_versioned curses %obsolete_python_versioned curses
%if "%{python_pkg_name}" == "%{primary_python}" %if %{primary_interpreter}
Provides: python3-curses Provides: python3-curses
%endif %endif
@ -264,7 +269,7 @@ Console User Interface.
Summary: Python Interface to the GDBM Library Summary: Python Interface to the GDBM Library
Requires: %{python_pkg_name} = %{version} Requires: %{python_pkg_name} = %{version}
%obsolete_python_versioned dbm %obsolete_python_versioned dbm
%if "%{python_pkg_name}" == "%{primary_python}" %if %{primary_interpreter}
Provides: python3-dbm Provides: python3-dbm
%endif %endif
@ -277,7 +282,7 @@ Summary: An Integrated Development Environment for Python
Requires: %{python_pkg_name} = %{version} Requires: %{python_pkg_name} = %{version}
Requires: %{python_pkg_name}-tk Requires: %{python_pkg_name}-tk
%obsolete_python_versioned idle %obsolete_python_versioned idle
%if "%{python_pkg_name}" == "%{primary_python}" %if %{primary_interpreter}
Provides: python3-idle = %{version} Provides: python3-idle = %{version}
%endif %endif
@ -291,7 +296,7 @@ a debugger.
Summary: Package Documentation for Python 3 Summary: Package Documentation for Python 3
Enhances: %{python_pkg_name} = %{python_version} Enhances: %{python_pkg_name} = %{python_version}
%obsolete_python_versioned doc %obsolete_python_versioned doc
%if "%{python_pkg_name}" == "%{primary_python}" %if %{primary_interpreter}
Provides: python3-doc = %{version} Provides: python3-doc = %{version}
%endif %endif
@ -303,7 +308,7 @@ Python, and Macintosh Module Reference in HTML format.
%package -n %{python_pkg_name}-doc-devhelp %package -n %{python_pkg_name}-doc-devhelp
Summary: Additional Package Documentation for Python 3 in devhelp format Summary: Additional Package Documentation for Python 3 in devhelp format
%obsolete_python_versioned doc-devhelp %obsolete_python_versioned doc-devhelp
%if "%{python_pkg_name}" == "%{primary_python}" %if %{primary_interpreter}
Provides: python3-doc-devhelp = %{version} Provides: python3-doc-devhelp = %{version}
%endif %endif
@ -330,7 +335,7 @@ Provides: %{python_pkg_name}-typing = %{version}
%obsolete_python_versioned typing %obsolete_python_versioned typing
# python3-xml was merged into python3, now moved into -base # python3-xml was merged into python3, now moved into -base
Provides: %{python_pkg_name}-xml = %{version} Provides: %{python_pkg_name}-xml = %{version}
%if "%{python_pkg_name}" == "%{primary_python}" %if %{primary_interpreter}
Provides: python3-asyncio = %{version} Provides: python3-asyncio = %{version}
Obsoletes: python3-asyncio < %{version} Obsoletes: python3-asyncio < %{version}
Provides: python3-base = %{version} Provides: python3-base = %{version}
@ -358,7 +363,7 @@ Requires: %{python_pkg_name}-base = %{version}
Provides: %{python_pkg_name}-2to3 = %{version} Provides: %{python_pkg_name}-2to3 = %{version}
Provides: %{python_pkg_name}-demo = %{version} Provides: %{python_pkg_name}-demo = %{version}
%obsolete_python_versioned tools %obsolete_python_versioned tools
%if "%{python_pkg_name}" == "%{primary_python}" %if %{primary_interpreter}
Provides: python3-2to3 = %{version} Provides: python3-2to3 = %{version}
Provides: python3-demo = %{version} Provides: python3-demo = %{version}
Provides: python3-tools = %{version} Provides: python3-tools = %{version}
@ -374,7 +379,7 @@ and a set of demonstration programs.
Summary: Include Files and Libraries Mandatory for Building Python Modules Summary: Include Files and Libraries Mandatory for Building Python Modules
Requires: %{python_pkg_name}-base = %{version} Requires: %{python_pkg_name}-base = %{version}
%obsolete_python_versioned devel %obsolete_python_versioned devel
%if "%{python_pkg_name}" == "%{primary_python}" %if %{primary_interpreter}
Provides: python3-devel = %{version} Provides: python3-devel = %{version}
%endif %endif
@ -394,7 +399,7 @@ Summary: Unit tests for Python and its standard library
Requires: %{python_pkg_name} = %{version} Requires: %{python_pkg_name} = %{version}
Requires: %{python_pkg_name}-tk = %{version} Requires: %{python_pkg_name}-tk = %{version}
%obsolete_python_versioned testsuite %obsolete_python_versioned testsuite
%if "%{python_pkg_name}" == "%{primary_python}" %if %{primary_interpreter}
Provides: python3-testsuite = %{version} Provides: python3-testsuite = %{version}
%endif %endif
@ -437,7 +442,7 @@ other applications.
# drop Autoconf version requirement # drop Autoconf version requirement
sed -i 's/^AC_PREREQ/dnl AC_PREREQ/' configure.ac sed -i 's/^AC_PREREQ/dnl AC_PREREQ/' configure.ac
%if "%{python_pkg_name}" == "%{primary_python}" %if %{primary_interpreter}
# fix shebangs - convert /usr/local/bin/python and /usr/bin/env/python to /usr/bin/python3 # fix shebangs - convert /usr/local/bin/python and /usr/bin/env/python to /usr/bin/python3
for dir in Lib Tools; do for dir in Lib Tools; do
# find *.py, filter to files that contain bad shebangs # find *.py, filter to files that contain bad shebangs
@ -690,7 +695,7 @@ rm -fv %{buildroot}%{dynlib nis}
ln -sf python%{python_version} %{buildroot}%{_bindir}/python3 ln -sf python%{python_version} %{buildroot}%{_bindir}/python3
# decide to ship python3 or just python3.X # decide to ship python3 or just python3.X
%if "%{python_pkg_name}" != "%{primary_python}" %if !%{primary_interpreter}
# base # base
rm %{buildroot}%{_bindir}/python3 rm %{buildroot}%{_bindir}/python3
rm %{buildroot}%{_bindir}/pydoc3 rm %{buildroot}%{_bindir}/pydoc3
@ -708,7 +713,7 @@ ln -s ../../libpython%{python_abi}.so %{buildroot}%{_libdir}/python%{python_vers
rm %{buildroot}%{_bindir}/idle3* rm %{buildroot}%{_bindir}/idle3*
# delete the generic 2to3 binary if we are not primary # delete the generic 2to3 binary if we are not primary
%if "%{python_pkg_name}" != "%{primary_python}" %if !%{primary_interpreter}
rm %{buildroot}%{_bindir}/2to3 rm %{buildroot}%{_bindir}/2to3
%endif %endif
@ -738,7 +743,7 @@ install -m 755 -D Tools/gdb/libpython.py %{buildroot}%{_datadir}/gdb/auto-load/%
#cp Makefile Makefile.pre.in Makefile.pre $RPM_BUILD_ROOT%{sitedir}/config-%{python_abi}/ #cp Makefile Makefile.pre.in Makefile.pre $RPM_BUILD_ROOT%{sitedir}/config-%{python_abi}/
# RPM macros # RPM macros
%if "%{python_pkg_name}" == "%{primary_python}" %if %{primary_interpreter}
mkdir -p %{buildroot}%{_rpmconfigdir}/macros.d/ mkdir -p %{buildroot}%{_rpmconfigdir}/macros.d/
install -m 644 %{SOURCE7} %{buildroot}%{_rpmconfigdir}/macros.d/ # macros.python3 install -m 644 %{SOURCE7} %{buildroot}%{_rpmconfigdir}/macros.d/ # macros.python3
%endif %endif
@ -840,7 +845,7 @@ echo %{sitedir}/_import_failed > %{buildroot}/%{sitedir}/site-packages/zzzz-impo
%files -n %{python_pkg_name}-tools %files -n %{python_pkg_name}-tools
%defattr(644, root, root, 755) %defattr(644, root, root, 755)
%{sitedir}/turtledemo %{sitedir}/turtledemo
%if "%{python_pkg_name}" == "%{primary_python}" %if %{primary_interpreter}
%{_bindir}/2to3 %{_bindir}/2to3
%endif %endif
%attr(755, root, root)%{_bindir}/2to3-%{python_version} %attr(755, root, root)%{_bindir}/2to3-%{python_version}
@ -849,7 +854,7 @@ echo %{sitedir}/_import_failed > %{buildroot}/%{sitedir}/site-packages/zzzz-impo
%files -n %{python_pkg_name}-devel %files -n %{python_pkg_name}-devel
%defattr(644, root, root, 755) %defattr(644, root, root, 755)
%{_libdir}/libpython%{python_abi}.so %{_libdir}/libpython%{python_abi}.so
%if "%{python_pkg_name}" == "%{primary_python}" %if %{primary_interpreter}
%{_libdir}/libpython3.so %{_libdir}/libpython3.so
%endif %endif
%{_libdir}/pkgconfig/* %{_libdir}/pkgconfig/*
@ -857,7 +862,7 @@ echo %{sitedir}/_import_failed > %{buildroot}/%{sitedir}/site-packages/zzzz-impo
%{sitedir}/config-%{python_abi}-* %{sitedir}/config-%{python_abi}-*
%defattr(755, root, root) %defattr(755, root, root)
%{_bindir}/python%{python_abi}-config %{_bindir}/python%{python_abi}-config
%if "%{python_pkg_name}" == "%{primary_python}" %if %{primary_interpreter}
%{_bindir}/python3-config %{_bindir}/python3-config
%endif %endif
# Own these directories to not depend on gdb # Own these directories to not depend on gdb
@ -890,14 +895,14 @@ echo %{sitedir}/_import_failed > %{buildroot}/%{sitedir}/site-packages/zzzz-impo
%doc %{_docdir}/%{name}/README.rst %doc %{_docdir}/%{name}/README.rst
%license LICENSE %license LICENSE
%doc %{_docdir}/%{name}/README.SUSE %doc %{_docdir}/%{name}/README.SUSE
%if "%{python_pkg_name}" == "%{primary_python}" %if %{primary_interpreter}
%{_mandir}/man1/python3.1%{?ext_man} %{_mandir}/man1/python3.1%{?ext_man}
%endif %endif
%{_mandir}/man1/python%{python_version}.1%{?ext_man} %{_mandir}/man1/python%{python_version}.1%{?ext_man}
# license text, not a doc because the code can use it at run-time # license text, not a doc because the code can use it at run-time
%{sitedir}/LICENSE.txt %{sitedir}/LICENSE.txt
# RPM macros # RPM macros
%if "%{python_pkg_name}" == "%{primary_python}" %if %{primary_interpreter}
%{_rpmconfigdir}/macros.d/macros.python3 %{_rpmconfigdir}/macros.d/macros.python3
%endif %endif
# binary parts # binary parts
@ -1002,7 +1007,7 @@ echo %{sitedir}/_import_failed > %{buildroot}/%{sitedir}/site-packages/zzzz-impo
%{sitedir}/_import_failed %{sitedir}/_import_failed
%{sitedir}/site-packages/zzzz-import-failed-hooks.pth %{sitedir}/site-packages/zzzz-import-failed-hooks.pth
# symlinks # symlinks
%if "%{python_pkg_name}" == "%{primary_python}" %if %{primary_interpreter}
%{_bindir}/python3 %{_bindir}/python3
%{_bindir}/pydoc3 %{_bindir}/pydoc3
%endif %endif