--- Begin Message ---
Source: sphinxcontrib-websupport
Version: 1.2.4-2
Severity: serious
Justification: FTBFS
Tags: trixie sid ftbfs
User: lu...@debian.org
Usertags: ftbfs-20230925 ftbfs-trixie
Hi,
During a rebuild of all packages in sid, your package failed to build
on amd64.
Relevant part (hopefully):
> debian/rules binary
> dh binary --with python3 --buildsystem=pybuild
> dh_update_autotools_config -O--buildsystem=pybuild
> dh_autoreconf -O--buildsystem=pybuild
> dh_auto_configure -O--buildsystem=pybuild
> I: pybuild base:291: python3.11 setup.py config
> /usr/lib/python3/dist-packages/setuptools/config/setupcfg.py:293:
> _DeprecatedConfig: Deprecated config in `setup.cfg`
> !!
>
>
> ********************************************************************************
> The license_file parameter is deprecated, use license_files instead.
>
> By 2023-Oct-30, you need to update your project and remove deprecated
> calls
> or your builds will no longer be supported.
>
> See
> https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for
> details.
>
> ********************************************************************************
>
> !!
> parsed = self.parsers.get(option_name, lambda x: x)(value)
> /usr/lib/python3/dist-packages/setuptools/dist.py:946:
> SetuptoolsDeprecationWarning: The namespace_packages parameter is deprecated.
> !!
>
>
> ********************************************************************************
> Please replace its usage with implicit namespaces (PEP 420).
>
> See
> https://setuptools.pypa.io/en/latest/references/keywords.html#keyword-namespace-packages
> for details.
>
> ********************************************************************************
>
> !!
> ep.load()(self, ep.name, value)
> running config
> dh_auto_build -O--buildsystem=pybuild
> I: pybuild base:291: /usr/bin/python3 setup.py build
> /usr/lib/python3/dist-packages/setuptools/config/setupcfg.py:293:
> _DeprecatedConfig: Deprecated config in `setup.cfg`
> !!
>
>
> ********************************************************************************
> The license_file parameter is deprecated, use license_files instead.
>
> By 2023-Oct-30, you need to update your project and remove deprecated
> calls
> or your builds will no longer be supported.
>
> See
> https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for
> details.
>
> ********************************************************************************
>
> !!
> parsed = self.parsers.get(option_name, lambda x: x)(value)
> /usr/lib/python3/dist-packages/setuptools/dist.py:946:
> SetuptoolsDeprecationWarning: The namespace_packages parameter is deprecated.
> !!
>
>
> ********************************************************************************
> Please replace its usage with implicit namespaces (PEP 420).
>
> See
> https://setuptools.pypa.io/en/latest/references/keywords.html#keyword-namespace-packages
> for details.
>
> ********************************************************************************
>
> !!
> ep.load()(self, ep.name, value)
> running build
> running build_py
> creating /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/sphinxcontrib
> copying sphinxcontrib/__init__.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/sphinxcontrib
> creating
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/sphinxcontrib/websupport
> copying sphinxcontrib/websupport/builder.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/sphinxcontrib/websupport
> copying sphinxcontrib/websupport/utils.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/sphinxcontrib/websupport
> copying sphinxcontrib/websupport/errors.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/sphinxcontrib/websupport
> copying sphinxcontrib/websupport/core.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/sphinxcontrib/websupport
> copying sphinxcontrib/websupport/version.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/sphinxcontrib/websupport
> copying sphinxcontrib/websupport/writer.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/sphinxcontrib/websupport
> copying sphinxcontrib/websupport/__init__.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/sphinxcontrib/websupport
> creating
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/sphinxcontrib/websupport/search
> copying sphinxcontrib/websupport/search/whooshsearch.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/sphinxcontrib/websupport/search
> copying sphinxcontrib/websupport/search/nullsearch.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/sphinxcontrib/websupport/search
> copying sphinxcontrib/websupport/search/__init__.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/sphinxcontrib/websupport/search
> copying sphinxcontrib/websupport/search/xapiansearch.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/sphinxcontrib/websupport/search
> creating
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/sphinxcontrib/websupport/storage
> copying sphinxcontrib/websupport/storage/sqlalchemystorage.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/sphinxcontrib/websupport/storage
> copying sphinxcontrib/websupport/storage/__init__.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/sphinxcontrib/websupport/storage
> copying sphinxcontrib/websupport/storage/sqlalchemy_db.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/sphinxcontrib/websupport/storage
> copying sphinxcontrib/websupport/storage/differ.py ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/sphinxcontrib/websupport/storage
> running egg_info
> creating sphinxcontrib_websupport.egg-info
> writing sphinxcontrib_websupport.egg-info/PKG-INFO
> writing dependency_links to
> sphinxcontrib_websupport.egg-info/dependency_links.txt
> writing entry points to sphinxcontrib_websupport.egg-info/entry_points.txt
> writing namespace_packages to
> sphinxcontrib_websupport.egg-info/namespace_packages.txt
> writing requirements to sphinxcontrib_websupport.egg-info/requires.txt
> writing top-level names to sphinxcontrib_websupport.egg-info/top_level.txt
> writing manifest file 'sphinxcontrib_websupport.egg-info/SOURCES.txt'
> reading manifest file 'sphinxcontrib_websupport.egg-info/SOURCES.txt'
> reading manifest template 'MANIFEST.in'
> adding license file 'LICENSE'
> writing manifest file 'sphinxcontrib_websupport.egg-info/SOURCES.txt'
> /usr/lib/python3/dist-packages/setuptools/command/build_py.py:204: _Warning:
> Package 'sphinxcontrib.websupport.files' is absent from the `packages`
> configuration.
> !!
>
>
> ********************************************************************************
> ############################
> # Package would be ignored #
> ############################
> Python recognizes 'sphinxcontrib.websupport.files' as an importable
> package[^1],
> but it is absent from setuptools' `packages` configuration.
>
> This leads to an ambiguous overall configuration. If you want to
> distribute this
> package, please make sure that 'sphinxcontrib.websupport.files' is
> explicitly added
> to the `packages` configuration field.
>
> Alternatively, you can also rely on setuptools' discovery methods
> (for example by using `find_namespace_packages(...)`/`find_namespace:`
> instead of `find_packages(...)`/`find:`).
>
> You can read more about "package discovery" on setuptools
> documentation page:
>
> -
> https://setuptools.pypa.io/en/latest/userguide/package_discovery.html
>
> If you don't want 'sphinxcontrib.websupport.files' to be distributed
> and are
> already explicitly excluding 'sphinxcontrib.websupport.files' via
> `find_namespace_packages(...)/find_namespace` or
> `find_packages(...)/find`,
> you can try to use `exclude_package_data`, or
> `include-package-data=False` in
> combination with a more fine grained `package-data` configuration.
>
> You can read more about "package data files" on setuptools
> documentation page:
>
> - https://setuptools.pypa.io/en/latest/userguide/datafiles.html
>
>
> [^1]: For Python, any directory (with suitable naming) can be
> imported,
> even if it does not contain any `.py` files.
> On the other hand, currently there is no concept of package data
> directory, all directories are treated like packages.
>
> ********************************************************************************
>
> !!
> check.warn(importable)
> /usr/lib/python3/dist-packages/setuptools/command/build_py.py:204: _Warning:
> Package 'sphinxcontrib.websupport.templates' is absent from the `packages`
> configuration.
> !!
>
>
> ********************************************************************************
> ############################
> # Package would be ignored #
> ############################
> Python recognizes 'sphinxcontrib.websupport.templates' as an
> importable package[^1],
> but it is absent from setuptools' `packages` configuration.
>
> This leads to an ambiguous overall configuration. If you want to
> distribute this
> package, please make sure that 'sphinxcontrib.websupport.templates'
> is explicitly added
> to the `packages` configuration field.
>
> Alternatively, you can also rely on setuptools' discovery methods
> (for example by using `find_namespace_packages(...)`/`find_namespace:`
> instead of `find_packages(...)`/`find:`).
>
> You can read more about "package discovery" on setuptools
> documentation page:
>
> -
> https://setuptools.pypa.io/en/latest/userguide/package_discovery.html
>
> If you don't want 'sphinxcontrib.websupport.templates' to be
> distributed and are
> already explicitly excluding 'sphinxcontrib.websupport.templates' via
> `find_namespace_packages(...)/find_namespace` or
> `find_packages(...)/find`,
> you can try to use `exclude_package_data`, or
> `include-package-data=False` in
> combination with a more fine grained `package-data` configuration.
>
> You can read more about "package data files" on setuptools
> documentation page:
>
> - https://setuptools.pypa.io/en/latest/userguide/datafiles.html
>
>
> [^1]: For Python, any directory (with suitable naming) can be
> imported,
> even if it does not contain any `.py` files.
> On the other hand, currently there is no concept of package data
> directory, all directories are treated like packages.
>
> ********************************************************************************
>
> !!
> check.warn(importable)
> creating
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/sphinxcontrib/websupport/files
> copying sphinxcontrib/websupport/files/ajax-loader.gif ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/sphinxcontrib/websupport/files
> copying sphinxcontrib/websupport/files/comment-bright.png ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/sphinxcontrib/websupport/files
> copying sphinxcontrib/websupport/files/comment-close.png ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/sphinxcontrib/websupport/files
> copying sphinxcontrib/websupport/files/comment.png ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/sphinxcontrib/websupport/files
> copying sphinxcontrib/websupport/files/down-pressed.png ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/sphinxcontrib/websupport/files
> copying sphinxcontrib/websupport/files/down.png ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/sphinxcontrib/websupport/files
> copying sphinxcontrib/websupport/files/up-pressed.png ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/sphinxcontrib/websupport/files
> copying sphinxcontrib/websupport/files/up.png ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/sphinxcontrib/websupport/files
> copying sphinxcontrib/websupport/files/websupport.js ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/sphinxcontrib/websupport/files
> creating
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/sphinxcontrib/websupport/templates
> copying sphinxcontrib/websupport/templates/searchresults.html ->
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/sphinxcontrib/websupport/templates
> I: pybuild pybuild:340: rm
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/sphinxcontrib/__init__.py
> dh_auto_test -O--buildsystem=pybuild
> I: pybuild base:291: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build;
> python3.11 -m pytest tests
> ============================= test session starts
> ==============================
> platform linux -- Python 3.11.5, pytest-7.4.2, pluggy-1.3.0
> rootdir: /<<PKGBUILDDIR>>
> configfile: setup.cfg
> collected 13 items
>
> tests/test_searchadapters.py FF [
> 15%]
> tests/test_websupport.py .F.FFFFFFF.
> [100%]
>
> =================================== FAILURES
> ===================================
> _________________________________ test_xapian
> __________________________________
>
> @skip_unless_importable('xapian', 'needs xapian bindings installed')
> @pytest.mark.skipif(sqlalchemy_missing, reason='needs sqlalchemy')
> def test_xapian():
> > search_adapter_helper('xapian')
>
> tests/test_searchadapters.py:64:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
> tests/test_searchadapters.py:32: in search_adapter_helper
> support.build()
> sphinxcontrib/websupport/core.py:144: in build
> app.build()
> /usr/lib/python3/dist-packages/sphinx/application.py:341: in build
> self.builder.build_update()
> /usr/lib/python3/dist-packages/sphinx/builders/__init__.py:310: in
> build_update
> self.build(to_build,
> /usr/lib/python3/dist-packages/sphinx/builders/__init__.py:379: in build
> self.finish()
> /usr/lib/python3/dist-packages/sphinx/builders/html/__init__.py:692: in finish
> self.handle_finish()
> sphinxcontrib/websupport/builder.py:190: in handle_finish
> PickleHTMLBuilder.handle_finish(self)
> /usr/lib/python3/dist-packages/sphinxcontrib/serializinghtml/__init__.py:111:
> in handle_finish
> self.dump_context(self.globalcontext, outfilename)
> /usr/lib/python3/dist-packages/sphinxcontrib/serializinghtml/__init__.py:70:
> in dump_context
> context['script_files'] = [js.filename for js in context['script_files']]
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> .0 = <list_iterator object at 0x7fc2e3ee6290>
>
> > context['script_files'] = [js.filename for js in context['script_files']]
> E AttributeError: 'str' object has no attribute 'filename'
>
> /usr/lib/python3/dist-packages/sphinxcontrib/serializinghtml/__init__.py:70:
> AttributeError
> _________________________________ test_whoosh
> __________________________________
>
> @skip_unless_importable('whoosh', 'needs whoosh package installed')
> @pytest.mark.skipif(sqlalchemy_missing, reason='needs sqlalchemy')
> def test_whoosh():
> > search_adapter_helper('whoosh')
>
> tests/test_searchadapters.py:70:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
> tests/test_searchadapters.py:32: in search_adapter_helper
> support.build()
> sphinxcontrib/websupport/core.py:144: in build
> app.build()
> /usr/lib/python3/dist-packages/sphinx/application.py:341: in build
> self.builder.build_update()
> /usr/lib/python3/dist-packages/sphinx/builders/__init__.py:310: in
> build_update
> self.build(to_build,
> /usr/lib/python3/dist-packages/sphinx/builders/__init__.py:379: in build
> self.finish()
> /usr/lib/python3/dist-packages/sphinx/builders/html/__init__.py:692: in finish
> self.handle_finish()
> sphinxcontrib/websupport/builder.py:190: in handle_finish
> PickleHTMLBuilder.handle_finish(self)
> /usr/lib/python3/dist-packages/sphinxcontrib/serializinghtml/__init__.py:111:
> in handle_finish
> self.dump_context(self.globalcontext, outfilename)
> /usr/lib/python3/dist-packages/sphinxcontrib/serializinghtml/__init__.py:70:
> in dump_context
> context['script_files'] = [js.filename for js in context['script_files']]
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> .0 = <list_iterator object at 0x7fc2e3966a40>
>
> > context['script_files'] = [js.filename for js in context['script_files']]
> E AttributeError: 'str' object has no attribute 'filename'
>
> /usr/lib/python3/dist-packages/sphinxcontrib/serializinghtml/__init__.py:70:
> AttributeError
> __________________________________ test_build
> __________________________________
>
> support = <sphinxcontrib.websupport.core.WebSupport object at 0x7fc2e3a18310>
>
> @pytest.mark.skipif(sqlalchemy_missing, reason='needs sqlalchemy')
> @with_support()
> def test_build(support):
> > support.build()
>
> tests/test_websupport.py:63:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
> sphinxcontrib/websupport/core.py:144: in build
> app.build()
> /usr/lib/python3/dist-packages/sphinx/application.py:341: in build
> self.builder.build_update()
> /usr/lib/python3/dist-packages/sphinx/builders/__init__.py:310: in
> build_update
> self.build(to_build,
> /usr/lib/python3/dist-packages/sphinx/builders/__init__.py:379: in build
> self.finish()
> /usr/lib/python3/dist-packages/sphinx/builders/html/__init__.py:692: in finish
> self.handle_finish()
> sphinxcontrib/websupport/builder.py:190: in handle_finish
> PickleHTMLBuilder.handle_finish(self)
> /usr/lib/python3/dist-packages/sphinxcontrib/serializinghtml/__init__.py:111:
> in handle_finish
> self.dump_context(self.globalcontext, outfilename)
> /usr/lib/python3/dist-packages/sphinxcontrib/serializinghtml/__init__.py:70:
> in dump_context
> context['script_files'] = [js.filename for js in context['script_files']]
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> .0 = <list_iterator object at 0x7fc2e386afe0>
>
> > context['script_files'] = [js.filename for js in context['script_files']]
> E AttributeError: 'str' object has no attribute 'filename'
>
> /usr/lib/python3/dist-packages/sphinxcontrib/serializinghtml/__init__.py:70:
> AttributeError
> ----------------------------- Captured stdout call
> -----------------------------
> [01mRunning Sphinx v5.3.0[39;49;00m
> [01mbuilding [mo]: [39;49;00mtargets for 0 po files that are out of date
> [01mbuilding [websupport]: [39;49;00mtargets for 14 source files that are
> out of date
> [01mupdating environment: [39;49;00m[new config] 14 added, 0 changed, 0
> removed
> [01mreading sources... [39;49;00m[ 7%] [35mbom[39;49;00m
>
> [01mreading sources... [39;49;00m[ 14%] [35mcontents[39;49;00m
>
> [01mreading sources... [39;49;00m[ 21%] [35mextapi[39;49;00m
>
> [01mreading sources... [39;49;00m[ 28%] [35mextensions[39;49;00m
>
> [01mreading sources... [39;49;00m[ 35%] [35mfootnote[39;49;00m
>
> [01mreading sources... [39;49;00m[ 42%] [35mimages[39;49;00m
>
> [01mreading sources... [39;49;00m[ 50%] [35mincludes[39;49;00m
>
> [01mreading sources... [39;49;00m[ 57%] [35mlists[39;49;00m
>
> [01mreading sources... [39;49;00m[ 64%] [35mmarkup[39;49;00m
>
> [01mreading sources... [39;49;00m[ 71%] [35mmath[39;49;00m
>
> [01mreading sources... [39;49;00m[ 78%] [35mmetadata[39;49;00m
>
> [01mreading sources... [39;49;00m[ 85%] [35mobjects[39;49;00m
>
> [01mreading sources... [39;49;00m[ 92%] [35msubdir/images[39;49;00m
>
> [01mreading sources... [39;49;00m[100%] [35msubdir/includes[39;49;00m
>
>
> [01mlooking for now-outdated files... [39;49;00mnone found
> [01mpickling environment... [39;49;00mdone
> [01mchecking consistency... [39;49;00mdone
> [01mpreparing documents... [39;49;00mdone
> [01mwriting output... [39;49;00m[ 7%] [32mbom[39;49;00m
>
> [01mwriting output... [39;49;00m[ 14%] [32mcontents[39;49;00m
>
> [01mwriting output... [39;49;00m[ 21%] [32mextapi[39;49;00m
>
> [01mwriting output... [39;49;00m[ 28%] [32mextensions[39;49;00m
>
> [01mwriting output... [39;49;00m[ 35%] [32mfootnote[39;49;00m
>
> [01mwriting output... [39;49;00m[ 42%] [32mimages[39;49;00m
>
> [01mwriting output... [39;49;00m[ 50%] [32mincludes[39;49;00m
>
> [01mwriting output... [39;49;00m[ 57%] [32mlists[39;49;00m
>
> [01mwriting output... [39;49;00m[ 64%] [32mmarkup[39;49;00m
>
> [01mwriting output... [39;49;00m[ 71%] [32mmath[39;49;00m
>
> [01mwriting output... [39;49;00m[ 78%] [32mmetadata[39;49;00m
>
> [01mwriting output... [39;49;00m[ 85%] [32mobjects[39;49;00m
>
> [01mwriting output... [39;49;00m[ 92%] [32msubdir/images[39;49;00m
>
> [01mwriting output... [39;49;00m[100%] [32msubdir/includes[39;49;00m
>
>
> [01mgenerating indices... [39;49;00mgenindex py-modindex done
> [01mwriting additional pages... [39;49;00msearch done
> [01mcopying images... [39;49;00m[ 14%] [33mimg.png[39;49;00m
>
> [01mcopying images... [39;49;00m[ 28%] [33msubdir/img.png[39;49;00m
>
> [01mcopying images... [39;49;00m[ 42%] [33msubdir/simg.png[39;49;00m
>
> [01mcopying images... [39;49;00m[ 57%] [33msvgimg.svg[39;49;00m
>
> [01mcopying images... [39;49;00m[ 71%] [33mimg.foo.png[39;49;00m
>
> [01mcopying images... [39;49;00m[ 85%] [33m../root/img.png[39;49;00m
>
> [01mcopying images... [39;49;00m[100%] [33mrimg.png[39;49;00m
>
>
> [01mcopying downloadable files... [39;49;00m[ 50%]
> [33m../img.png[39;49;00m
> [01mcopying downloadable files... [39;49;00m[100%]
> [33m../subdir/img.png[39;49;00m
>
> [01mcopying static files... [39;49;00mdone
> [01mcopying extra files... [39;49;00mdone
> ----------------------------- Captured stderr call
> -----------------------------
> [91m/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/tests/root/contents.txt:10:
> WARNING: toctree contains reference to nonexisting document
> 'autodoc'[39;49;00m
> [91m/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/tests/root/contents.txt:10:
> WARNING: duplicated entry found in toctree: extensions[39;49;00m
> [31m/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/tests/root/extensions.txt:7:
> ERROR: Unknown interpreted text role "issue".[39;49;00m
> [31m/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/tests/root/extensions.txt:7:
> ERROR: Unknown interpreted text role "pyurl".[39;49;00m
> [31m/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/tests/root/extensions.txt:7:
> ERROR: Unknown interpreted text role "issue".[39;49;00m
> [31m/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/tests/root/extensions.txt:14:
> ERROR: Unknown directive type "todo".
>
> .. todo::
>
> Test the todo extension.[39;49;00m
> [31m/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/tests/root/extensions.txt:18:
> ERROR: Unknown directive type "todo".
>
> .. todo::
>
> Test with |sub| (see #286).[39;49;00m
> [31m/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/tests/root/extensions.txt:28:
> ERROR: Unknown directive type "todolist".
>
> .. todolist::[39;49;00m
> [91m/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/tests/root/images.txt:9:
> WARNING: image file not readable: foo.png[39;49;00m
> [91m/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/tests/root/includes.txt:4:
> WARNING: download file not readable:
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/tests/root/nonexisting.png[39;49;00m
> [91m/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/tests/root/objects.txt:110:
> WARNING: Error in declarator
> If declarator-id with parameters (e.g., 'void f(int arg)'):
> Invalid C declaration: Expected identifier in nested name. [error at 18]
> Sphinx_DoSomething()
> ------------------^
> If parenthesis in noptr-declarator (e.g., 'void (*f(int arg))(double)'):
> Error in declarator or parameters
> Invalid C declaration: Expected identifier in nested name. [error at 19]
> Sphinx_DoSomething()
> -------------------^
> [39;49;00m
> [91m/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/tests/root/objects.txt:112:
> WARNING: Error in declarator or parameters
> Invalid C declaration: Expected identifier in nested name. [error at 19]
> SphinxStruct.member
> -------------------^[39;49;00m
> [91m/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/tests/root/objects.txt:118:
> WARNING: Error in declarator or parameters
> Invalid C declaration: Expected identifier in nested name. [error at 13]
> sphinx_global
> -------------^[39;49;00m
> [91m/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/tests/root/contents.txt:10:
> WARNING: extensions is already assigned section numbers (nested numbered
> toctree?)[39;49;00m
> [91m/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/tests/root/objects.txt:143:
> WARNING: Unparseable C cross-reference: 'SphinxType *'
> Invalid C declaration: Expected end of definition. [error at 11]
> SphinxType *
> -----------^[39;49;00m
> ________________________________ test_comments
> _________________________________
>
> support = <sphinxcontrib.websupport.core.WebSupport object at 0x7fc2e3bc8210>
>
> @pytest.mark.skipif(sqlalchemy_missing, reason='needs sqlalchemy')
> @with_support()
> def test_comments(support):
> session = Session()
> nodes = session.query(Node).all()
> > first_node = nodes[0]
> E IndexError: list index out of range
>
> tests/test_websupport.py:82: IndexError
> __________________________ test_user_delete_comments
> ___________________________
>
> support = <sphinxcontrib.websupport.core.WebSupport object at 0x7fc2e397a890>
>
> @pytest.mark.skipif(sqlalchemy_missing, reason='needs sqlalchemy')
> @with_support()
> def test_user_delete_comments(support):
> def get_comment():
> session = Session()
> node = session.query(Node).first()
> session.close()
> return support.get_data(node.id)['comments'][0]
>
> > comment = get_comment()
>
> tests/test_websupport.py:135:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> def get_comment():
> session = Session()
> node = session.query(Node).first()
> session.close()
> > return support.get_data(node.id)['comments'][0]
> E AttributeError: 'NoneType' object has no attribute 'id'
>
> tests/test_websupport.py:133: AttributeError
> _______________________________ test_moderation
> ________________________________
>
> support = <sphinxcontrib.websupport.core.WebSupport object at 0x7fc2e3b756d0>
>
> @pytest.mark.skipif(sqlalchemy_missing, reason='needs sqlalchemy')
> @with_support(moderation_callback=moderation_callback)
> def test_moderation(support):
> session = Session()
> nodes = session.query(Node).all()
> > node = nodes[7]
> E IndexError: list index out of range
>
> tests/test_websupport.py:160: IndexError
> ________________________ test_moderator_delete_comments
> ________________________
>
> support = <sphinxcontrib.websupport.core.WebSupport object at 0x7fc2e3b76590>
>
> @pytest.mark.skipif(sqlalchemy_missing, reason='needs sqlalchemy')
> @with_support()
> def test_moderator_delete_comments(support):
> def get_comment():
> session = Session()
> node = session.query(Node).first()
> session.close()
> return support.get_data(node.id, moderator=True)['comments'][1]
>
> > comment = get_comment()
>
> tests/test_websupport.py:190:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> def get_comment():
> session = Session()
> node = session.query(Node).first()
> session.close()
> > return support.get_data(node.id, moderator=True)['comments'][1]
> E AttributeError: 'NoneType' object has no attribute 'id'
>
> tests/test_websupport.py:188: AttributeError
> _____________________________ test_update_username
> _____________________________
>
> self = <sqlalchemy.engine.base.Connection object at 0x7fc2e3b74f90>
> dialect = <sqlalchemy.dialects.sqlite.pysqlite.SQLiteDialect_pysqlite object
> at 0x7fc2e4115950>
> constructor = <bound method DefaultExecutionContext._init_compiled of <class
> 'sqlalchemy.dialects.sqlite.base.SQLiteExecutionContext'>>
> statement = 'UPDATE sphinx_comments SET username=? WHERE
> sphinx_comments.username = ?'
> parameters = ('new_user_two', 'user_two')
> execution_options = immutabledict({'autocommit': True, 'synchronize_session':
> 'evaluate', '_sa_orm_update_options': default_update_options...e',
> _value_evaluators={'username': <function
> EvaluatorCompiler.visit_bindparam.<locals>.<lambda> at 0x7fc2e417f100>})})
> args = (<sqlalchemy.dialects.sqlite.base.SQLiteCompiler object at
> 0x7fc2e3b76190>, [{}], <sqlalchemy.sql.annotation.Annotated...', 'user_two',
> type_=String(length=64)), BindParameter('%(140475020829136 param)s',
> 'new_user_two', type_=NullType())])
> kw = {'cache_hit': symbol('CACHE_MISS')}
> branched = <sqlalchemy.engine.base.Connection object at 0x7fc2e3b74f90>
> yp = None
> conn = <sqlalchemy.pool.base._ConnectionFairy object at 0x7fc2e3b77ad0>
> context = <sqlalchemy.dialects.sqlite.base.SQLiteExecutionContext object at
> 0x7fc2e41174d0>
> cursor = <sqlite3.Cursor object at 0x7fc2e48485c0>, evt_handled = False
>
> def _execute_context(
> self,
> dialect,
> constructor,
> statement,
> parameters,
> execution_options,
> *args,
> **kw
> ):
> """Create an :class:`.ExecutionContext` and execute, returning
> a :class:`_engine.CursorResult`."""
>
> branched = self
> if self.__branch_from:
> # if this is a "branched" connection, do everything in terms
> # of the "root" connection, *except* for .close(), which is
> # the only feature that branching provides
> self = self.__branch_from
>
> if execution_options:
> yp = execution_options.get("yield_per", None)
> if yp:
> execution_options = execution_options.union(
> {"stream_results": True, "max_row_buffer": yp}
> )
>
> try:
> conn = self._dbapi_connection
> if conn is None:
> conn = self._revalidate_connection()
>
> context = constructor(
> dialect, self, conn, execution_options, *args, **kw
> )
> except (exc.PendingRollbackError, exc.ResourceClosedError):
> raise
> except BaseException as e:
> self._handle_dbapi_exception(
> e, util.text_type(statement), parameters, None, None
> )
>
> if (
> self._transaction
> and not self._transaction.is_active
> or (
> self._nested_transaction
> and not self._nested_transaction.is_active
> )
> ):
> self._invalid_transaction()
>
> elif self._trans_context_manager:
> TransactionalContext._trans_ctx_check(self)
>
> if self._is_future and self._transaction is None:
> self._autobegin()
>
> context.pre_exec()
>
> if dialect.use_setinputsizes:
> context._set_input_sizes()
>
> cursor, statement, parameters = (
> context.cursor,
> context.statement,
> context.parameters,
> )
>
> if not context.executemany:
> parameters = parameters[0]
>
> if self._has_events or self.engine._has_events:
> for fn in self.dispatch.before_cursor_execute:
> statement, parameters = fn(
> self,
> cursor,
> statement,
> parameters,
> context,
> context.executemany,
> )
>
> if self._echo:
>
> self._log_info(statement)
>
> stats = context._get_cache_stats()
>
> if not self.engine.hide_parameters:
> self._log_info(
> "[%s] %r",
> stats,
> sql_util._repr_params(
> parameters, batches=10, ismulti=context.executemany
> ),
> )
> else:
> self._log_info(
> "[%s] [SQL parameters hidden due to hide_parameters=True]"
> % (stats,)
> )
>
> evt_handled = False
> try:
> if context.executemany:
> if self.dialect._has_events:
> for fn in self.dialect.dispatch.do_executemany:
> if fn(cursor, statement, parameters, context):
> evt_handled = True
> break
> if not evt_handled:
> self.dialect.do_executemany(
> cursor, statement, parameters, context
> )
> elif not parameters and context.no_parameters:
> if self.dialect._has_events:
> for fn in self.dialect.dispatch.do_execute_no_params:
> if fn(cursor, statement, context):
> evt_handled = True
> break
> if not evt_handled:
> self.dialect.do_execute_no_params(
> cursor, statement, context
> )
> else:
> if self.dialect._has_events:
> for fn in self.dialect.dispatch.do_execute:
> if fn(cursor, statement, parameters, context):
> evt_handled = True
> break
> if not evt_handled:
> > self.dialect.do_execute(
> cursor, statement, parameters, context
> )
>
> /usr/lib/python3/dist-packages/sqlalchemy/engine/base.py:1900:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> self = <sqlalchemy.dialects.sqlite.pysqlite.SQLiteDialect_pysqlite object at
> 0x7fc2e4115950>
> cursor = <sqlite3.Cursor object at 0x7fc2e48485c0>
> statement = 'UPDATE sphinx_comments SET username=? WHERE
> sphinx_comments.username = ?'
> parameters = ('new_user_two', 'user_two')
> context = <sqlalchemy.dialects.sqlite.base.SQLiteExecutionContext object at
> 0x7fc2e41174d0>
>
> def do_execute(self, cursor, statement, parameters, context=None):
> > cursor.execute(statement, parameters)
> E sqlite3.OperationalError: database is locked
>
> /usr/lib/python3/dist-packages/sqlalchemy/engine/default.py:736:
> OperationalError
>
> The above exception was the direct cause of the following exception:
>
> support = <sphinxcontrib.websupport.core.WebSupport object at 0x7fc2e3a0b050>
>
> @pytest.mark.skipif(sqlalchemy_missing, reason='needs sqlalchemy')
> @with_support()
> def test_update_username(support):
> > support.update_username('user_two', 'new_user_two')
>
> tests/test_websupport.py:200:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
> sphinxcontrib/websupport/core.py:385: in update_username
> self.storage.update_username(old_username, new_username)
> sphinxcontrib/websupport/storage/sqlalchemystorage.py:160: in update_username
> update({Comment.username: new_username})
> /usr/lib/python3/dist-packages/sqlalchemy/orm/query.py:3306: in update
> result = self.session.execute(
> /usr/lib/python3/dist-packages/sqlalchemy/orm/session.py:1714: in execute
> result = conn._execute_20(statement, params or {}, execution_options)
> /usr/lib/python3/dist-packages/sqlalchemy/engine/base.py:1705: in _execute_20
> return meth(self, args_10style, kwargs_10style, execution_options)
> /usr/lib/python3/dist-packages/sqlalchemy/sql/elements.py:334: in
> _execute_on_connection
> return connection._execute_clauseelement(
> /usr/lib/python3/dist-packages/sqlalchemy/engine/base.py:1572: in
> _execute_clauseelement
> ret = self._execute_context(
> /usr/lib/python3/dist-packages/sqlalchemy/engine/base.py:1943: in
> _execute_context
> self._handle_dbapi_exception(
> /usr/lib/python3/dist-packages/sqlalchemy/engine/base.py:2124: in
> _handle_dbapi_exception
> util.raise_(
> /usr/lib/python3/dist-packages/sqlalchemy/util/compat.py:211: in raise_
> raise exception
> /usr/lib/python3/dist-packages/sqlalchemy/engine/base.py:1900: in
> _execute_context
> self.dialect.do_execute(
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> self = <sqlalchemy.dialects.sqlite.pysqlite.SQLiteDialect_pysqlite object at
> 0x7fc2e4115950>
> cursor = <sqlite3.Cursor object at 0x7fc2e48485c0>
> statement = 'UPDATE sphinx_comments SET username=? WHERE
> sphinx_comments.username = ?'
> parameters = ('new_user_two', 'user_two')
> context = <sqlalchemy.dialects.sqlite.base.SQLiteExecutionContext object at
> 0x7fc2e41174d0>
>
> def do_execute(self, cursor, statement, parameters, context=None):
> > cursor.execute(statement, parameters)
> E sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) database
> is locked
> E [SQL: UPDATE sphinx_comments SET username=? WHERE
> sphinx_comments.username = ?]
> E [parameters: ('new_user_two', 'user_two')]
> E (Background on this error at: https://sqlalche.me/e/14/e3q8)
>
> /usr/lib/python3/dist-packages/sqlalchemy/engine/default.py:736:
> OperationalError
> ________________________________ test_proposals
> ________________________________
>
> support = <sphinxcontrib.websupport.core.WebSupport object at 0x7fc2e3eb92d0>
>
> @pytest.mark.skipif(sqlalchemy_missing, reason='needs sqlalchemy')
> @with_support()
> def test_proposals(support):
> session = Session()
> node = session.query(Node).first()
>
> > data = support.get_data(node.id)
> E AttributeError: 'NoneType' object has no attribute 'id'
>
> tests/test_websupport.py:222: AttributeError
> _________________________________ test_voting
> __________________________________
>
> support = <sphinxcontrib.websupport.core.WebSupport object at 0x7fc2e3f5f110>
>
> @pytest.mark.skipif(sqlalchemy_missing, reason='needs sqlalchemy')
> @with_support()
> def test_voting(support):
> session = Session()
> nodes = session.query(Node).all()
> > node = nodes[0]
> E IndexError: list index out of range
>
> tests/test_websupport.py:237: IndexError
> =============================== warnings summary
> ===============================
> sphinxcontrib/websupport/__init__.py:14
>
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/sphinxcontrib/websupport/__init__.py:14:
> DeprecationWarning: pkg_resources is deprecated as an API. See
> https://setuptools.pypa.io/en/latest/pkg_resources.html
> __import__('pkg_resources').declare_namespace(__name__)
>
> sphinxcontrib/websupport/__init__.py:14
>
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/sphinxcontrib/websupport/__init__.py:14:
> DeprecationWarning: Deprecated call to
> `pkg_resources.declare_namespace('sphinxcontrib.websupport')`.
> 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
> __import__('pkg_resources').declare_namespace(__name__)
>
> ../../../../../../usr/lib/python3/dist-packages/pkg_resources/__init__.py:2350
> /usr/lib/python3/dist-packages/pkg_resources/__init__.py:2350:
> DeprecationWarning: Deprecated call to
> `pkg_resources.declare_namespace('sphinxcontrib')`.
> 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
> declare_namespace(parent)
>
> ../../../../../../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
>
> ../../../../../../usr/lib/python3/dist-packages/sphinx/util/images.py:4
> /usr/lib/python3/dist-packages/sphinx/util/images.py:4: DeprecationWarning:
> 'imghdr' is deprecated and slated for removal in Python 3.13
> import imghdr
>
> sphinxcontrib/websupport/storage/sqlalchemy_db.py:24
>
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/sphinxcontrib/websupport/storage/sqlalchemy_db.py:24:
> MovedIn20Warning: Deprecated API features detected! These feature(s) are not
> compatible with SQLAlchemy 2.0. To prevent incompatible upgrades prior to
> updating applications, ensure requirements files are pinned to
> "sqlalchemy<2.0". Set environment variable SQLALCHEMY_WARN_20=1 to show all
> deprecation warnings. Set environment variable
> SQLALCHEMY_SILENCE_UBER_WARNING=1 to silence this message. (Background on
> SQLAlchemy 2.0 at: https://sqlalche.me/e/b8d9)
> Base = declarative_base()
>
> -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
> =========================== short test summary info
> ============================
> FAILED tests/test_searchadapters.py::test_xapian - AttributeError: 'str'
> obje...
> FAILED tests/test_searchadapters.py::test_whoosh - AttributeError: 'str'
> obje...
> FAILED tests/test_websupport.py::test_build - AttributeError: 'str' object
> ha...
> FAILED tests/test_websupport.py::test_comments - IndexError: list index out
> o...
> FAILED tests/test_websupport.py::test_user_delete_comments - AttributeError:
> ...
> FAILED tests/test_websupport.py::test_moderation - IndexError: list index
> out...
> FAILED tests/test_websupport.py::test_moderator_delete_comments -
> AttributeEr...
> FAILED tests/test_websupport.py::test_update_username -
> sqlalchemy.exc.Operat...
> FAILED tests/test_websupport.py::test_proposals - AttributeError: 'NoneType'
> ...
> FAILED tests/test_websupport.py::test_voting - IndexError: list index out of
> ...
> ================== 10 failed, 3 passed, 6 warnings in 10.19s
> ===================
> E: pybuild pybuild:395: test: plugin distutils failed with: exit code=1: cd
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build; python3.11 -m pytest tests
> dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.11
> returned exit code 13
The full build log is available from:
http://qa-logs.debian.net/2023/09/25/sphinxcontrib-websupport_1.2.4-2_unstable.log
All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20230925;users=lu...@debian.org
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20230925&fusertaguser=lu...@debian.org&allbugs=1&cseverity=1&ctags=1&caffected=1#results
A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!
If you reassign this bug to another package, please mark it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects
If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.
--- End Message ---