Remove system-python

This commit is contained in:
Miro Hrončok 2017-08-21 13:33:07 +02:00
parent 043c57400a
commit 11efc8ea59
2 changed files with 31 additions and 58 deletions

View File

@ -1,4 +1 @@
%system_python_abi %{expand: \ %system_python_abi %{expand: }
%global __requires_exclude ^python\\\\(abi\\\\) = 3\\\\..$
Requires: system-python(abi) = %{python3_version}
}

View File

@ -11,7 +11,7 @@ Summary: Version 3 of the Python programming language aka Python 3000
%global pyshortver 36 %global pyshortver 36
Version: %{pybasever}.2 Version: %{pybasever}.2
Release: 9%{?dist} Release: 10%{?dist}
License: Python License: Python
@ -230,7 +230,8 @@ Source7: pyfuntop.stp
# Written by bkabrda # Written by bkabrda
Source8: check-pyc-and-pyo-timestamps.py Source8: check-pyc-and-pyo-timestamps.py
# A simple macro that enables packages to require system-python(abi) instead of python(abi) # Backward compatible no-op macro for system-python
# Remove in Fedora 29
Source9: macros.systempython Source9: macros.systempython
# Desktop menu entry for idle3 # Desktop menu entry for idle3
@ -478,6 +479,12 @@ URL: https://www.python.org/
# See notes in bug 532118: # See notes in bug 532118:
Provides: python(abi) = %{pybasever} Provides: python(abi) = %{pybasever}
# For backward compatibility only, remove in F29:
Provides: system-python(abi) = %{pybasever}
Provides: system-python = %{version}-%{release}
Provides: system-python%{?_isa} = %{version}-%{release}
Obsoletes: system-python < %{version}-%{release}
Requires: %{name}-libs%{?_isa} = %{version}-%{release} Requires: %{name}-libs%{?_isa} = %{version}-%{release}
# In order to support multiple python interpreters, apart from the system python3, # In order to support multiple python interpreters, apart from the system python3,
@ -508,17 +515,11 @@ need a programmable interface.
Note that documentation for Python is provided in the python3-docs package. Note that documentation for Python is provided in the python3-docs package.
This package provides the "python3" executable; most of the actual This package provides the "python3" executable; most of the actual
implementation is within the "python3-libs" and "system-python-libs" packages. implementation is within the "python3-libs" package.
%package libs %package libs
Summary: Python runtime libraries Summary: Python runtime libraries
Group: Development/Libraries Group: Development/Libraries
# For Modularity purpose we need not to include the dist-tag int he dependency
%if %(d="%{?dist}"; [ "${d#module-base-runtime-}x" != "${d}x" ] && echo 1 || echo 0)
Requires: system-python-libs%{?_isa} = %{version}
%else
Requires: system-python-libs%{?_isa} = %{version}-%{release}
%endif
# expat 2.1.0 added the symbol XML_SetHashSalt without bumping SONAME. We use # expat 2.1.0 added the symbol XML_SetHashSalt without bumping SONAME. We use
# this symbol (in pyexpat), so we must explicitly state this dependency to # this symbol (in pyexpat), so we must explicitly state this dependency to
@ -528,36 +529,21 @@ Requires: expat >= 2.1.0
Provides: python3-enum34 = 1.0.4-5%{?dist} Provides: python3-enum34 = 1.0.4-5%{?dist}
Obsoletes: python3-enum34 < 1.0.4-5%{?dist} Obsoletes: python3-enum34 < 1.0.4-5%{?dist}
# Python 3 built with glibc >= 2.24.90-26 needs to require it (rhbz#1410644).
Requires: glibc%{?_isa} >= 2.24.90-26
# For backward compatibility only, remove in F29:
Provides: system-python-libs = %{version}-%{release}
Provides: system-python-libs%{?_isa} = %{version}-%{release}
Obsoletes: system-python-libs < %{version}-%{release}
%description libs %description libs
This package contains runtime libraries for use by Python: This package contains runtime libraries for use by Python:
- the libpython dynamic library, for use by applications that embed Python as - the libpython dynamic library, for use by applications that embed Python as
a scripting language, and by the main "python3" executable a scripting language, and by the main "python3" executable
- the Python standard library - the Python standard library
%package -n system-python
Summary: System Python executable
Group: Development/Libraries
Requires: system-python-libs%{?_isa} = %{version}-%{release}
Provides: system-python(abi) = %{pybasever}
%description -n system-python
System Python provides a binary interpreter which uses system-python-libs,
a subset of standard Python library considered essential to run various tools,
requiring Python, that consider themselves "system tools".
%package -n system-python-libs
Summary: System Python runtime libraries
Group: Development/Libraries
%define __requires_exclude ^(/usr/bin/python3.*|python\\(abi\\) = 3\\..*)$
Requires: expat >= 2.1.0
# Python 3 built with glibc >= 2.24.90-26 needs to require it (rhbz#1410644).
Requires: glibc%{?_isa} >= 2.24.90-26
%description -n system-python-libs
This package contains files used to embed System Python into applications.
%package devel %package devel
Summary: Libraries and header files needed for Python development Summary: Libraries and header files needed for Python development
Group: Development/Libraries Group: Development/Libraries
@ -1163,9 +1149,10 @@ echo '[ $? -eq 127 ] && echo "Could not find python%{LDVERSION_debug}-`uname -m`
chmod +x %{buildroot}%{_bindir}/python%{LDVERSION_debug}-config chmod +x %{buildroot}%{_bindir}/python%{LDVERSION_debug}-config
%endif # with debug_build %endif # with debug_build
# System Python: Copy the executable to libexec # System Python: Link the executable to libexec
# This is for backwards compatibility only and should be removed in Fedora 29
mkdir -p %{buildroot}%{_libexecdir} mkdir -p %{buildroot}%{_libexecdir}
cp %{buildroot}%{_bindir}/python%{pybasever} %{buildroot}%{_libexecdir}/system-python ln -s %{_bindir}/python%{pybasever} %{buildroot}%{_libexecdir}/system-python
# ====================================================== # ======================================================
@ -1247,10 +1234,6 @@ rm -fr %{buildroot}
%postun libs -p /sbin/ldconfig %postun libs -p /sbin/ldconfig
%post -n system-python-libs -p /sbin/ldconfig
%postun -n system-python-libs -p /sbin/ldconfig
%post %post
/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
@ -1274,12 +1257,17 @@ fi
%{_bindir}/pyvenv %{_bindir}/pyvenv
%{_bindir}/pyvenv-%{pybasever} %{_bindir}/pyvenv-%{pybasever}
%{_mandir}/*/* %{_mandir}/*/*
# Remove in Fedora 29:
%{_libexecdir}/system-python
%files libs %files libs
%defattr(-,root,root,-) %defattr(-,root,root,-)
%license LICENSE %license LICENSE
%doc README.rst %doc README.rst
%dir %{pylibdir}
%dir %{dynload_dir}
%{pylibdir}/lib2to3 %{pylibdir}/lib2to3
%exclude %{pylibdir}/lib2to3/tests %exclude %{pylibdir}/lib2to3/tests
@ -1338,21 +1326,6 @@ fi
%{pylibdir}/pydoc_data %{pylibdir}/pydoc_data
##################################################################################
%files -n system-python
%defattr(-,root,root,-)
%license LICENSE
%doc README.rst
%{_libexecdir}/system-python
%files -n system-python-libs
%defattr(-,root,root,-)
%license LICENSE
%doc README.rst
%dir %{pylibdir}
%dir %{dynload_dir}
%{dynload_dir}/_blake2.%{SOABI_optimized}.so %{dynload_dir}/_blake2.%{SOABI_optimized}.so
%{dynload_dir}/_md5.%{SOABI_optimized}.so %{dynload_dir}/_md5.%{SOABI_optimized}.so
%{dynload_dir}/_sha1.%{SOABI_optimized}.so %{dynload_dir}/_sha1.%{SOABI_optimized}.so
@ -1710,6 +1683,9 @@ fi
# ====================================================== # ======================================================
%changelog %changelog
* Mon Aug 21 2017 Miro Hrončok <mhroncok@redhat.com> - 3.6.2-10
- Remove system-python, see https://fedoraproject.org/wiki/Changes/Platform_Python_Stack
* Wed Aug 16 2017 Petr Viktorin <pviktori@redhat.com> - 3.6.2-9 * Wed Aug 16 2017 Petr Viktorin <pviktori@redhat.com> - 3.6.2-9
- Use bconds for configuring the build - Use bconds for configuring the build
- Reorganize the initial sections - Reorganize the initial sections