releases icon indicating copy to clipboard operation
releases copied to clipboard

1.6.3: issue with man page generation using sphinx

Open kloczek opened this issue 3 years ago • 3 comments

Just found that I'm not able to generate man page in sphinx-theme-alabaster python module (https://github.com/bitprophet/alabaster/)

+ sphinx-build -b man -d sphinx-theme-alabaster docs .
Running Sphinx v3.5.3
building [mo]: targets for 0 po files that are out of date
building [man]: all manpages
updating environment: [new config] 4 added, 0 changed, 0 removed
reading sources... [ 25%] changelog
Extension error (releases):
Handler <function generate_changelog at 0x7f85d9b5eee0> for event 'doctree-read' threw an exception (exception: Call either Version('1.2.3') or Version(major=1, ...).)

kloczek avatar Apr 26 '21 11:04 kloczek

ping .. Just tested that with latest sphinx and it still fails

+ /usr/bin/python3 setup.py build_sphinx -b man --build-dir build/sphinx
running build_sphinx
Running Sphinx v4.1.1
making output directory... done
building [mo]: targets for 0 po files that are out of date
building [man]: all manpages
updating environment: [new config] 4 added, 0 changed, 0 removed
reading sources... [ 25%] changelog
Extension error (releases):
Handler <function generate_changelog at 0x7fca0f4949d0> for event 'doctree-read' threw an exception (exception: Call either Version('1.2.3') or Version(major=1, ...).)

kloczek avatar Aug 03 '21 20:08 kloczek

Gentle ping 😄 Updated output with latest sphinx

+ /usr/bin/sphinx-build -n -T -b man docs build/sphinx/man
Running Sphinx v4.5.0
making output directory... done
building [mo]: targets for 0 po files that are out of date
building [man]: all manpages
updating environment: [new config] 4 added, 0 changed, 0 removed
reading sources... [ 25%] changelog
Traceback (most recent call last):
  File "/usr/lib/python3.8/site-packages/sphinx/events.py", line 94, in emit
    results.append(listener.handler(self.app, *args))
  File "/home/tkloczko/rpmbuild/BUILD/releases-1.6.3/releases/__init__.py", line 612, in generate_changelog
    doctree.walk(changelog_visitor)
  File "/usr/lib/python3.8/site-packages/docutils/nodes.py", line 191, in walk
    if child.walk(visitor):
  File "/usr/lib/python3.8/site-packages/docutils/nodes.py", line 191, in walk
    if child.walk(visitor):
  File "/usr/lib/python3.8/site-packages/docutils/nodes.py", line 183, in walk
    visitor.dispatch_visit(self)
  File "/usr/lib/python3.8/site-packages/docutils/nodes.py", line 2021, in dispatch_visit
    return method(node)
  File "/home/tkloczko/rpmbuild/BUILD/releases-1.6.3/releases/__init__.py", line 595, in visit_bullet_list
    releases, _ = construct_releases(node.children, self.app)
  File "/home/tkloczko/rpmbuild/BUILD/releases-1.6.3/releases/__init__.py", line 521, in construct_releases
    construct_entry_without_release(focus, issues, manager, log, rest)
  File "/home/tkloczko/rpmbuild/BUILD/releases-1.6.3/releases/__init__.py", line 405, in construct_entry_without_release
    focus.add_to_manager(manager)
  File "/home/tkloczko/rpmbuild/BUILD/releases-1.6.3/releases/models.py", line 136, in add_to_manager
    families = [Version(str(x)) for x in manager]
  File "/home/tkloczko/rpmbuild/BUILD/releases-1.6.3/releases/models.py", line 136, in <listcomp>
    families = [Version(str(x)) for x in manager]
  File "/home/tkloczko/rpmbuild/BUILD/releases-1.6.3/releases/models.py", line 14, in __init__
    super(Version, self).__init__(version_string, partial)
  File "/usr/lib/python3.8/site-packages/semantic_version/base.py", line 102, in __init__
    raise ValueError("Call either Version('1.2.3') or Version(major=1, ...).")
