New bcond main_python
The bcond flatpackage assumed that if building *without* flatpackage, that we want to build the main Python for the distribution. However, in some instances we want a non-flatpackage build of Python that is *not* the main Python in the distro. Therefore I have split the main-Python setting into its own bcond.
This commit is contained in:
		
							parent
							
								
									85bf9e384b
								
							
						
					
					
						commit
						83f99db714
					
				| @ -30,12 +30,21 @@ License: Python | |||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| # Flat package, i.e. python36, python37, python38 for tox etc. | # Flat package, i.e. python36, python37, python38 for tox etc. | ||||||
| # warning: changes some other defaults | # WARNING: This also influences the main_python bcond below. | ||||||
| # in Fedora, never turn this on for the python3 package | # in Fedora, never turn this on for the python3 package | ||||||
| # and always keep it on for python37 etc. | # and always keep it on for python37 etc. | ||||||
| # WARNING: This does not change the package name and summary above | # WARNING: This does not change the package name and summary above. | ||||||
| %bcond_without flatpackage | %bcond_without flatpackage | ||||||
| 
 | 
 | ||||||
|  | # Main Python, i.e. whether this is the main Python version in the distribution | ||||||
|  | # that owns /usr/bin/python3 and other unique paths | ||||||
|  | # Default: if this is a flatpackage -> it is not the main Python | ||||||
|  | %if %{with flatpackage} | ||||||
|  | %bcond_with main_python | ||||||
|  | %else | ||||||
|  | %bcond_without main_python | ||||||
|  | %endif | ||||||
|  | 
 | ||||||
| # When bootstrapping python3, we need to build setuptools. | # When bootstrapping python3, we need to build setuptools. | ||||||
| # but setuptools BR python3-devel and that brings in python3-rpm-generators; | # but setuptools BR python3-devel and that brings in python3-rpm-generators; | ||||||
| # python3-rpm-generators needs python3-setuptools, so we cannot have it yet. | # python3-rpm-generators needs python3-setuptools, so we cannot have it yet. | ||||||
| @ -311,12 +320,14 @@ Provides: python%{pyshortver} = %{version}-%{release} | |||||||
| # replace python36-3.6.2. | # replace python36-3.6.2. | ||||||
| Obsoletes: python%{pyshortver} | Obsoletes: python%{pyshortver} | ||||||
| 
 | 
 | ||||||
|  | %if %{with main_python} | ||||||
| # https://fedoraproject.org/wiki/Changes/Move_usr_bin_python_into_separate_package | # https://fedoraproject.org/wiki/Changes/Move_usr_bin_python_into_separate_package | ||||||
| # https://fedoraproject.org/wiki/Changes/Python_means_Python3 | # https://fedoraproject.org/wiki/Changes/Python_means_Python3 | ||||||
| # We recommend /usr/bin/python so users get it by default | # We recommend /usr/bin/python so users get it by default | ||||||
| # Versioned recommends are problematic, and we know that the package requires | # Versioned recommends are problematic, and we know that the package requires | ||||||
| # python3 back with fixed version, so we just use the path here: | # python3 back with fixed version, so we just use the path here: | ||||||
| Recommends: %{_bindir}/python | Recommends: %{_bindir}/python | ||||||
|  | %endif | ||||||
| 
 | 
 | ||||||
| # In Fedora 31, /usr/bin/pydoc was moved here from Python 2. | # In Fedora 31, /usr/bin/pydoc was moved here from Python 2. | ||||||
| # Ideally we'd have an explicit conflict with "/usr/bin/pydoc < 3", | # Ideally we'd have an explicit conflict with "/usr/bin/pydoc < 3", | ||||||
| @ -358,6 +369,7 @@ Packages containing additional libraries for Python are generally named with | |||||||
| the "%{name}-" prefix. | the "%{name}-" prefix. | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | %if %{with main_python} | ||||||
| # https://fedoraproject.org/wiki/Changes/Move_usr_bin_python_into_separate_package | # https://fedoraproject.org/wiki/Changes/Move_usr_bin_python_into_separate_package | ||||||
| # https://fedoraproject.org/wiki/Changes/Python_means_Python3 | # https://fedoraproject.org/wiki/Changes/Python_means_Python3 | ||||||
| %package -n python-unversioned-command | %package -n python-unversioned-command | ||||||
| @ -373,6 +385,8 @@ Provides: python = %{version}-%{release} | |||||||
| %description -n python-unversioned-command | %description -n python-unversioned-command | ||||||
| This package contains /usr/bin/python - the "python" command that runs Python 3. | This package contains /usr/bin/python - the "python" command that runs Python 3. | ||||||
| 
 | 
 | ||||||
|  | %endif # with main_python | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| %package libs | %package libs | ||||||
| Summary:        Python runtime libraries | Summary:        Python runtime libraries | ||||||
| @ -842,7 +856,7 @@ install -d -m 0755 %{buildroot}%{pylibdir}/site-packages/__pycache__ | |||||||
| install -d -m 0755 %{buildroot}%{_prefix}/lib/python%{pybasever}/site-packages/__pycache__ | install -d -m 0755 %{buildroot}%{_prefix}/lib/python%{pybasever}/site-packages/__pycache__ | ||||||
| %endif | %endif | ||||||
| 
 | 
 | ||||||
| %if %{without flatpackage} | %if %{with main_python} | ||||||
| # add idle3 to menu | # add idle3 to menu | ||||||
| install -D -m 0644 Lib/idlelib/Icons/idle_16.png %{buildroot}%{_datadir}/icons/hicolor/16x16/apps/idle3.png | install -D -m 0644 Lib/idlelib/Icons/idle_16.png %{buildroot}%{_datadir}/icons/hicolor/16x16/apps/idle3.png | ||||||
| install -D -m 0644 Lib/idlelib/Icons/idle_32.png %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/idle3.png | install -D -m 0644 Lib/idlelib/Icons/idle_32.png %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/idle3.png | ||||||
| @ -921,7 +935,7 @@ find %{buildroot} -perm 555 -exec chmod 755 {} \; | |||||||
| # Create "/usr/bin/python3-debug", a symlink to the python3 debug binary, to | # Create "/usr/bin/python3-debug", a symlink to the python3 debug binary, to | ||||||
| # avoid the user having to know the precise version and ABI flags. | # avoid the user having to know the precise version and ABI flags. | ||||||
| # See e.g. https://bugzilla.redhat.com/show_bug.cgi?id=676748 | # See e.g. https://bugzilla.redhat.com/show_bug.cgi?id=676748 | ||||||
| %if %{with debug_build} && %{without flatpackage} | %if %{with debug_build} && %{with main_python} | ||||||
| ln -s \ | ln -s \ | ||||||
|   %{_bindir}/python%{LDVERSION_debug} \ |   %{_bindir}/python%{LDVERSION_debug} \ | ||||||
|   %{buildroot}%{_bindir}/python3-debug |   %{buildroot}%{_bindir}/python3-debug | ||||||
| @ -932,7 +946,7 @@ ln -s \ | |||||||
| # See https://bugzilla.redhat.com/show_bug.cgi?id=1111275 | # See https://bugzilla.redhat.com/show_bug.cgi?id=1111275 | ||||||
| mv %{buildroot}%{_bindir}/2to3-%{pybasever} %{buildroot}%{_bindir}/2to3 | mv %{buildroot}%{_bindir}/2to3-%{pybasever} %{buildroot}%{_bindir}/2to3 | ||||||
| 
 | 
 | ||||||
| %if %{with flatpackage} | %if %{without main_python} | ||||||
| # Remove stuff that would conflict with python3 package | # Remove stuff that would conflict with python3 package | ||||||
| rm %{buildroot}%{_bindir}/python3 | rm %{buildroot}%{_bindir}/python3 | ||||||
| rm %{buildroot}%{_bindir}/pydoc3 | rm %{buildroot}%{_bindir}/pydoc3 | ||||||
| @ -1052,7 +1066,7 @@ CheckPython optimized | |||||||
| %files | %files | ||||||
| %doc README.rst | %doc README.rst | ||||||
| 
 | 
 | ||||||
