Source: sphinxcontrib-websupport
Version: 1.2.4-2
Severity: serious
Justification: FTBFS
Tags: trixie sid ftbfs
User: [email protected]
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 
> -----------------------------
> Running Sphinx v5.3.0
> building [mo]: targets for 0 po files that are out of date
> building [websupport]: targets for 14 source files that are 
> out of date
> updating environment: [new config] 14 added, 0 changed, 0 
> removed
> reading sources... [  7%] bom                 
>                                  
> reading sources... [ 14%] contents            
>                                  
> reading sources... [ 21%] extapi              
>                                  
> reading sources... [ 28%] extensions          
>                                  
> reading sources... [ 35%] footnote            
>                                  
> reading sources... [ 42%] images              
>                                  
> reading sources... [ 50%] includes            
>                                  
> reading sources... [ 57%] lists               
>                                  
> reading sources... [ 64%] markup              
>                                  
> reading sources... [ 71%] math                
>                                  
> reading sources... [ 78%] metadata            
>                                  
> reading sources... [ 85%] objects             
>                                  
> reading sources... [ 92%] subdir/images       
>                                  
> reading sources... [100%] subdir/includes     
>                                  
> 
> looking for now-outdated files... none found
> pickling environment... done
> checking consistency... done
> preparing documents... done
> writing output... [  7%] bom                  
>                                  
> writing output... [ 14%] contents             
>                                  
> writing output... [ 21%] extapi               
>                                  
> writing output... [ 28%] extensions           
>                                  
> writing output... [ 35%] footnote             
>                                  
> writing output... [ 42%] images               
>                                  
> writing output... [ 50%] includes             
>                                  
> writing output... [ 57%] lists                
>                                  
> writing output... [ 64%] markup               
>                                  
> writing output... [ 71%] math                 
>                                  
> writing output... [ 78%] metadata             
>                                  
> writing output... [ 85%] objects              
>                                  
> writing output... [ 92%] subdir/images        
>                                  
> writing output... [100%] subdir/includes      
>                                  
> 
> generating indices... genindex py-modindex done
> writing additional pages... search done
> copying images... [ 14%] img.png              
>                                  
> copying images... [ 28%] subdir/img.png       
>                                  
> copying images... [ 42%] subdir/simg.png      
>                                  
> copying images... [ 57%] svgimg.svg           
>                                  
> copying images... [ 71%] img.foo.png          
>                                  
> copying images... [ 85%] ../root/img.png      
>                                  
> copying images... [100%] rimg.png             
>                                  
> 
> copying downloadable files... [ 50%] 
> ../img.png                                
> copying downloadable files... [100%] 
> ../subdir/img.png                         
> 
> copying static files... done
> copying extra files... done
> ----------------------------- Captured stderr call 
> -----------------------------
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/tests/root/contents.txt:10:
>  WARNING: toctree contains reference to nonexisting document 
> 'autodoc'
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/tests/root/contents.txt:10:
>  WARNING: duplicated entry found in toctree: extensions
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/tests/root/extensions.txt:7:
>  ERROR: Unknown interpreted text role "issue".
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/tests/root/extensions.txt:7:
>  ERROR: Unknown interpreted text role "pyurl".
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/tests/root/extensions.txt:7:
>  ERROR: Unknown interpreted text role "issue".
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/tests/root/extensions.txt:14:
>  ERROR: Unknown directive type "todo".
> 
> .. todo::
> 
>    Test the todo extension.
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/tests/root/extensions.txt:18:
>  ERROR: Unknown directive type "todo".
> 
> .. todo::
> 
>    Test with |sub| (see #286).
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/tests/root/extensions.txt:28:
>  ERROR: Unknown directive type "todolist".
> 
> .. todolist::
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/tests/root/images.txt:9: 
> WARNING: image file not readable: foo.png
> /<<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
> /<<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()
>     -------------------^
> 
> /<<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
>   -------------------^
> /<<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
>   -------------^
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11/build/tests/root/contents.txt:10:
>  WARNING: extensions is already assigned section numbers (nested numbered 
> toctree?)
> /<<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 *
>   -----------^
> ________________________________ 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;[email protected]
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20230925&[email protected]&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.

Reply via email to