classification
Title: backported patch requires new sphinx, minimum sphinx version was not bumped
Type: Stage: resolved
Components: Build, Documentation Versions: Python 3.6
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: mdk Nosy List: Anthony Sottile, docs@python, mdk, ned.deily, steve.dower
Priority: low Keywords: easy, patch, patch, patch

Created on 2018-12-28 17:00 by Anthony Sottile, last changed 2019-07-03 22:43 by ned.deily. This issue is now closed.

Pull Requests
URL Status Linked Edit
PR 11368 merged Anthony Sottile, 2018-12-30 17:59
PR 11368 merged Anthony Sottile, 2018-12-30 17:59
PR 11368 merged Anthony Sottile, 2018-12-30 17:59
PR 12413 merged mdk, 2019-03-18 15:43
PR 14576 merged Anthony Sottile, 2019-07-03 22:00
Messages (17)
msg332665 - (view) Author: Anthony Sottile (Anthony Sottile) * Date: 2018-12-28 17:00
Noticed this while packaging 3.6.8 for deadsnakes (ubuntu ppa)

This patch: https://github.com/python/cpython/pull/11251

Requires a version of sphinx where `sphinx.util.logging.getLogger` is available.  It appears that the first version which that was available was 1.6: https://github.com/sphinx-doc/sphinx/commit/6d4e6454093953943e79d4db6efeb17390870e62#diff-db360b033c6011189d978db1a4b7dcb7

For example, on ubuntu xenial (16.04) the newest packaged version of python3-sphinx available is 1.3.6 (released 2016-02) which satisfies the "minimum version": https://github.com/python/cpython/blob/3c6b436a57893dd1fae4e072768f41a199076252/Doc/conf.py#L36-L37

I hacked around it in this case by just using `logging.getLogger`: https://github.com/deadsnakes/python3.6/commit/9ba2234f35087a4bf67e3aecf2bd8dd0e3f67186

I'm not sure what the right answer is here, bumping the minimum version will make it _harder_ for packagers -- though I understand continuing to support old (2 years ago) things can be cumbersome.
msg332666 - (view) Author: Anthony Sottile (Anthony Sottile) * Date: 2018-12-28 17:02
oops, pressed the button too quickly, meant to mention that sphinx 1.6 was released 2017-05
msg332675 - (view) Author: Steve Dower (steve.dower) * (Python committer) Date: 2018-12-28 19:13
We need Ned's approval to fix anything in 3.6 now. Typically we do consider build issues, and this one is fairly innocent (the affected code should only be used on Windows, but the import may trigger elsewhere).

I'd be happy to take a patch to use logging when the sphinx one is not found. We more or less enforce a newer version of Sphinx on the platforms where it matters, but for those restricted by their distros we can pretty easily help out.
msg332677 - (view) Author: Ned Deily (ned.deily) * (Python committer) Date: 2018-12-28 20:00
I would view this as a build regression in 3.6.8 so I would accept a fix for the 3.6 branch.
msg332680 - (view) Author: Anthony Sottile (Anthony Sottile) * Date: 2018-12-28 21:16
If I add a patch which is essentially:


try:  # sphinx>=1.6
    from sphinx.util.logging import getLogger
except ImportError:  # sphinx<1.6
    from logging import getLogger

will that be fine?

