Package: src:sphinx-substitution-extensions Version: 2026.10.09-1 Severity: serious Tags: ftbfs forky sid
Dear maintainer: During a rebuild of all packages in unstable, this package failed to build. Below you will find the last part of the build log (probably the most relevant part, but not necessarily). If required, the full build log is available here: https://people.debian.org/~sanvila/build-logs/202610/ About the archive rebuild: The build was made on virtual machines from AWS, using sbuild and a reduced chroot with only build-essential packages. If you cannot 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 add an affects on src:sphinx-substitution-extensions, so that this is still visible in the BTS web page for this package. Thanks. -------------------------------------------------------------------------------- [...] from beartype._util.text.utiltextversion import ( /usr/lib/python3/dist-packages/beartype/_util/text/utiltextversion.py:15: in <module> from beartype.typing import Tuple /usr/lib/python3/dist-packages/beartype/typing/__init__.py:183: in <module> from typing import ( E ImportError: cannot import name 'no_type_check_decorator' from 'typing' (/usr/lib/python3.15/typing.py) =========================== short test summary info ============================ ERROR tests/test_equivalence_cases.py ERROR tests/test_substitution_extensions.py !!!!!!!!!!!!!!!!!!! Interrupted: 2 errors during collection !!!!!!!!!!!!!!!!!!!! ============================== 2 errors in 0.11s =============================== E: pybuild pybuild:485: test: plugin pyproject failed with: exit code=2: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.15_sphinx-substitution-extensions/build; python3.15 -m pytest tests I: pybuild base:383: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_sphinx-substitution-extensions/build; python3.14 -m pytest tests ============================= test session starts ============================== platform linux -- Python 3.14.8, pytest-9.1.1, pluggy-1.6.0 rootdir: /<<PKGBUILDDIR>>/.pybuild/cpython3_3.14_sphinx-substitution-extensions/build configfile: pyproject.toml collected 85 items tests/test_equivalence_cases.py::test_equivalent_builds[custom_myst_sub_delimiters_code_block] PASSED [ 1%] tests/test_equivalence_cases.py::test_equivalent_builds[default_myst_sub_delimiters_code_block] PASSED [ 2%] tests/test_equivalence_cases.py::test_equivalent_builds[default_substitution_include_content] PASSED [ 3%] tests/test_equivalence_cases.py::test_equivalent_builds[default_substitution_include_disabled_content] PASSED [ 4%] tests/test_equivalence_cases.py::test_equivalent_builds[default_substitutions_disabled_with_flag] PASSED [ 5%] tests/test_equivalence_cases.py::test_equivalent_builds[default_substitutions_enabled] PASSED [ 7%] tests/test_equivalence_cases.py::test_equivalent_builds[default_substitutions_image_disabled_path] PASSED [ 8%] tests/test_equivalence_cases.py::test_equivalent_builds[default_substitutions_image_path] PASSED [ 9%] tests/test_equivalence_cases.py::test_equivalent_builds[default_substitutions_literal_include_content] PASSED [ 10%] tests/test_equivalence_cases.py::test_equivalent_builds[default_substitutions_literal_include_disabled_content] PASSED [ 11%] tests/test_equivalence_cases.py::test_equivalent_builds[default_substitutions_literal_include_disabled_path] PASSED [ 12%] tests/test_equivalence_cases.py::test_equivalent_builds[default_substitutions_literal_include_path] PASSED [ 14%] tests/test_equivalence_cases.py::test_equivalent_builds[include_path_is_relative_to_source_directory[literal]] PASSED [ 15%] tests/test_equivalence_cases.py::test_equivalent_builds[include_path_is_relative_to_source_directory[substitution]] PASSED [ 16%] tests/test_equivalence_cases.py::test_equivalent_builds[myst_deep_nesting] PASSED [ 17%] tests/test_equivalence_cases.py::test_equivalent_builds[myst_empty_containers] PASSED [ 18%] tests/test_equivalence_cases.py::test_equivalent_builds[myst_frontmatter_substitutions] PASSED [ 20%] tests/test_equivalence_cases.py::test_equivalent_builds[myst_mixed_types_in_list] PASSED [ 21%] tests/test_equivalence_cases.py::test_equivalent_builds[myst_nested_lists] PASSED [ 22%] tests/test_equivalence_cases.py::test_equivalent_builds[myst_nested_substitutions] PASSED [ 23%] tests/test_equivalence_cases.py::test_equivalent_builds[myst_nested_substitutions_with_lists] PASSED [ 24%] tests/test_equivalence_cases.py::test_equivalent_builds[myst_substitution_code_role] PASSED [ 25%] tests/test_equivalence_cases.py::test_equivalent_builds[myst_substitution_download] PASSED [ 27%] tests/test_equivalence_cases.py::test_equivalent_builds[myst_substitution_hyperlink_target] PASSED [ 28%] tests/test_equivalence_cases.py::test_equivalent_builds[myst_substitutions] PASSED [ 29%] tests/test_equivalence_cases.py::test_equivalent_builds[myst_substitutions_custom_markdown_suffix] PASSED [ 30%] tests/test_equivalence_cases.py::test_equivalent_builds[myst_substitutions_ignored_given_rst_definition] PASSED [ 31%] tests/test_equivalence_cases.py::test_equivalent_builds[myst_substitutions_ignored_without_rst_definition] PASSED [ 32%] tests/test_equivalence_cases.py::test_equivalent_builds[myst_substitutions_image] PASSED [ 34%] tests/test_equivalence_cases.py::test_equivalent_builds[myst_substitutions_image_default_delimiters] PASSED [ 35%] tests/test_equivalence_cases.py::test_equivalent_builds[myst_substitutions_not_enabled] PASSED [ 36%] tests/test_equivalence_cases.py::test_equivalent_builds[no_substitution_code_block] PASSED [ 37%] tests/test_equivalence_cases.py::test_equivalent_builds[no_substitution_hyperlink_target] PASSED [ 38%] tests/test_equivalence_cases.py::test_equivalent_builds[no_substitution_image] PASSED [ 40%] tests/test_equivalence_cases.py::test_equivalent_builds[no_substitution_literal_include] PASSED [ 41%] tests/test_equivalence_cases.py::test_equivalent_builds[rst_substitution_key_with_dot_does_not_raise_error] PASSED [ 42%] tests/test_equivalence_cases.py::test_equivalent_builds[substitution_code_block] PASSED [ 43%] tests/test_equivalence_cases.py::test_equivalent_builds[substitution_code_block_case_preserving] PASSED [ 44%] tests/test_equivalence_cases.py::test_equivalent_builds[substitution_download] PASSED [ 45%] tests/test_equivalence_cases.py::test_equivalent_builds[substitution_hyperlink_target] PASSED [ 47%] tests/test_equivalence_cases.py::test_equivalent_builds[substitution_image_path] PASSED [ 48%] tests/test_equivalence_cases.py::test_equivalent_builds[substitution_image_path_multiple] PASSED [ 49%] tests/test_equivalence_cases.py::test_equivalent_builds[substitution_image_with_options] PASSED [ 50%] tests/test_equivalence_cases.py::test_equivalent_builds[substitution_include_content] PASSED [ 51%] tests/test_equivalence_cases.py::test_equivalent_builds[substitution_include_content_does_not_leak_to_nested_includes] PASSED [ 52%] tests/test_equivalence_cases.py::test_equivalent_builds[substitution_include_literal_content] PASSED [ 54%] tests/test_equivalence_cases.py::test_equivalent_builds[substitution_include_literal_content_with_include_read] PASSED [ 55%] tests/test_equivalence_cases.py::test_equivalent_builds[substitution_include_code_content_with_include_read] PASSED [ 56%] tests/test_equivalence_cases.py::test_equivalent_builds[substitution_include_parser_content_with_include_read] PASSED [ 57%] tests/test_equivalence_cases.py::test_equivalent_builds[substitution_parser_include_with_nested_include_read] PASSED [ 58%] tests/test_equivalence_cases.py::test_equivalent_builds[substitution_include_path_and_content] PASSED [ 60%] tests/test_equivalence_cases.py::test_equivalent_builds[substitution_inline] PASSED [ 61%] tests/test_equivalence_cases.py::test_equivalent_builds[substitution_inline_case_preserving] PASSED [ 62%] tests/test_equivalence_cases.py::test_equivalent_builds[substitution_literal_include] PASSED [ 63%] tests/test_equivalence_cases.py::test_equivalent_builds[substitution_literal_include_both_path_and_content] PASSED [ 64%] tests/test_equivalence_cases.py::test_equivalent_builds[substitution_literal_include_empty_file] PASSED [ 65%] tests/test_equivalence_cases.py::test_equivalent_builds[substitution_literal_include_multiple] PASSED [ 67%] tests/test_equivalence_cases.py::test_equivalent_builds[substitution_literal_include_path] PASSED [ 68%] tests/test_equivalence_cases.py::test_equivalent_builds[substitution_literal_include_with_caption] PASSED [ 69%] tests/test_equivalence_cases.py::test_equivalent_builds[xref_role_class_prefix_removal] PASSED [ 70%] tests/test_equivalence_cases.py::test_invalid_manifest[schema-version] PASSED [ 71%] tests/test_equivalence_cases.py::test_invalid_manifest[cases-type] PASSED [ 72%] tests/test_equivalence_cases.py::test_invalid_manifest[unknown-root-key] PASSED [ 74%] tests/test_equivalence_cases.py::test_invalid_manifest[case-type] PASSED [ 75%] tests/test_equivalence_cases.py::test_invalid_manifest[case-id-type] PASSED [ 76%] tests/test_equivalence_cases.py::test_invalid_manifest[files-type] PASSED [ 77%] tests/test_equivalence_cases.py::test_invalid_manifest[file-content-type] PASSED [ 78%] tests/test_equivalence_cases.py::test_invalid_manifest[warning-setting-type] PASSED [ 80%] tests/test_equivalence_cases.py::test_invalid_manifest[unknown-case-key] PASSED [ 81%] tests/test_equivalence_cases.py::test_invalid_manifest[duplicate-case-id] PASSED [ 82%] tests/test_equivalence_cases.py::test_destination_rejects_unsafe_path[/escape] PASSED [ 83%] tests/test_equivalence_cases.py::test_destination_rejects_unsafe_path[../escape] PASSED [ 84%] tests/test_equivalence_cases.py::test_write_build_rejects_overlapping_files PASSED [ 85%] tests/test_myst.py::test_myst_invalid_substitution_access PASSED [ 87%] tests/test_myst.py::test_myst_substitution_key_with_dot_raises_error PASSED [ 88%] tests/test_myst.py::test_myst_nested_substitution_key_with_dot_raises_error PASSED [ 89%] tests/test_substitution_extensions.py::test_setup PASSED [ 90%] tests/test_substitution_extensions.py::test_substitution_literal_include_in_rest_example PASSED [ 91%] tests/test_substitution_extensions.py::test_no_substitution_include PASSED [ 92%] tests/test_substitution_extensions.py::test_include_fragment_is_not_reported_as_unreferenced PASSED [ 94%] tests/test_substitution_extensions.py::test_include_without_sphinx_environment PASSED [ 95%] tests/test_substitution_extensions.py::test_substitution_include_path PASSED [ 96%] tests/test_substitution_extensions.py::test_include_read_event_with_content_substitutions PASSED [ 97%] tests/test_substitution_extensions.py::test_default_substitution_include_path PASSED [ 98%] tests/test_substitution_extensions.py::test_default_substitution_include_disabled PASSED [100%] =============================== warnings summary =============================== tests/test_substitution_extensions.py::test_default_substitution_include_disabled /usr/lib/python3/dist-packages/myst_parser/mocking.py:421: RemovedInSphinx11Warning: 'sphinx.environment.BuildEnvironment.app' is deprecated. Check CHANGES for Sphinx API modifications. self.renderer.sphinx_env.app.events.emit( -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html ======================== 85 passed, 1 warning in 8.21s ========================= dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.15 3.14" --parallel=2 returned exit code 13 make: *** [debian/rules:5: binary] Error 25 dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2 --------------------------------------------------------------------------------