ValueError: Call either Version('1.2.3') or Version(major=1, ...).

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/lib/python3.8/site-packages/sphinx/cmd/build.py", line 276, in build_main
    app.build(args.force_all, filenames)
  File "/usr/lib/python3.8/site-packages/sphinx/application.py", line 330, in build
    self.builder.build_update()
  File "/usr/lib/python3.8/site-packages/sphinx/builders/__init__.py", line 283, in build_update
    self.build(['__all__'], to_build)
  File "/usr/lib/python3.8/site-packages/sphinx/builders/__init__.py", line 300, in build
    updated_docnames = set(self.read())
  File "/usr/lib/python3.8/site-packages/sphinx/builders/__init__.py", line 407, in read
    self._read_serial(docnames)
  File "/usr/lib/python3.8/site-packages/sphinx/builders/__init__.py", line 428, in _read_serial
    self.read_doc(docname)
  File "/usr/lib/python3.8/site-packages/sphinx/builders/__init__.py", line 468, in read_doc
    doctree = read_doc(self.app, self.env, self.env.doc2path(docname))
  File "/usr/lib/python3.8/site-packages/sphinx/io.py", line 181, in read_doc
    pub.publish()
  File "/usr/lib/python3.8/site-packages/docutils/core.py", line 219, in publish
    self.apply_transforms()
  File "/usr/lib/python3.8/site-packages/docutils/core.py", line 200, in apply_transforms
    self.document.transformer.apply_transforms()
  File "/usr/lib/python3.8/site-packages/sphinx/transforms/__init__.py", line 79, in apply_transforms
    super().apply_transforms()
  File "/usr/lib/python3.8/site-packages/docutils/transforms/__init__.py", line 171, in apply_transforms
    transform.apply(**kwargs)
  File "/usr/lib/python3.8/site-packages/sphinx/transforms/__init__.py", line 380, in apply
    self.app.emit('doctree-read', self.document)
  File "/usr/lib/python3.8/site-packages/sphinx/application.py", line 440, in emit
    return self.events.emit(event, *args, allowed_exceptions=allowed_exceptions)
  File "/usr/lib/python3.8/site-packages/sphinx/events.py", line 102, in emit
    raise ExtensionError(__("Handler %r for event %r threw an exception") %
sphinx.errors.ExtensionError: Handler <function generate_changelog at 0x7f508fc20b80> for event 'doctree-read' threw an exception (exception: Call either Version('1.2.3') or Version(major=1, ...).)

Extension error (releases):
Handler <function generate_changelog at 0x7f508fc20b80> for event 'doctree-read' threw an exception (exception: Call either Version('1.2.3') or Version(major=1, ...).)

kloczek avatar May 01 '22 16:05 kloczek

Just tested 2.1.1 and sphinx 7.0.1 still fails in releases code

+ /usr/bin/sphinx-build -n -T -b man docs build/sphinx/man
Running Sphinx v7.0.1
making output directory... done
building [mo]: targets for 0 po files that are out of date
writing output...
building [man]: all manpages
updating environment: [new config] 4 added, 0 changed, 0 removed
reading sources... [100%] usage
looking for now-outdated files... none found
pickling environment... done
checking consistency... done
writing... python--releases.3 { concepts usage changelog } /home/tkloczko/rpmbuild/BUILD/releases-2.1.1/docs/changelog.rst:5: WARNING: unknown node type: <release 2.1.1>
failed

Traceback (most recent call last):
  File "/usr/lib/python3.8/site-packages/sphinx/cmd/build.py", line 285, in build_main
    app.build(args.force_all, args.filenames)
  File "/usr/lib/python3.8/site-packages/sphinx/application.py", line 351, in build
    self.builder.build_update()
  File "/usr/lib/python3.8/site-packages/sphinx/builders/__init__.py", line 291, in build_update
    self.build(['__all__'], to_build)
  File "/usr/lib/python3.8/site-packages/sphinx/builders/__init__.py", line 361, in build
    self.write(docnames, list(updated_docnames), method)
  File "/usr/lib/python3.8/site-packages/sphinx/util/display.py", line 85, in wrapper
    return f(*args, **kwargs)
  File "/usr/lib/python3.8/site-packages/sphinx/builders/manpage.py", line 101, in write
    docwriter.write(largetree, destination)
  File "/usr/lib/python3.8/site-packages/docutils/writers/__init__.py", line 80, in write
    self.translate()
  File "/usr/lib/python3.8/site-packages/sphinx/writers/manpage.py", line 33, in translate
    self.document.walkabout(visitor)
  File "/usr/lib/python3.8/site-packages/docutils/nodes.py", line 186, in walkabout
    if child.walkabout(visitor):
  File "/usr/lib/python3.8/site-packages/docutils/nodes.py", line 186, in walkabout
    if child.walkabout(visitor):
  File "/usr/lib/python3.8/site-packages/docutils/nodes.py", line 186, in walkabout
    if child.walkabout(visitor):
  [Previous line repeated 6 more times]
  File "/usr/lib/python3.8/site-packages/docutils/nodes.py", line 199, in walkabout
    visitor.dispatch_departure(self)
  File "/usr/lib/python3.8/site-packages/sphinx/util/docutils.py", line 592, in dispatch_departure
    super().dispatch_departure(node)
  File "/usr/lib/python3.8/site-packages/docutils/nodes.py", line 2019, in dispatch_departure
    return method(node)
  File "/usr/lib/python3.8/site-packages/docutils/nodes.py", line 2041, in unknown_departure
    raise NotImplementedError(
NotImplementedError: <class 'sphinx.writers.manpage.ManualPageTranslator'> departing unknown node type: Release

Exception occurred:
  File "/usr/lib/python3.8/site-packages/docutils/nodes.py", line 2041, in unknown_departure
    raise NotImplementedError(
NotImplementedError: <class 'sphinx.writers.manpage.ManualPageTranslator'> departing unknown node type: Release
The full traceback has been saved in /tmp/sphinx-err-jpts2bcv.log, if you want to report the issue to the developers.
Please also report this if it was a user error, so that a better error message can be provided next time.
A bug report can be filed in the tracker at <https://github.com/sphinx-doc/sphinx/issues>. Thanks!
[tkloczko@pers-jacek build]$ cat /tmp/sphinx-err-jpts2bcv.log
# Platform:         linux; (Linux-6.3.8-200.fc38.x86_64-x86_64-with-glibc2.34)
# Sphinx version:   7.0.1
# Python version:   3.8.17 (CPython)
# Docutils version: 0.20.1
# Jinja2 version:   3.1.2
# Pygments version: 2.16.0

# Last messages:
#   done
#   checking consistency...
#   done
#   writing...
#   python--releases.3 {
#   concepts
#   usage
#   changelog
#   }
#   failed

# Loaded extensions:
#   sphinx.ext.mathjax (7.0.1)
#   alabaster (0.7.13)
#   sphinxcontrib.applehelp (1.0.4)
#   sphinxcontrib.devhelp (1.0.2)
#   sphinxcontrib.htmlhelp (2.0.3)
#   sphinxcontrib.serializinghtml (1.1.9)
#   sphinxcontrib.qthelp (1.0.3)
#   releases (2.1.1)

# Traceback:
Traceback (most recent call last):
  File "/usr/lib/python3.8/site-packages/sphinx/cmd/build.py", line 285, in build_main
    app.build(args.force_all, args.filenames)
  File "/usr/lib/python3.8/site-packages/sphinx/application.py", line 351, in build
    self.builder.build_update()
  File "/usr/lib/python3.8/site-packages/sphinx/builders/__init__.py", line 291, in build_update
    self.build(['__all__'], to_build)
  File "/usr/lib/python3.8/site-packages/sphinx/builders/__init__.py", line 361, in build
    self.write(docnames, list(updated_docnames), method)
  File "/usr/lib/python3.8/site-packages/sphinx/util/display.py", line 85, in wrapper
    return f(*args, **kwargs)
  File "/usr/lib/python3.8/site-packages/sphinx/builders/manpage.py", line 101, in write
    docwriter.write(largetree, destination)
  File "/usr/lib/python3.8/site-packages/docutils/writers/__init__.py", line 80, in write
    self.translate()
  File "/usr/lib/python3.8/site-packages/sphinx/writers/manpage.py", line 33, in translate
    self.document.walkabout(visitor)
  File "/usr/lib/python3.8/site-packages/docutils/nodes.py", line 186, in walkabout
    if child.walkabout(visitor):
  File "/usr/lib/python3.8/site-packages/docutils/nodes.py", line 186, in walkabout
    if child.walkabout(visitor):
  File "/usr/lib/python3.8/site-packages/docutils/nodes.py", line 186, in walkabout
    if child.walkabout(visitor):
  [Previous line repeated 6 more times]
  File "/usr/lib/python3.8/site-packages/docutils/nodes.py", line 199, in walkabout
    visitor.dispatch_departure(self)
  File "/usr/lib/python3.8/site-packages/sphinx/util/docutils.py", line 592, in dispatch_departure
    super().dispatch_departure(node)
  File "/usr/lib/python3.8/site-packages/docutils/nodes.py", line 2019, in dispatch_departure
    return method(node)
  File "/usr/lib/python3.8/site-packages/docutils/nodes.py", line 2041, in unknown_departure
    raise NotImplementedError(
NotImplementedError: <class 'sphinx.writers.manpage.ManualPageTranslator'> departing unknown node type: Release

kloczek avatar Aug 31 '23 13:08 kloczek