Bug 1823898 - python3-docs fails to build with Sphinx 3.0.0
Summary: python3-docs fails to build with Sphinx 3.0.0
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: python3-docs
Version: 33
Hardware: Unspecified
OS: Unspecified
low
unspecified
Target Milestone: ---
Assignee: Victor Stinner
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 1867294
Blocks: SPHINX3
TreeView+ depends on / blocked
 
Reported: 2020-04-14 18:38 UTC by Charalampos Stratakis
Modified: 2020-09-26 00:14 UTC (History)
9 users (show)

Fixed In Version: python3-docs-3.9.0~rc2-1.fc33
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-09-26 00:14:40 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Github python cpython pull 19397 0 None closed bpo-40204: Update documentation formatting for Sphinx 3.0 2020-11-11 08:17:30 UTC
Github python cpython pull 21901 0 None closed [3.9] bpo-40204: Allow pre-Sphinx 3 syntax in the doc (GH-21844) 2020-11-11 08:17:30 UTC

Description Charalampos Stratakis 2020-04-14 18:38:20 UTC
python3-docs fails to build with Sphinx 3.0.0.

Warning, treated as error:
/builddir/build/BUILD/Python-3.8.2/Doc/c-api/buffer.rst:92:Error in declarator or parameters
Invalid C declaration: Expected identifier in nested name. [error at 5]
  void \*buf
  -----^

For the build logs, see:
https://copr-be.cloud.fedoraproject.org/results/cstratak/sphinx_3.0.0/fedora-rawhide-x86_64/01335426-python3-docs/

For all our attempts to build python3-docs with Sphinx 3.0.0, see:
https://copr.fedorainfracloud.org/coprs/cstratak/sphinx_3.0.0/package/python3-docs/

Testing and mass rebuild of packages is happening in copr. You can follow these instructions to test locally in mock if your package builds with Sphinx 3:
https://copr.fedorainfracloud.org/coprs/cstratak/sphinx_3.0.0/

Let us know here if you have any questions.

Sphinx 3 will be included in Fedora 33. To make that update smoother, we're building the dependent packages in Copr.
We'd appreciate help from the people who know this package best, but if you don't want to work on this now, let us know so we can try to work around it on our side.

Comment 1 Miro Hrončok 2020-04-14 21:12:10 UTC
Let's bring that upstream?

Comment 2 Charalampos Stratakis 2020-04-14 23:38:29 UTC
There is already an issue, which apparently the 3.0.1 release should have fixed, but possibly it didn't: https://bugs.python.org/issue40204

Comment 3 Charalampos Stratakis 2020-04-16 12:14:07 UTC
Upstream PR under review: https://github.com/python/cpython/pull/19397

Comment 4 Victor Stinner 2020-06-30 15:46:31 UTC
> Upstream PR under review: https://github.com/python/cpython/pull/19397

It only solves a small part of the problems raised by Sphinx 3.

--

The issue is being discussed at https://bugs.python.org/issue40204 There are many problems and multiple blockers issues. I don't know who can take decisions on blocker issues nor who can. The best that I can do is to ping a few people who might be able to take decisions. Examples of blocker issues:

* Fixing compatibility for Sphinx 3 drops support for Sphinx 2
* So far, I don't think that any Linux distribution uses Sphinx 3: otherwise, they would not be able to build the Python documentation. I don't think that Python can break Sphinx 2 support for all these Linux distributions.
* If the issue is solved in the Python master branch, should it be backported to 3.8 and 3.9 branches? Again, backporting would break Python distributions which are stuck at Sphinx 2. Not backporting will not fix python3-docs in Rawhide which is Python 3.9.

Comment 5 Miro Hrončok 2020-06-30 15:57:26 UTC
We'll update Sphinx to 3 and see what happens. We can ship pre-built docs or tag in Sphinx 2.2 for an updated build.

Thanks for the update.

Comment 6 Miro Hrončok 2020-06-30 16:31:30 UTC
Sphinx was updated to 3.1.1.

Comment 7 Julien Palard 2020-06-30 21:11:53 UTC
You can also try building Python documentation with Sphinx 3 by disabling warnings:

    make autobuild-dev-html SPHINXERRORHANDLING=

at first glance it looks to build OK, but a few cross-references are dropped, which is not optimal.

Comment 8 Petr Viktorin (pviktori) 2020-07-08 12:15:28 UTC
Sphinx pull request that should restore backwards compatibility: https://github.com/sphinx-doc/sphinx/pull/7905

Comment 9 Miro Hrončok 2020-07-21 17:44:51 UTC
A workaround:

$ git switch master
$ fedpkg request-side-tag
$ koji tag f33-build-side-XXXXX python-sphinx-2.2.2-4.fc33
$ koji wait-repo f33-build-side-XXXXX --build python-sphinx-2.2.2-4.fc33
$ fedpkg build --target=f33-build-side-XXXXX
$ koji untag f33-build-side-25703 python-sphinx-2.2.2-4.fc33
$ bodhi updates new --from-tag f33-build-side-XXXXX

-> https://bodhi.fedoraproject.org/updates/FEDORA-2020-1a01b4e135

Comment 10 Miro Hrončok 2020-08-04 23:18:23 UTC
The following builds were made after this report was opened: python3-docs-3.9.0~b1-1.fc33 python3-docs-3.9.0~b5-1.fc33

Comment 11 Miro Hrončok 2020-08-05 08:59:48 UTC
Unblocking F33FTBFS to prevent my script from closing this again.

Comment 12 Ben Cotton 2020-08-11 15:34:47 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 33 development cycle.
Changing version to 33.

Comment 13 Petr Viktorin (pviktori) 2020-09-02 12:08:29 UTC
Should be fixed in rc2 and the new Sphinx

Comment 14 Fedora Update System 2020-09-18 09:38:05 UTC
FEDORA-2020-78bb031321 has been submitted as an update to Fedora 33. https://bodhi.fedoraproject.org/updates/FEDORA-2020-78bb031321

Comment 15 Fedora Update System 2020-09-18 19:00:02 UTC
FEDORA-2020-78bb031321 has been pushed to the Fedora 33 testing repository.
In short time you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2020-78bb031321`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-78bb031321

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 16 Fedora Update System 2020-09-26 00:14:40 UTC
FEDORA-2020-78bb031321 has been pushed to the Fedora 33 stable repository.
If problem still persists, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.