Bug 1690057

Summary: python-execnet-1.5.0-6.fc31 FTBFS due to sphinx and apipkg issues
Product: [Fedora] Fedora Reporter: Ken Dreyer (Red Hat) <kdreyer>
Component: python-execnetAssignee: Ken Dreyer (Red Hat) <kdreyer>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: ktdreyer, mhroncok, thomas.moschny
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: python-execnet-1.5.0-7.fc31 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-03-20 22:07:25 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1685211    

Description Ken Dreyer (Red Hat) 2019-03-18 17:01:04 UTC
Description of problem:
execnet currently fails to build from source in Rawhide.

Version-Release number of selected component (if applicable):
python-execnet-1.5.0-6.fc31

How reproducible:
always

Steps to Reproduce:
1. fedpkg clone python-execnet
2. cd python-execnet
2. fedpkg mockbuild

Actual results:
The package fails to build

Expected results:
The package builds successfully for Rawhide

Additional info:
The first problem is that the package tries to build the docs with Sphinx on Python 2. /usr/bin/sphinx-build-2 is no longer available in Rawhide: https://fedoraproject.org/wiki/Changes/Sphinx2

However, even after removing the Sphinx parts of the package build entirely, the package still fails to pass the test suite on Python 2 or 3. We need this commit from upstream: https://github.com/pytest-dev/execnet/commit/a59f30af7cfbeed4666cc978913dfde66ca9f571

Comment 1 Ken Dreyer (Red Hat) 2019-03-18 17:10:50 UTC
I've had to disable Sphinx on both Python 2 and Python 3 for now. Here's the error I'm getting with py3:

+ make -C doc html PYTHONPATH=/builddir/build/BUILD/execnet-1.5.0/python3 SPHINXBUILD=sphinx-build-3
make: Entering directory '/builddir/build/BUILD/execnet-1.5.0/python3/doc'
sphinx-build-3 -b html -d _build/doctrees   . _build/html
Running Sphinx v2.0.0b1
making output directory... done
building [mo]: targets for 0 po files that are out of date
building [html]: targets for 14 source files that are out of date
updating environment: 14 added, 0 changed, 0 removed
reading sources... [  7%] basics
reading sources... [ 14%] changelog
reading sources... [ 21%] example/hybridpython
reading sources... [ 28%] example/test_debug
reading sources... [ 35%] example/test_group
reading sources... [ 42%] example/test_info
reading sources... [ 50%] example/test_multi
reading sources... [ 57%] example/test_proxy
reading sources... [ 64%] example/test_ssh_fileserver
reading sources... [ 71%] examples
reading sources... [ 78%] implnotes
reading sources... [ 85%] index
reading sources... [ 92%] install
reading sources... [100%] support

looking for now-outdated files... none found
pickling environment... done
checking consistency... done
preparing documents... done
writing output... [  7%] basics
writing output... [ 14%] changelog
writing output... [ 21%] example/hybridpython
writing output... [ 28%] example/test_debug
writing output... [ 35%] example/test_group
writing output... [ 42%] example/test_info
writing output... [ 50%] example/test_multi
writing output... [ 57%] example/test_proxy
writing output... [ 64%] example/test_ssh_fileserver
writing output... [ 71%] examples
writing output... [ 78%] implnotes
writing output... [ 85%] index

Theme error:
An error happened in rendering the page index.
Reason: TemplateNotFound()
make: Leaving directory '/builddir/build/BUILD/execnet-1.5.0/python3/doc'
make: *** [Makefile:37: html] Error 2

Comment 2 Ken Dreyer (Red Hat) 2019-03-18 19:04:48 UTC
Here's my update, if you want to review before I push to master: https://src.fedoraproject.org/rpms/python-execnet/pull-request/2

Comment 3 Ken Dreyer (Red Hat) 2019-03-18 20:22:41 UTC
When I comment out these lines in https://github.com/pytest-dev/execnet/blob/v1.5.0/doc/conf.py#L100-L102 , I can build the execnet docs with python3-sphinx-2.0.0~b1-1.fc31:

html_sidebars = {
    'index': 'indexsidebar.html',
}

Comment 4 Ken Dreyer (Red Hat) 2019-03-18 20:24:56 UTC
http://www.sphinx-doc.org/en/master/usage/configuration.html#confval-html_sidebars has a clue:

"Deprecated since version 1.7: a single string value for html_sidebars will be removed in 2.0"

When I change that to a list, it works:

html_sidebars = {
    'index': ['indexsidebar.html'],
}

Comment 5 Ken Dreyer (Red Hat) 2019-03-18 20:53:36 UTC
I've pushed this change upstream at https://github.com/pytest-dev/execnet/pull/94