and should I open that against 3.7 to be backported or just against 3.6 (I also ran into the same issue when backporting 3.7.2 for xenial -- but there I adjusted the minimum sphinx version: https://github.com/deadsnakes/python3.7/commit/c27b89bc7032d0b072b46c7425e5b32788f1c0fd )
msg332681 - (view) Author: Steve Dower (steve.dower) * (Python committer) Date: 2018-12-28 22:00
I think we're okay to increase the minimum version on the active branches.
msg332682 - (view) Author: Anthony Sottile (Anthony Sottile) * Date: 2018-12-28 22:06
I assume that means I should only target 3.6 -- does the patch look like the right approach? I can make a PR
msg332685 - (view) Author: Ned Deily (ned.deily) * (Python committer) Date: 2018-12-28 23:01
Julien (@mdk) is the doc builds expert.
msg332736 - (view) Author: Julien Palard (mdk) * (Python committer) Date: 2018-12-29 22:00
The patch (try/except) to make https://github.com/python/cpython/pull/11251/files work with what Doc/conf.py says about minimum sphinx version (1.2) is OK for me.

No need to apply it on 3.7 which needs_sphinx 1.6.6 according to its Doc/conf.py.
msg332944 - (view) Author: Anthony Sottile (Anthony Sottile) * Date: 2019-01-03 19:50
I also had to update the patch for sphinx.util.status_iterator which was also introduced in sphinx 1.6
msg334802 - (view) Author: Ned Deily (ned.deily) * (Python committer) Date: 2019-02-03 23:22
New changeset 9bacdce451618a5f0bf62cb1b6f966ebde0492c6 by Ned Deily (Anthony Sottile) in branch '3.6':
[3.6] bpo-35605: Fix documentation build for sphinx<1.6 (GH-11368)
https://github.com/python/cpython/commit/9bacdce451618a5f0bf62cb1b6f966ebde0492c6
msg334803 - (view) Author: Ned Deily (ned.deily) * (Python committer) Date: 2019-02-03 23:26
I agree that this can go into 3.6. Thanks, everyone!
msg338275 - (view) Author: Julien Palard (mdk) * (Python committer) Date: 2019-03-18 18:11
New changeset 869652b426bb34a30ce7b39f0a0ac242ed5b1016 by Julien Palard in branch '2.7':
[2.7] bpo-35605: Fix documentation build for sphinx<1.6 (GH-12413)
https://github.com/python/cpython/commit/869652b426bb34a30ce7b39f0a0ac242ed5b1016
msg347242 - (view) Author: Anthony Sottile (Anthony Sottile) * Date: 2019-07-03 21:52
This has regressed again -- I'll make another patch
msg347244 - (view) Author: Steve Dower (steve.dower) * (Python committer) Date: 2019-07-03 22:14
Your PR is against 3.6 - is that intentional?
msg347245 - (view) Author: Anthony Sottile (Anthony Sottile) * Date: 2019-07-03 22:25
yes, as was the original PR
msg347246 - (view) Author: Ned Deily (ned.deily) * (Python committer) Date: 2019-07-03 22:43
Thanks for the additional PR.  Accepted for post-3.6.9 (PR 14576, commit a6d97e200863e7e5fc60bbc8f121b86a2098ef2d - message AWOL?)
History
Date User Action Args
2019-07-03 22:43:34ned.deilysetkeywords: patch, patch, patch, easy

messages: + msg347246
2019-07-03 22:40:37ned.deilysetkeywords: patch, patch, patch, easy
status: open -> closed
resolution: fixed
stage: resolved
2019-07-03 22:25:44Anthony Sottilesetmessages: + msg347245
2019-07-03 22:14:57steve.dowersetstatus: closed -> open
messages: + msg347244

keywords: patch, patch, patch, easy
resolution: fixed -> (no value)
stage: resolved -> (no value)
2019-07-03 22:00:37Anthony Sottilesetpull_requests: + pull_request14395
2019-07-03 21:52:30Anthony Sottilesetmessages: + msg347242
2019-03-18 18:11:34mdksetmessages: + msg338275
2019-03-18 15:43:07mdksetpull_requests: + pull_request12367
2019-02-03 23:26:51ned.deilysetstatus: open -> closed
messages: + msg334803

keywords: patch, patch, patch, easy
resolution: fixed
stage: patch review -> resolved
2019-02-03 23:22:56ned.deilysetmessages: + msg334802
2019-01-03 19:50:48Anthony Sottilesetmessages: + msg332944
2018-12-30 17:59:31Anthony Sottilesetkeywords: + patch
stage: patch review
pull_requests: + pull_request10706
2018-12-30 17:59:24Anthony Sottilesetkeywords: + patch
stage: (no value)
pull_requests: + pull_request10705
2018-12-30 17:59:17Anthony Sottilesetkeywords: + patch
stage: (no value)
pull_requests: + pull_request10704
2018-12-29 22:00:06mdksetmessages: + msg332736
2018-12-28 23:01:33ned.deilysetassignee: docs@python -> mdk
messages: + msg332685
2018-12-28 22:06:12Anthony Sottilesetmessages: + msg332682
2018-12-28 22:00:48steve.dowersetmessages: + msg332681
2018-12-28 21:16:57Anthony Sottilesetmessages: + msg332680
2018-12-28 20:00:35ned.deilysetmessages: + msg332677
2018-12-28 19:13:13steve.dowersetpriority: normal -> low

nosy: + ned.deily
messages: + msg332675

keywords: + easy
2018-12-28 17:09:40xtreaksetnosy: + steve.dower, mdk
2018-12-28 17:02:28Anthony Sottilesetmessages: + msg332666
2018-12-28 17:00:36Anthony Sottilecreate