Commit Graph

3 Commits

Author SHA1 Message Date
Lukas Märdian
a86dbfd723 doc:rubydomain: Fix build failure with rubydomain namespace
This package fails to build from source in Debian and Ubuntu:

* https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1095360
* https://bugs.launchpad.net/ubuntu/+source/nghttp2/+bug/2104171

With the following log output:
```
During a rebuild of all packages in unstable, your package failed to build:

--------------------------------------------------------------------------------
[...]
make[3]: Entering directory '/<<PKGBUILDDIR>>/integration-tests'
make[3]: Nothing to be done for 'html'.
make[3]: Leaving directory '/<<PKGBUILDDIR>>/integration-tests'
Making html in doc
make[3]: Entering directory '/<<PKGBUILDDIR>>/doc'
for i in README.rst programmers-guide.rst nghttp.1.rst nghttpd.1.rst nghttpx.1.rst h2load.1.rst; do [ -e ./$i ] || cp ./$i .; done
/usr/bin/python3 ../doc/mkapiref.py \
apiref.rst macros.rst enums.rst types.rst . ../lib/includes/nghttp2/nghttp2ver.h ../lib/includes/nghttp2/nghttp2.h
sphinx-build -b html -d manual/doctrees . manual/html
Running Sphinx v8.1.3
loading translations [en]... done

Extension error:
Could not import extension rubydomain.rubydomain (exception: No module named 'pkg_resources')
make[3]: *** [Makefile:921: html-local] Error 2
make[3]: Leaving directory '/<<PKGBUILDDIR>>/doc'
make[2]: *** [Makefile:583: html-recursive] Error 1
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[1]: *** [debian/rules:14: override_dh_auto_build-indep] Error 2
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:62: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
```

Adding a Build-Depends-Indep on `python3-pkg-resources` fixes the build, but is deprecated.

According to setuptools:
```
def declare_namespace(packageName: str) -> None:
    """Declare that package 'packageName' is a namespace package"""

    msg = (
        f"Deprecated call to `pkg_resources.declare_namespace({packageName!r})`.\n"
        "Implementing implicit namespace packages (as specified in PEP 420) "
        "is preferred to `pkg_resources.declare_namespace`. "
        "See https://setuptools.pypa.io/en/latest/references/"
        "keywords.html#keyword-namespace-packages"
    )
    warnings.warn(msg, DeprecationWarning, stacklevel=2)
```

Here it looks like the explicit namespacing was only needed when extending the `sphinxcontrib` module, but it was renamed to be an independent module "rubydomain.rubydomain":
a029f6ed2c

So `doc/_extrs/rubydomain/__init__.py` should just be dropped to make it an implicit namespaced package in accordance with https://peps.python.org/pep-0420/.
2025-03-27 12:47:52 +01:00
Dimitris Apostolou
ad0c9eebf7 Fix typos 2022-01-16 21:53:44 +09:00
Tatsuhiro Tsujikawa
a029f6ed2c Rename sphinxcontrib to rubydomain to avoid module loading error
Rename sphinxcontrib to rubydomain to avoid module loading error when
sphinx-build docker image is used.
2021-09-20 13:43:40 +09:00