I got as far as this collection of patches: https://paste.ubuntu.com/p/wvRzpByDXT/ : --- a/docsrc/exts/sphinxlocal/writers/manpage.py +++ b/docsrc/exts/sphinxlocal/writers/manpage.py @@ -14,7 +14,6 @@ from docutils import nodes from sphinx.writers.manpage import ( - MACRO_DEF, ManualPageWriter, ManualPageTranslator as BaseTranslator ) @@ -73,9 +72,6 @@ self._docinfo['version'] = builder.config.version self._docinfo['manual_group'] = builder.config.project - # since self.append_header() is never called, need to do this here - self.body.append(MACRO_DEF) - # overwritten -- don't wrap literal_block with font calls self.defs['literal_block'] = ('.sp\n.nf\n', '\n.fi\n') --- a/docsrc/exts/sphinxlocal/writers/manpage.py +++ b/docsrc/exts/sphinxlocal/writers/manpage.py @@ -13,6 +13,8 @@ """ from docutils import nodes +from time import strftime + from sphinx.writers.manpage import ( ManualPageWriter, ManualPageTranslator as BaseTranslator @@ -21,7 +23,6 @@ from sphinx import addnodes from sphinx.locale import admonitionlabels, _ -from sphinx.util.osutil import ustrftime class CyrusManualPageWriter(ManualPageWriter): @@ -66,7 +67,7 @@ if builder.config.today: self._docinfo['date'] = builder.config.today else: - self._docinfo['date'] = ustrftime(builder.config.today_fmt + self._docinfo['date'] = strftime(builder.config.today_fmt or _('%B %d, %Y')) self._docinfo['copyright'] = builder.config.copyright self._docinfo['version'] = builder.config.version diff --git a/docsrc/exts/sphinxlocal/roles/saslman.py b/docsrc/exts/sphinxlocal/roles/saslman.py index f881d98f..bcafeece 100644 --- a/docsrc/exts/sphinxlocal/roles/saslman.py +++ b/docsrc/exts/sphinxlocal/roles/saslman.py @@ -18,7 +18,6 @@ from string import Template import re def setup(app): - app.info('Initializing saslman plugin') app.add_crossref_type('saslman', 'saslman', '%s', nodes.generated) return diff --git a/docsrc/exts/sphinxlocal/builders/manpage.py b/docsrc/exts/sphinxlocal/builders/manpage.py index a6281f79..126839e0 100644 --- a/docsrc/exts/sphinxlocal/builders/manpage.py +++ b/docsrc/exts/sphinxlocal/builders/manpage.py @@ -21,7 +21,6 @@ from docutils.frontend import OptionParser from sphinx import addnodes from sphinx.errors import SphinxError from sphinx.builders import Builder -from sphinx.environment import NoUri from sphinx.util.nodes import inline_all_toctrees from sphinx.util.console import bold, darkgreen from sphinx.writers.manpage import ManualPageWriter That moves along a bit, but then fails with; sed -e 's,[@]LIB_DOOR[@],,g' -e 's,[@]SASL_DL_LIB[@],-ldl,g' -e 's,[@]LIBS[@],-lresolv ,g' -e 's,[@]VERSION[@],2.1.27,g' -e 's,[@]libdir[@],/usr/lib/x86_64-linux-gnu,g' -e 's,[@]prefix[@],/usr,g' -e 's,[@]exec_prefix[@],/usr,g' -e 's,[@]includedir[@],/usr/include,g' < ../libsasl2.pc.in > libsasl2.pc /usr/bin/sphinx-build -d docsrc/.doctrees -n -q -b cyrman ./docsrc ./man WARNING: The config value `author' has type `list', defaults to `str'. WARNING: The config value `epub_author' has type `str', defaults to `list'. WARNING: The config value `epub_publisher' has type `str', defaults to `list'. Extension error: Handler for event 'config-inited' threw an exception (exception: 'list' object has no attribute 'translate') ['The Cyrus Team'] make[4]: *** [Makefile:1166: man/.sphinx-build.stamp] Error 2 make[4]: Leaving directory '/home/ubuntu/git/packages/cyrus-sasl2/cyrus-sasl2/build-heimdal' make[3]: *** [Makefile:686: all-recursive] Error 1 make[3]: Leaving directory '/home/ubuntu/git/packages/cyrus-sasl2/cyrus-sasl2/build-heimdal' make[2]: *** [Makefile:556: all] Error 2 make[2]: Leaving directory '/home/ubuntu/git/packages/cyrus-sasl2/cyrus-sasl2/build-heimdal' dh_auto_build: error: cd build-heimdal && make -j4 sasldir=/usr/lib/x86_64-linux-gnu/sasl2 returned exit code 2 make[1]: *** [debian/rules:164: override_dh_auto_build] Error 25 make[1]: Leaving directory '/home/ubuntu/git/packages/cyrus-sasl2/cyrus-sasl2' make: *** [debian/rules:122: build] Error 2 dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2