Python now means Python 3
- https://fedoraproject.org/wiki/Changes/Python_means_Python3 - The python-unversioned-command package is no longer Python 2, but 3 - The python, pydoc, python-config, python-debug, idle, pygettext.py and msgfmt.py commands are now in python3
This commit is contained in:
		
							parent
							
								
									b9306b1085
								
							
						
					
					
						commit
						988896a172
					
				| @ -304,6 +304,18 @@ Provides: python%{pyshortver} = %{version}-%{release} | |||||||
| # replace python36-3.6.2. | # replace python36-3.6.2. | ||||||
| Obsoletes: python%{pyshortver} | Obsoletes: python%{pyshortver} | ||||||
| 
 | 
 | ||||||
|  | # https://fedoraproject.org/wiki/Changes/Move_usr_bin_python_into_separate_package | ||||||
|  | # https://fedoraproject.org/wiki/Changes/Python_means_Python3 | ||||||
|  | # We recommend /usr/bin/python so users get it by default | ||||||
|  | # Versioned recommends are problematic, and we know that the package requires | ||||||
|  | # python3 back with fixed version, so we just use the path here: | ||||||
|  | Recommends: %{_bindir}/python | ||||||
|  | 
 | ||||||
|  | # In Fedora 31, /usr/bin/pydoc was moved here from Python 2. | ||||||
|  | # Ideally we'd have an explicit conflict with "/usr/bin/pydoc < 3", | ||||||
|  | # but file provides aren't versioned and the file moved across packages. | ||||||
|  | # Instead, we rely on the conflict in python3-libs. | ||||||
|  | 
 | ||||||
| # Previously, this was required for our rewheel patch to work. | # Previously, this was required for our rewheel patch to work. | ||||||
| # This is technically no longer needed, but we keep it recommended | # This is technically no longer needed, but we keep it recommended | ||||||
| # for the developer experience. | # for the developer experience. | ||||||
| @ -339,6 +351,22 @@ Packages containing additional libraries for Python are generally named with | |||||||
| the "%{name}-" prefix. | the "%{name}-" prefix. | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | # https://fedoraproject.org/wiki/Changes/Move_usr_bin_python_into_separate_package | ||||||
|  | # https://fedoraproject.org/wiki/Changes/Python_means_Python3 | ||||||
|  | %package -n python-unversioned-command | ||||||
|  | Summary: The "python" command that runs Python 3 | ||||||
|  | BuildArch: noarch | ||||||
|  | 
 | ||||||
|  | # In theory this could require any python3 version | ||||||
|  | Requires: python3 == %{version}-%{release} | ||||||
|  | # But since we want to provide versioned python, we require exact version | ||||||
|  | Provides: python = %{version}-%{release} | ||||||
|  | # This also save us an explicit conflict for older python3 builds | ||||||
|  | 
 | ||||||
|  | %description -n python-unversioned-command | ||||||
|  | This package contains /usr/bin/python - the "python" command that runs Python 3. | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| %package libs | %package libs | ||||||
| Summary:        Python runtime libraries | Summary:        Python runtime libraries | ||||||
| 
 | 
 | ||||||
| @ -358,6 +386,18 @@ Provides: bundled(python3-setuptools) = 40.8.0 | |||||||
| # See https://bugzilla.redhat.com/show_bug.cgi?id=1547131 | # See https://bugzilla.redhat.com/show_bug.cgi?id=1547131 | ||||||
| Recommends: %{name}%{?_isa} = %{version}-%{release} | Recommends: %{name}%{?_isa} = %{version}-%{release} | ||||||
| 
 | 
 | ||||||
