Package: src:python-sphinxcontrib.apidoc
Version: 0.3.0-4
Severity: serious
Tags: ftbfs

Dear maintainer:

During a rebuild of all packages in unstable, your package failed to build:

--------------------------------------------------------------------------------
[...]
 debian/rules build
make: pyversions: No such file or directory
py3versions: no X-Python3-Version in control file, using supported versions
dh build --buildsystem=python_distutils --with python3
   dh_update_autotools_config -O--buildsystem=python_distutils
   dh_autoreconf -O--buildsystem=python_distutils
   dh_auto_configure -O--buildsystem=python_distutils
dh_auto_configure: warning: Please use the third-party "pybuild" build system 
instead of python-distutils
dh_auto_configure: warning: This feature will be removed in compat 12.
   debian/rules override_dh_auto_build
make[1]: Entering directory '/<<PKGBUILDDIR>>'
make[1]: pyversions: No such file or directory
py3versions: no X-Python3-Version in control file, using supported versions
echo "Nothing here..."
Nothing here...
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
   debian/rules override_dh_auto_test
make[1]: Entering directory '/<<PKGBUILDDIR>>'
make[1]: pyversions: No such file or directory
py3versions: no X-Python3-Version in control file, using supported versions
set -e ; for pyvers in 3.12 3.11; do \
        PYTHONPATH=. PYTHON=python$pyvers python$pyvers -m pytest tests ; \
done
============================= test session starts ==============================
platform linux -- Python 3.12.0, pytest-7.4.3, pluggy-1.3.0
rootdir: /<<PKGBUILDDIR>>
collected 5 items

tests/test_ext.py EEEEE                                                  [100%]

==================================== ERRORS ====================================
________________________ ERROR at setup of test_basics _________________________

test_params = {'shared_result': None}
app_params = _app_params(args=['html'], kwargs={'srcdir': 
path('/tmp/apidoc-pbn2n7hv/basics')})
make_app = <function make_app.<locals>.make at 0x7f088caf36a0>
shared_result = <sphinx.testing.fixtures.SharedResult object at 0x7f088cabfec0>

    @pytest.fixture()
    def app(test_params: dict, app_params: tuple[dict, dict], make_app: 
Callable,
            shared_result: SharedResult) -> Generator[SphinxTestApp, None, 
None]:
        """
        Provides the 'sphinx.application.Sphinx' object
        """
        args, kwargs = app_params
      app_ = make_app(*args, **kwargs)

/usr/lib/python3/dist-packages/sphinx/testing/fixtures.py:139:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3/dist-packages/sphinx/testing/fixtures.py:183: in make
    app_: Any = SphinxTestApp(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <[AttributeError("'SphinxTestApp' object has no attribute 'builder'") 
raised in repr()] SphinxTestApp object at 0x7f088cabffb0>
buildername = 'html', srcdir = path('/tmp/apidoc-pbn2n7hv/basics')
builddir = path('/tmp/apidoc-pbn2n7hv/basics/_build'), freshenv = False
confoverrides = None, status = <_io.StringIO object at 0x7f088cbc5b40>
warning = <_io.StringIO object at 0x7f088cbc5c00>, tags = None
docutilsconf = None, parallel = 0

    def __init__(
        self,
        buildername: str = 'html',
        srcdir: Path | None = None,
        builddir: Path | None = None,
        freshenv: bool = False,
        confoverrides: dict | None = None,
        status: IO | None = None,
        warning: IO | None = None,
        tags: list[str] | None = None,
        docutilsconf: str | None = None,
        parallel: int = 0,
    ) -> None:
        assert srcdir is not None
self.docutils_conf_path = srcdir / 'docutils.conf'
        if docutilsconf is not None:
            self.docutils_conf_path.write_text(docutilsconf, encoding='utf8')
if builddir is None:
            builddir = srcdir / '_build'
confdir = srcdir
        outdir = builddir.joinpath(buildername)
      outdir.mkdir(parents=True, exist_ok=True)
E       AttributeError: 'path' object has no attribute 'mkdir'. Did you mean: 
'isdir'?

/usr/lib/python3/dist-packages/sphinx/testing/util.py:105: AttributeError
_______________________ ERROR at setup of test_advanced ________________________

test_params = {'shared_result': None}
app_params = _app_params(args=['html'], kwargs={'srcdir': 
path('/tmp/apidoc-pbn2n7hv/advanced')})
make_app = <function make_app.<locals>.make at 0x7f088caf3920>
shared_result = <sphinx.testing.fixtures.SharedResult object at 0x7f088cb0f4d0>

    @pytest.fixture()
    def app(test_params: dict, app_params: tuple[dict, dict], make_app: 
Callable,
            shared_result: SharedResult) -> Generator[SphinxTestApp, None, 
None]:
        """
        Provides the 'sphinx.application.Sphinx' object
        """
        args, kwargs = app_params
      app_ = make_app(*args, **kwargs)

/usr/lib/python3/dist-packages/sphinx/testing/fixtures.py:139:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3/dist-packages/sphinx/testing/fixtures.py:183: in make
    app_: Any = SphinxTestApp(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <[AttributeError("'SphinxTestApp' object has no attribute 'builder'") 
raised in repr()] SphinxTestApp object at 0x7f088cb0cb60>
buildername = 'html', srcdir = path('/tmp/apidoc-pbn2n7hv/advanced')
builddir = path('/tmp/apidoc-pbn2n7hv/advanced/_build'), freshenv = False
confoverrides = None, status = <_io.StringIO object at 0x7f088cbc6680>
warning = <_io.StringIO object at 0x7f088cbc6380>, tags = None
docutilsconf = None, parallel = 0

    def __init__(
        self,
        buildername: str = 'html',
        srcdir: Path | None = None,
        builddir: Path | None = None,
        freshenv: bool = False,
        confoverrides: dict | None = None,
        status: IO | None = None,
        warning: IO | None = None,
        tags: list[str] | None = None,
        docutilsconf: str | None = None,
        parallel: int = 0,
    ) -> None:
        assert srcdir is not None
self.docutils_conf_path = srcdir / 'docutils.conf'
        if docutilsconf is not None:
            self.docutils_conf_path.write_text(docutilsconf, encoding='utf8')
if builddir is None:
            builddir = srcdir / '_build'
confdir = srcdir
        outdir = builddir.joinpath(buildername)
      outdir.mkdir(parents=True, exist_ok=True)
E       AttributeError: 'path' object has no attribute 'mkdir'. Did you mean: 
'isdir'?

/usr/lib/python3/dist-packages/sphinx/testing/util.py:105: AttributeError
___________________ ERROR at setup of test_advanced_negative ___________________

test_params = {'shared_result': None}
app_params = _app_params(args=['html'], kwargs={'srcdir': 
path('/tmp/apidoc-pbn2n7hv/advanced-negative')})
make_app = <function make_app.<locals>.make at 0x7f088cb580e0>
shared_result = <sphinx.testing.fixtures.SharedResult object at 0x7f088cb0cf20>

    @pytest.fixture()
    def app(test_params: dict, app_params: tuple[dict, dict], make_app: 
Callable,
            shared_result: SharedResult) -> Generator[SphinxTestApp, None, 
None]:
        """
        Provides the 'sphinx.application.Sphinx' object
        """
        args, kwargs = app_params
      app_ = make_app(*args, **kwargs)

/usr/lib/python3/dist-packages/sphinx/testing/fixtures.py:139:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3/dist-packages/sphinx/testing/fixtures.py:183: in make
    app_: Any = SphinxTestApp(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <[AttributeError("'SphinxTestApp' object has no attribute 'builder'") 
raised in repr()] SphinxTestApp object at 0x7f088cb0cd10>
buildername = 'html', srcdir = path('/tmp/apidoc-pbn2n7hv/advanced-negative')
builddir = path('/tmp/apidoc-pbn2n7hv/advanced-negative/_build')
freshenv = False, confoverrides = None
status = <_io.StringIO object at 0x7f088cbc6c80>
warning = <_io.StringIO object at 0x7f088cbc6b00>, tags = None
docutilsconf = None, parallel = 0

    def __init__(
        self,
        buildername: str = 'html',
        srcdir: Path | None = None,
        builddir: Path | None = None,
        freshenv: bool = False,
        confoverrides: dict | None = None,
        status: IO | None = None,
        warning: IO | None = None,
        tags: list[str] | None = None,
        docutilsconf: str | None = None,
        parallel: int = 0,
    ) -> None:
        assert srcdir is not None
self.docutils_conf_path = srcdir / 'docutils.conf'
        if docutilsconf is not None:
            self.docutils_conf_path.write_text(docutilsconf, encoding='utf8')
if builddir is None:
            builddir = srcdir / '_build'
confdir = srcdir
        outdir = builddir.joinpath(buildername)
      outdir.mkdir(parents=True, exist_ok=True)
E       AttributeError: 'path' object has no attribute 'mkdir'. Did you mean: 
'isdir'?

/usr/lib/python3/dist-packages/sphinx/testing/util.py:105: AttributeError
_________________ ERROR at setup of test_missing_configuration _________________

test_params = {'shared_result': None}
app_params = _app_params(args=['html'], kwargs={'srcdir': 
path('/tmp/apidoc-pbn2n7hv/missing-configuration')})
make_app = <function make_app.<locals>.make at 0x7f088cb585e0>
shared_result = <sphinx.testing.fixtures.SharedResult object at 0x7f088cb0e720>

    @pytest.fixture()
    def app(test_params: dict, app_params: tuple[dict, dict], make_app: 
Callable,
            shared_result: SharedResult) -> Generator[SphinxTestApp, None, 
None]:
        """
        Provides the 'sphinx.application.Sphinx' object
        """
        args, kwargs = app_params
      app_ = make_app(*args, **kwargs)

/usr/lib/python3/dist-packages/sphinx/testing/fixtures.py:139:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3/dist-packages/sphinx/testing/fixtures.py:183: in make
    app_: Any = SphinxTestApp(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <[AttributeError("'SphinxTestApp' object has no attribute 'builder'") 
raised in repr()] SphinxTestApp object at 0x7f088cb0e960>
buildername = 'html'
srcdir = path('/tmp/apidoc-pbn2n7hv/missing-configuration')
builddir = path('/tmp/apidoc-pbn2n7hv/missing-configuration/_build')
freshenv = False, confoverrides = None
status = <_io.StringIO object at 0x7f088cbc7280>
warning = <_io.StringIO object at 0x7f088cbc68c0>, tags = None
docutilsconf = None, parallel = 0

    def __init__(
        self,
        buildername: str = 'html',
        srcdir: Path | None = None,
        builddir: Path | None = None,
        freshenv: bool = False,
        confoverrides: dict | None = None,
        status: IO | None = None,
        warning: IO | None = None,
        tags: list[str] | None = None,
        docutilsconf: str | None = None,
        parallel: int = 0,
    ) -> None:
        assert srcdir is not None
self.docutils_conf_path = srcdir / 'docutils.conf'
        if docutilsconf is not None:
            self.docutils_conf_path.write_text(docutilsconf, encoding='utf8')
if builddir is None:
            builddir = srcdir / '_build'
confdir = srcdir
        outdir = builddir.joinpath(buildername)
      outdir.mkdir(parents=True, exist_ok=True)
E       AttributeError: 'path' object has no attribute 'mkdir'. Did you mean: 
'isdir'?

/usr/lib/python3/dist-packages/sphinx/testing/util.py:105: AttributeError
___________________ ERROR at setup of test_invalid_directory ___________________

test_params = {'shared_result': None}
app_params = _app_params(args=['html'], kwargs={'srcdir': 
path('/tmp/apidoc-pbn2n7hv/invalid-directory')})
make_app = <function make_app.<locals>.make at 0x7f088cb589a0>
shared_result = <sphinx.testing.fixtures.SharedResult object at 0x7f088cb0fc80>

    @pytest.fixture()
    def app(test_params: dict, app_params: tuple[dict, dict], make_app: 
Callable,
            shared_result: SharedResult) -> Generator[SphinxTestApp, None, 
None]:
        """
        Provides the 'sphinx.application.Sphinx' object
        """
        args, kwargs = app_params
      app_ = make_app(*args, **kwargs)

/usr/lib/python3/dist-packages/sphinx/testing/fixtures.py:139:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3/dist-packages/sphinx/testing/fixtures.py:183: in make
    app_: Any = SphinxTestApp(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <[AttributeError("'SphinxTestApp' object has no attribute 'builder'") 
raised in repr()] SphinxTestApp object at 0x7f088ca9e270>
buildername = 'html', srcdir = path('/tmp/apidoc-pbn2n7hv/invalid-directory')
builddir = path('/tmp/apidoc-pbn2n7hv/invalid-directory/_build')
freshenv = False, confoverrides = None
status = <_io.StringIO object at 0x7f088cbc7ac0>
warning = <_io.StringIO object at 0x7f088cbc7b80>, tags = None
docutilsconf = None, parallel = 0

    def __init__(
        self,
        buildername: str = 'html',
        srcdir: Path | None = None,
        builddir: Path | None = None,
        freshenv: bool = False,
        confoverrides: dict | None = None,
        status: IO | None = None,
        warning: IO | None = None,
        tags: list[str] | None = None,
        docutilsconf: str | None = None,
        parallel: int = 0,
    ) -> None:
        assert srcdir is not None
self.docutils_conf_path = srcdir / 'docutils.conf'
        if docutilsconf is not None:
            self.docutils_conf_path.write_text(docutilsconf, encoding='utf8')
if builddir is None:
            builddir = srcdir / '_build'
confdir = srcdir
        outdir = builddir.joinpath(buildername)
      outdir.mkdir(parents=True, exist_ok=True)
E       AttributeError: 'path' object has no attribute 'mkdir'. Did you mean: 
'isdir'?

/usr/lib/python3/dist-packages/sphinx/testing/util.py:105: AttributeError
=============================== warnings summary ===============================
tests/conftest.py:13
  /<<PKGBUILDDIR>>/tests/conftest.py:13: RemovedInSphinx90Warning: 
'sphinx.testing.path' is deprecated. Use 'os.path' or 'pathlib' instead.
    from sphinx.testing.path import path

../../../usr/lib/python3/dist-packages/babel/messages/catalog.py:13
  /usr/lib/python3/dist-packages/babel/messages/catalog.py:13: 
DeprecationWarning: 'cgi' is deprecated and slated for removal in Python 3.13
    from cgi import parse_header

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
ERROR tests/test_ext.py::test_basics - AttributeError: 'path' object has no a...
ERROR tests/test_ext.py::test_advanced - AttributeError: 'path' object has no...
ERROR tests/test_ext.py::test_advanced_negative - AttributeError: 'path' obje...
ERROR tests/test_ext.py::test_missing_configuration - AttributeError: 'path' ...
ERROR tests/test_ext.py::test_invalid_directory - AttributeError: 'path' obje...
======================== 2 warnings, 5 errors in 0.08s =========================
make[1]: *** [debian/rules:22: override_dh_auto_test] Error 1
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:7: build] Error 2
dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2
--------------------------------------------------------------------------------

The above is just how the build ends and not necessarily the most relevant part.
If required, the full build log is available here:

https://people.debian.org/~sanvila/build-logs/202312/

About the archive rebuild: The build was made using virtual machines
from AWS, with enough memory, enough disk, and either one or two
CPUs, using a reduced chroot with only build-essential packages.

If you could not reproduce the bug please contact me privately, as I
am willing to provide ssh access to a virtual machine where the bug is
fully reproducible.

If this is really a bug in one of the build-depends, please use
reassign and affects, so that this is still visible in the BTS web
page for this package.

Thanks.

Reply via email to