pbr incompatible with sphinx 1.3b1

Bug #1379998 reported by Steve Martinelli on 2014-10-11
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Ian Y. Choi

Bug Description

sphinx 1.3b1 was released on oct 9th, seems to be causing issues

Seen here: http://logs.openstack.org/16/120316/6/gate/gate-oslotest-docs/2d65dbe/console.html

2014-10-10 22:20:03.512 | running build_sphinx
2014-10-10 22:20:03.512 | creating /home/jenkins/workspace/gate-oslotest-docs/doc/build/doctrees
2014-10-10 22:20:03.513 | creating /home/jenkins/workspace/gate-oslotest-docs/doc/build/html
2014-10-10 22:20:03.513 | Traceback (most recent call last):
2014-10-10 22:20:03.514 | File "setup.py", line 30, in <module>
2014-10-10 22:20:03.514 | pbr=True)
2014-10-10 22:20:03.514 | File "/usr/lib/python2.7/distutils/core.py", line 151, in setup
2014-10-10 22:20:03.516 | dist.run_commands()
2014-10-10 22:20:03.516 | File "/usr/lib/python2.7/distutils/dist.py", line 953, in run_commands
2014-10-10 22:20:03.525 | self.run_command(cmd)
2014-10-10 22:20:03.525 | File "/usr/lib/python2.7/distutils/dist.py", line 972, in run_command
2014-10-10 22:20:03.525 | cmd_obj.run()
2014-10-10 22:20:03.526 | File "/home/jenkins/workspace/gate-oslotest-docs/.tox/venv/local/lib/python2.7/site-packages/pbr/packaging.py", line 754, in run
2014-10-10 22:20:03.526 | self._sphinx_run()
2014-10-10 22:20:03.526 | File "/home/jenkins/workspace/gate-oslotest-docs/.tox/venv/local/lib/python2.7/site-packages/pbr/packaging.py", line 705, in _sphinx_run
2014-10-10 22:20:03.526 | sphinx_config.init_values()
2014-10-10 22:20:03.527 | TypeError: init_values() takes exactly 2 arguments (1 given)
2014-10-10 22:20:03.549 | ERROR: InvocationError: '/home/jenkins/workspace/gate-oslotest-docs/.tox/venv/bin/python setup.py build_sphinx'

Doug Hellmann (doug-hellmann) wrote :

Added pbr since it looks like we need to change how we call sphinx.

In https://review.openstack.org/127754 I fix the install_command in the oslotest directory.

https://review.openstack.org/#/c/127712/ pins the requirement for now.

Changed in oslotest:
status: New → In Progress
assignee: nobody → Doug Hellmann (doug-hellmann)
milestone: none → next-kilo
importance: Undecided → High
Jeremy Stanley (fungi) wrote :

Was this actually impacting other projects, or just oslotest?

Jeremy Stanley (fungi) wrote :

With a current version of tox, running 'tox -e pep8' in an up to date checkout of openstacl/oslotest's master branch reveals that cmdargs did 'pip install --pre -r requirements.txt -r test-requirements.txt' which would explain why oslotest tox runs are ending up with a beta of Sphinx (normally we don't use --pre). This seems to be because oslosphinx doesn't override install_command in its tox.ini.

Changed in oslotest:
assignee: Doug Hellmann (doug-hellmann) → Jeremy Stanley (fungi)
Jeremy Stanley (fungi) on 2014-10-11
Changed in oslotest:
assignee: Jeremy Stanley (fungi) → nobody
Jeremy Stanley (fungi) wrote :

I missed that my https://review.openstack.org/127794 change is actually the same as the one Doug already proposed in https://review.openstack.org/127754 and so have abandoned it.

I've proposed an optional revert of the unnecessary openstack/requirements change in https://review.openstack.org/127803 but testing indicates that at least pip does not factor != prerelease versions into its determination of whether it should consider prereleases sufficient to satisfy positive inclusive requirements, so while unnecessary the requirements pin is at least safe. As it's already merged and caused requirements update proposals to go out to all projects, I'm abandoning the revert in an attempt not to generate further unnecessary churn on those reviews.

Changed in oslotest:
status: In Progress → Fix Committed
Changed in oslotest:
status: Fix Committed → Fix Released
summary: - sphinx 1.3b1 breaks the world
+ pbr incompatible with sphinx 1.3b1
Changed in pbr:
importance: Undecided → Medium
status: New → Triaged

Fix proposed to branch: master
Review: https://review.openstack.org/187672

Changed in pbr:
assignee: nobody → Thomas Bechtold (toabctl)
status: Triaged → In Progress

Reviewed: https://review.openstack.org/187672
Committed: https://git.openstack.org/cgit/openstack-dev/pbr/commit/?id=1dfe9ef348c777bef67b2c2b1d35e50ebc720333
Submitter: Jenkins
Branch: master

commit 1dfe9ef348c777bef67b2c2b1d35e50ebc720333
Author: Thomas Bechtold <email address hidden>
Date: Tue Jun 2 18:40:38 2015 +0200

    Remove sphinx_config.init_values() manual call

    The function signature for Sphinx's config.init_values() changed since
    version 1.3. That leads to:

    TypeError: init_values() takes exactly 2 arguments (1 given)

    But the function is already correctly called from
    application.Sphinx()'s constructor. So use the configuration object
    from the application instead of creating an own config object.

    Change-Id: I343c26560bfe5116d5348b50b1890b3442ed845a
    Closes-Bug: #1379998