|  | # https://fedoraproject.org/wiki/Changes/Move_usr_bin_python_into_separate_package | ||||||
|  | # In Fedora 31, several "unversioned" files like /usr/bin/pydoc and all the | ||||||
|  | # "unversioned" provides were moved from python2 to python3. | ||||||
|  | # So, newer python3 packages need to conflict with old Python 2 builds that | ||||||
|  | # still provided unversioned Python. | ||||||
|  | # Since all python packages, new and old, have versioned requires on | ||||||
|  | # python?-libs, we do it here: | ||||||
|  | Conflicts: python-libs < 3 | ||||||
|  | # (We explicitly conflict with python-libs and not python2-libs, so only the | ||||||
|  | # old Python 2 builds that still provided unversioned Python are handled.) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| %description libs | %description libs | ||||||
| This package contains runtime libraries for use by Python: | This package contains runtime libraries for use by Python: | ||||||
| - the majority of the Python standard library | - the majority of the Python standard library | ||||||
| @ -393,6 +433,10 @@ Provides: 2to3 = %{version}-%{release} | |||||||
| 
 | 
 | ||||||
| Conflicts: %{name} < %{version}-%{release} | Conflicts: %{name} < %{version}-%{release} | ||||||
| 
 | 
 | ||||||
|  | # In Fedora 31, several "unversioned" files were moved here from Python 2: | ||||||
|  | # pygettext.py, msgfmt.py, python-config, python.pc | ||||||
|  | Conflicts: python-devel < 3 | ||||||
|  | 
 | ||||||
| %description devel | %description devel | ||||||
| This package contains the header files and configuration needed to compile | This package contains the header files and configuration needed to compile | ||||||
| Python extension modules (typically written in C or C++), to embed Python | Python extension modules (typically written in C or C++), to embed Python | ||||||
| @ -408,11 +452,15 @@ Requires: %{name} = %{version}-%{release} | |||||||
| Requires: %{name}-tkinter = %{version}-%{release} | Requires: %{name}-tkinter = %{version}-%{release} | ||||||
| 
 | 
 | ||||||
| Provides: idle3 = %{version}-%{release} | Provides: idle3 = %{version}-%{release} | ||||||
|  | Provides: idle = %{version}-%{release} | ||||||
| 
 | 
 | ||||||
| Provides: %{name}-tools = %{version}-%{release} | Provides: %{name}-tools = %{version}-%{release} | ||||||
| Provides: %{name}-tools%{?_isa} = %{version}-%{release} | Provides: %{name}-tools%{?_isa} = %{version}-%{release} | ||||||
| Obsoletes: %{name}-tools < %{version}-%{release} | Obsoletes: %{name}-tools < %{version}-%{release} | ||||||
| 
 | 
 | ||||||
|  | # In Fedora 31, /usr/bin/idle was moved here from Python 2. | ||||||
|  | Conflicts: python-tools < 3 | ||||||
|  | 
 | ||||||
| %{?python_provide:%python_provide python3-idle} | %{?python_provide:%python_provide python3-idle} | ||||||
| 
 | 
 | ||||||
| %description idle | %description idle | ||||||
| @ -468,6 +516,9 @@ Requires: %{name}-test%{?_isa} = %{version}-%{release} | |||||||
| Requires: %{name}-tkinter%{?_isa} = %{version}-%{release} | Requires: %{name}-tkinter%{?_isa} = %{version}-%{release} | ||||||
| Requires: %{name}-idle%{?_isa} = %{version}-%{release} | Requires: %{name}-idle%{?_isa} = %{version}-%{release} | ||||||
| 
 | 
 | ||||||
|  | # In Fedora 31, /usr/bin/python-debug was moved here from Python 2. | ||||||
|  | Conflicts: python-debug < 3 | ||||||
|  | 
 | ||||||
| %{?python_provide:%python_provide python3-debug} | %{?python_provide:%python_provide python3-debug} | ||||||
| 
 | 
 | ||||||