| %if %{without flatpackage} | %if %{with main_python} | ||||||
| %{_bindir}/pydoc* | %{_bindir}/pydoc* | ||||||
| %{_bindir}/python3 | %{_bindir}/python3 | ||||||
| %else | %else | ||||||
| @ -1064,11 +1078,15 @@ CheckPython optimized | |||||||
| %{_mandir}/*/*3* | %{_mandir}/*/*3* | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | %if %{with main_python} | ||||||
| %if %{without flatpackage} | %if %{without flatpackage} | ||||||
| %files -n python-unversioned-command | %files -n python-unversioned-command | ||||||
|  | %endif | ||||||
| %{_bindir}/python | %{_bindir}/python | ||||||
| %{_mandir}/*/python.1* | %{_mandir}/*/python.1* | ||||||
|  | %endif | ||||||
| 
 | 
 | ||||||
|  | %if %{without flatpackage} | ||||||
| %files libs | %files libs | ||||||
| %doc README.rst | %doc README.rst | ||||||
| %endif | %endif | ||||||
| @ -1282,13 +1300,16 @@ CheckPython optimized | |||||||
| %{_includedir}/python%{LDVERSION_optimized}/%{_pyconfig_h} | %{_includedir}/python%{LDVERSION_optimized}/%{_pyconfig_h} | ||||||
| 
 | 
 | ||||||
| %{_libdir}/%{py_INSTSONAME_optimized} | %{_libdir}/%{py_INSTSONAME_optimized} | ||||||
| %if %{without flatpackage} | %if %{with main_python} | ||||||
| %{_libdir}/libpython3.so | %{_libdir}/libpython3.so | ||||||
| %endif | %endif | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| %if %{without flatpackage} | %if %{without flatpackage} | ||||||
| %files devel | %files devel | ||||||
|  | %endif | ||||||
|  | 
 | ||||||
|  | %if %{with main_python} | ||||||
| %{_bindir}/2to3 | %{_bindir}/2to3 | ||||||
| %endif | %endif | ||||||
| 
 | 
 | ||||||
| @ -1302,7 +1323,7 @@ CheckPython optimized | |||||||
| %{_includedir}/python%{LDVERSION_optimized}/cpython/ | %{_includedir}/python%{LDVERSION_optimized}/cpython/ | ||||||
| %doc Misc/README.valgrind Misc/valgrind-python.supp Misc/gdbinit | %doc Misc/README.valgrind Misc/valgrind-python.supp Misc/gdbinit | ||||||
| 
 | 
 | ||||||
| %if %{without flatpackage} | %if %{with main_python} | ||||||
| %{_bindir}/python3-config | %{_bindir}/python3-config | ||||||
| %{_bindir}/python-config | %{_bindir}/python-config | ||||||
| %{_libdir}/pkgconfig/python3.pc | %{_libdir}/pkgconfig/python3.pc | ||||||
| @ -1330,7 +1351,9 @@ CheckPython optimized | |||||||
| 
 | 
 | ||||||
| %if %{without flatpackage} | %if %{without flatpackage} | ||||||
| %files idle | %files idle | ||||||
|  | %endif | ||||||
| 
 | 
 | ||||||
|  | %if %{with main_python} | ||||||
| %{_bindir}/idle* | %{_bindir}/idle* | ||||||
| %else | %else | ||||||
| %{_bindir}/idle%{pybasever} | %{_bindir}/idle%{pybasever} | ||||||
| @ -1338,7 +1361,7 @@ CheckPython optimized | |||||||
| 
 | 
 | ||||||
| %{pylibdir}/idlelib | %{pylibdir}/idlelib | ||||||
| 
 | 
 | ||||||
| %if %{without flatpackage} | %if %{with main_python} | ||||||
| %{_metainfodir}/idle3.appdata.xml | %{_metainfodir}/idle3.appdata.xml | ||||||
| %{_datadir}/applications/idle3.desktop | %{_datadir}/applications/idle3.desktop | ||||||
| %{_datadir}/icons/hicolor/*/apps/idle3.* | %{_datadir}/icons/hicolor/*/apps/idle3.* | ||||||
| @ -1390,6 +1413,9 @@ CheckPython optimized | |||||||
| %if %{with debug_build} | %if %{with debug_build} | ||||||
| %if %{without flatpackage} | %if %{without flatpackage} | ||||||
| %files debug | %files debug | ||||||
|  | %endif | ||||||
|  | 
 | ||||||
|  | %if %{with main_python} | ||||||
| %{_bindir}/python3-debug | %{_bindir}/python3-debug | ||||||
| %{_bindir}/python-debug | %{_bindir}/python-debug | ||||||
| %endif | %endif | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user