From 68bce9f20519dcd20080409c11d93806e29e073c Mon Sep 17 00:00:00 2001 From: Miro HronĨok Date: Feb 24 2021 16:13:29 +0000 Subject: Add new bootstrapping bcond The Python RPM dependency generators now require python3-packaging and hence transitively python3-pyparsing. In order to bootstrap a new Python version, we need to build this without the generators first. The provides are added manually in that case. At that point, we cannot build the wheel or docs either, so this kinda swallowed the doc bcond. --- diff --git a/pyparsing.spec b/pyparsing.spec index ed951fa..0102796 100644 --- a/pyparsing.spec +++ b/pyparsing.spec @@ -1,12 +1,13 @@ %global srcname pyparsing %global _summary Python package with an object-oriented approach to text processing +# when bootstrapping Python 3, pyparsing needs to be rebuilt before depndency generator is available +%bcond_with bootstrap +%if %{without bootstrap} %global build_wheel 1 - %global python_wheelname %{srcname}-%{version}-py2.py3-none-any.whl +%endif -# when bootstrapping Python 3, pyparsing needs to be rebuilt before sphinx -%bcond_without doc Summary: %{_summary} Name: pyparsing @@ -22,11 +23,7 @@ BuildRequires: dos2unix BuildRequires: python%{python3_pkgversion}-devel BuildRequires: python%{python3_pkgversion}-setuptools -# python3 bootstrap: this is rebuilt before the final build of python3, which -# adds the dependency on python3-rpm-generators, so we require it manually -BuildRequires: python3-rpm-generators - -%if %{with doc} +%if %{without bootstrap} BuildRequires: python%{python3_pkgversion}-sphinx %endif @@ -40,7 +37,7 @@ pyparsing is a module that can be used to easily and directly configure syntax definitions for any number of text parsing applications. -%if %{with doc} +%if %{without bootstrap} %package doc Summary: Documentation for pyparsing python package @@ -51,6 +48,11 @@ The package contains documentation for pyparsing. %package -n python%{python3_pkgversion}-pyparsing Summary: %{_summary} +%if %{with bootstrap} +Provides: python%{python3_pkgversion}dist(pyparsing) = %{version} +Provides: python%{python3_version}dist(pyparsing) = %{version} +%endif + %{?python_provide:%python_provide python%{python3_pkgversion}-%{srcname}} %description -n python%{python3_pkgversion}-pyparsing @@ -72,7 +74,7 @@ dos2unix -k CHANGES LICENSE %py3_build %endif -%if %{with doc} +%if %{without bootstrap} # build docs pushd docs # Theme is not available @@ -101,7 +103,7 @@ popd %{python3_sitelib}/__pycache__/* %{python3_sitelib}/pyparsing-*-info/ -%if %{with doc} +%if %{without bootstrap} %files doc %license LICENSE %doc CHANGES README.rst docs/html examples