| %description debug | %description debug | ||||||
| @ -892,6 +943,20 @@ rm %{buildroot}%{_libdir}/libpython3.so | |||||||
| rm %{buildroot}%{_mandir}/man1/python3.1* | rm %{buildroot}%{_mandir}/man1/python3.1* | ||||||
| rm %{buildroot}%{_libdir}/pkgconfig/python3.pc | rm %{buildroot}%{_libdir}/pkgconfig/python3.pc | ||||||
| rm %{buildroot}%{_libdir}/pkgconfig/python3-embed.pc | rm %{buildroot}%{_libdir}/pkgconfig/python3-embed.pc | ||||||
|  | %else | ||||||
|  | # Link the unversioned stuff | ||||||
|  | # https://fedoraproject.org/wiki/Changes/Python_means_Python3 | ||||||
|  | ln -s ./python3 %{buildroot}%{_bindir}/python | ||||||
|  | ln -s ./pydoc3 %{buildroot}%{_bindir}/pydoc | ||||||
|  | ln -s ./pygettext3.py %{buildroot}%{_bindir}/pygettext.py | ||||||
|  | ln -s ./msgfmt3.py %{buildroot}%{_bindir}/msgfmt.py | ||||||
|  | ln -s ./idle3 %{buildroot}%{_bindir}/idle | ||||||
|  | ln -s ./python3-config %{buildroot}%{_bindir}/python-config | ||||||
|  | ln -s ./python3.1 %{buildroot}%{_mandir}/man1/python.1 | ||||||
|  | ln -s ./python3.pc %{buildroot}%{_libdir}/pkgconfig/python.pc | ||||||
|  | %if %{with debug_build} | ||||||
|  | ln -s ./python3-debug %{buildroot}%{_bindir}/python-debug | ||||||
|  | %endif | ||||||
| %endif | %endif | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| @ -999,10 +1064,14 @@ CheckPython optimized | |||||||
| 
 | 
 | ||||||
| %{_bindir}/python%{pybasever} | %{_bindir}/python%{pybasever} | ||||||
| %{_bindir}/python%{LDVERSION_optimized} | %{_bindir}/python%{LDVERSION_optimized} | ||||||
| %{_mandir}/*/* | %{_mandir}/*/*3* | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| %if %{without flatpackage} | %if %{without flatpackage} | ||||||
|  | %files -n python-unversioned-command | ||||||
|  | %{_bindir}/python | ||||||
|  | %{_mandir}/*/python.1* | ||||||
|  | 
 | ||||||
| %files libs | %files libs | ||||||
| %license LICENSE | %license LICENSE | ||||||
| %doc README.rst | %doc README.rst | ||||||
| @ -1255,11 +1324,15 @@ CheckPython optimized | |||||||
| 
 | 
 | ||||||
| %if %{without flatpackage} | %if %{without flatpackage} | ||||||
| %{_bindir}/python3-config | %{_bindir}/python3-config | ||||||
|  | %{_bindir}/python-config | ||||||
| %{_libdir}/pkgconfig/python3.pc | %{_libdir}/pkgconfig/python3.pc | ||||||
|  | %{_libdir}/pkgconfig/python.pc | ||||||
| %{_libdir}/pkgconfig/python3-embed.pc | %{_libdir}/pkgconfig/python3-embed.pc | ||||||
| %{_bindir}/pathfix.py | %{_bindir}/pathfix.py | ||||||
| %{_bindir}/pygettext3.py | %{_bindir}/pygettext3.py | ||||||
|  | %{_bindir}/pygettext.py | ||||||
| %{_bindir}/msgfmt3.py | %{_bindir}/msgfmt3.py | ||||||
|  | %{_bindir}/msgfmt.py | ||||||
| %endif | %endif | ||||||
| 
 | 
 | ||||||
| %{_bindir}/pygettext%{pybasever}.py | %{_bindir}/pygettext%{pybasever}.py | ||||||
| @ -1348,6 +1421,7 @@ CheckPython optimized | |||||||
| %if %{without flatpackage} | %if %{without flatpackage} | ||||||
| %files debug | %files debug | ||||||
| %{_bindir}/python3-debug | %{_bindir}/python3-debug | ||||||
|  | %{_bindir}/python-debug | ||||||
| %endif | %endif | ||||||
| 
 | 
 | ||||||
| # Analog of the core subpackage's files: | # Analog of the core subpackage's files: | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user