Changed in pbr:
status: In Progress → Fix Committed
Changed in pbr:
status: Fix Committed → In Progress
Changed in pbr:
status: In Progress → Fix Committed
Thomas Bechtold (toabctl) wrote :

This commit was reverted and is still in review. See https://review.openstack.org/#/c/193462/ . Please set the status back to "In Progress".

Antoine "hashar" Musso (hashar) wrote :

Changed pbr status to confirmed.

Changed in pbr:
status: Fix Committed → Confirmed
Matthew Pounsett (g-matt-l) wrote :

This is also blocking compilation of the virtualenvwrapper package on, at least, FreeBSD:

22:06:15 (504) % sudo make
===> Building for py27-virtualenvwrapper-4.3.2
running build_sphinx
[pbr] Generating AUTHORS
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "setup.py", line 7, in <module>
  File "/usr/local/lib/python2.7/distutils/core.py", line 151, in setup
  File "/usr/local/lib/python2.7/distutils/dist.py", line 953, in run_commands
  File "/usr/local/lib/python2.7/distutils/dist.py", line 972, in run_command
  File "/usr/local/lib/python2.7/site-packages/pbr/builddoc.py", line 189, in run
  File "/usr/local/lib/python2.7/site-packages/pbr/builddoc.py", line 133, in _sphinx_run
TypeError: init_values() takes exactly 2 arguments (1 given)
*** [do-build] Error code 1

Stop in /usr/ports/devel/py-virtualenvwrapper.
*** [stage] Error code 1

Stop in /usr/ports/devel/py-virtualenvwrapper.

Change abandoned by Thomas Bechtold (<email address hidden>) on branch: master
Review: https://review.openstack.org/193462
Reason: Fixed by http://git.openstack.org/cgit/openstack-dev/pbr/commit/?id=e19572e2d10107ad316d81f90a4310268faac387 .

But without tests and warnings disabled. Anyway - at least newer Sphinx versions are working now.

Fix proposed to branch: master
Review: https://review.openstack.org/243065

Changed in pbr:
assignee: Thomas Bechtold (toabctl) → Ian Y. Choi (ianychoi)
status: Confirmed → In Progress

Reviewed: https://review.openstack.org/243065
Committed: https://git.openstack.org/cgit/openstack-dev/pbr/commit/?id=a5d46d5ce7b690997fee7601d459231e05b965dd
Submitter: Jenkins
Branch: master

commit a5d46d5ce7b690997fee7601d459231e05b965dd
Author: Ian Y. Choi <email address hidden>
Date: Mon Nov 9 21:14:47 2015 +0900

    More support Sphinx >=1.3b1 and <1.3.1

    Although https://review.openstack.org/#/c/171309/
    says Sphinx >=1.3, the actual implementation does not
    support Sphinx >=1.3b1 and 1.3.1.
    I have seen Sphinx release notes and source codes for
    those versions, and found that up to 1.2.3 used
    init_values(self) and Sphinx from 1.3b1 used
    init_values(self, warn).

    So to change the code from >=1.3.1 to >1.2.3, it can
    more support Sphinx >=1.3b1 and <1.3.1.

    Change-Id: Ia73be8111d3af7f72aaf640e4c7c519a5d0b08c5
    Partial-Bug: #1379998
    Related-Bug: #1496882

Ian Y. Choi (ianychoi) wrote :

IMO, https://review.openstack.org/#/c/171309/ already fixed pbr incompatiblity with sphinx 1.3b1, and
the mentioned review https://review.openstack.org/#/c/193462/ was abandoned because of https://review.openstack.org/#/c/171309/ .

Since pbr 1.8.1 is already released and included that fix, I think this bug does not affect anymore.

Just note that my partial bug fix is for more support on Sphinx >=1.3b1 and <1.3.1.

Please change the bug status if those fixes did not solve this bug.

Changed in pbr:
status: In Progress → Fix Released

Reviewed: https://review.openstack.org/413795
Committed: https://git.openstack.org/cgit/openstack-dev/pbr/commit/?id=9fd7aa2cc7fe50f68bd9c86c3db7a8f7ae710c05
Submitter: Jenkins
Branch: master

commit 9fd7aa2cc7fe50f68bd9c86c3db7a8f7ae710c05
Author: Dirk Mueller <email address hidden>
Date: Wed Dec 21 23:29:52 2016 +0100

    Don't raise exception on missing man pages

    The revert in Ia6cfbfe5b10a5b714fbb9f21ca61380aaf231638 actually
    broke Sphinx 1.3.x support again. Try to fix it for real this
    time by avoiding an exception on missing man_pages.

    NOTE(dmllr): don't change dict while iterating over it, hopefully
    this fixes the gating failure with python 3.5.x

    Change-Id: I52d45fa0a0d42de690d3a492068f7bb03483a224
    Related-Bug: 1379998

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers