mirror of
https://github.com/nghttp2/nghttp2.git
synced 2025-12-08 11:08:52 +08:00
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/.