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