Package: src:poetry
Version: 1.8.3+dfsg-4
Severity: serious
Tags: ftbfs trixie sid

Dear maintainer:

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

--------------------------------------------------------------------------------
[...]
 debian/rules clean
dh clean --with python3 --buildsystem=pybuild
   debian/rules override_dh_auto_clean
make[1]: Entering directory '/<<PKGBUILDDIR>>'
find . -iname '*.pyc' -delete
for i in $(find . -type d -iname __pycache__) ; do rm -rf $i ; done
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
   dh_autoreconf_clean -O--buildsystem=pybuild
   dh_clean -O--buildsystem=pybuild
 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

[... snipped ...]

            # true (that is, we know for sure no solution will satisfy the
            # incompatibility) while also approximating the intuitive notion of 
the
            # "root cause" of the conflict.
            new_terms = [
                term for term in incompatibility.terms if term != 
most_recent_term
            ]
    
            for term in most_recent_satisfier.cause.terms:
                if term.dependency != most_recent_satisfier.dependency:
                    new_terms.append(term)
    
            # The most_recent_satisfier may not satisfy most_recent_term on its 
own
            # if there are a collection of constraints on most_recent_term that
            # only satisfy it together. For example, if most_recent_term is
            # `foo ^1.0.0` and _solution contains `[foo >=1.0.0,
            # foo <2.0.0]`, then most_recent_satisfier will be `foo <2.0.0` even
            # though it doesn't totally satisfy `foo ^1.0.0`.
            #
            # In this case, we add `not (most_recent_satisfier \ 
most_recent_term)` to
            # the incompatibility as well, See the `algorithm documentation`_ 
for
            # details.
            #
            # .. _algorithm documentation:
            # 
https://github.com/dart-lang/pub/tree/master/doc/solver.md#conflict-resolution
            if difference is not None:
                inverse = difference.inverse
                if inverse.dependency != most_recent_satisfier.dependency:
                    new_terms.append(inverse)
    
            incompatibility = Incompatibility(
                new_terms, ConflictCause(incompatibility, 
most_recent_satisfier.cause)
            )
            new_incompatibility = True
    
            partially = "" if difference is None else " partially"
            self._log(
                f"! {most_recent_term} is{partially} satisfied by"
                f" {most_recent_satisfier}"
            )
            self._log(f'! which is caused by "{most_recent_satisfier.cause}"')
            self._log(f"! thus: {incompatibility}")
    
>       raise SolveFailure(incompatibility)
E       poetry.mixology.failure.SolveFailure: The current project's supported 
Python range (3.7.0) is not compatible with some of the required packages 
Python requirement:
E         - poetry-core requires Python >=3.8,<4.0, so it will not be satisfied 
for Python 3.7.0
E       
E       Because poetry depends on poetry-core (1.9.0) which requires Python 
>=3.8,<4.0, version solving failed.

poetry/mixology/version_solver.py:427: SolveFailure

During handling of the above exception, another exception occurred:

self = <poetry.console.application.Application object at 0x7f191b495550>
input = <cleo.io.inputs.string_input.StringInput object at 0x7f191a5b5c70>
output = <cleo.io.outputs.buffered_output.BufferedOutput object at 
0x7f191b624c90>
error_output = <cleo.io.outputs.buffered_output.BufferedOutput object at 
0x7f191b7af770>

    def run(
        self,
        input: Input | None = None,
        output: Output | None = None,
        error_output: Output | None = None,
    ) -> int:
        try:
            io = self.create_io(input, output, error_output)
    
            self._configure_io(io)
    
            try:
>               exit_code = self._run(io)

/usr/lib/python3/dist-packages/cleo/application.py:316: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
poetry/console/application.py:190: in _run
    exit_code: int = super()._run(io)
/usr/lib/python3/dist-packages/cleo/application.py:420: in _run
    exit_code = self._run_command(command, io)
/usr/lib/python3/dist-packages/cleo/application.py:462: in _run_command
    raise error
/usr/lib/python3/dist-packages/cleo/application.py:446: in _run_command
    exit_code = command.run(io)
/usr/lib/python3/dist-packages/cleo/commands/base_command.py:117: in run
    return self.execute(io) or 0
/usr/lib/python3/dist-packages/cleo/commands/command.py:61: in execute
    return self.handle()
poetry/console/commands/install.py:153: in handle
    return_code = self.installer.run()
poetry/installation/installer.py:104: in run
    return self._do_install()
poetry/installation/installer.py:301: in _do_install
    ops = solver.solve(use_latest=self._whitelist).calculate_operations(
poetry/puzzle/solver.py:71: in solve
    packages, depths = self._solve()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <poetry.puzzle.solver.Solver object at 0x7f19091a83d0>

    def _solve(self) -> tuple[list[Package], list[int]]:
        if self._provider._overrides:
            self._overrides.append(self._provider._overrides)
    
        try:
            result = resolve_version(self._package, self._provider)
    
            packages = result.packages
        except OverrideNeeded as e:
            return self._solve_in_compatibility_mode(e.overrides)
        except SolveFailure as e:
>           raise SolverProblemError(e)
E           poetry.puzzle.exceptions.SolverProblemError: The current project's 
supported Python range (3.7.0) is not compatible with some of the required 
packages Python requirement:
E             - poetry-core requires Python >=3.8,<4.0, so it will not be 
satisfied for Python 3.7.0
E           
E           Because poetry depends on poetry-core (1.9.0) which requires Python 
>=3.8,<4.0, version solving failed.

poetry/puzzle/solver.py:160: SolverProblemError

During handling of the above exception, another exception occurred:

mocker = <pytest_mock.plugin.MockerFixture object at 0x7f191b088390>
disable_cache = True

    @pytest.mark.parametrize("disable_cache", [True, False])
    def test_application_verify_cache_flag_at_install(
        mocker: MockerFixture, disable_cache: bool
    ) -> None:
        app = Application()
    
        tester = ApplicationTester(app)
        command = "install --dry-run"
    
        if disable_cache:
            command = f"{command} --no-cache"
    
        spy = mocker.spy(Authenticator, "__init__")
    
>       tester.execute(command)

tests/console/test_application.py:122: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/usr/lib/python3/dist-packages/cleo/testers/application_tester.py:69: in execute
    self._status_code = self._application.run(
/usr/lib/python3/dist-packages/cleo/application.py:327: in run
    self.render_error(e, io)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <poetry.console.application.Application object at 0x7f191b495550>
error = SolverProblemError("The current project's supported Python range 
(3.7.0) is not compatible with some of the required p...thon 3.7.0\n\nBecause 
poetry depends on poetry-core (1.9.0) which requires Python >=3.8,<4.0, version 
solving failed.")
io = <cleo.io.io.IO object at 0x7f191a5b82f0>

    def render_error(self, error: Exception, io: IO) -> None:
        # We set the solution provider repository here to load providers
        # only when an error occurs
>       
> self.set_solution_provider_repository(self._get_solution_provider_repository())
E       AttributeError: 'Application' object has no attribute 
'set_solution_provider_repository'

poetry/console/application.py:180: AttributeError
_____________ test_application_verify_cache_flag_at_install[False] _____________
[gw1] linux -- Python 3.13.1 /usr/bin/python3.13

self = <poetry.puzzle.solver.Solver object at 0x7f1900a1e050>

    def _solve(self) -> tuple[list[Package], list[int]]:
        if self._provider._overrides:
            self._overrides.append(self._provider._overrides)
    
        try:
>           result = resolve_version(self._package, self._provider)

poetry/puzzle/solver.py:154: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
poetry/mixology/__init__.py:18: in resolve_version
    return solver.solve()
poetry/mixology/version_solver.py:174: in solve
    self._propagate(next)
poetry/mixology/version_solver.py:213: in _propagate
    root_cause = self._resolve_conflict(incompatibility)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <poetry.mixology.version_solver.VersionSolver object at 0x7f1900a1ea50>
incompatibility = <Incompatibility version solving failed>

    def _resolve_conflict(self, incompatibility: Incompatibility) -> 
Incompatibility:
        """
        Given an incompatibility that's satisfied by _solution,
        The `conflict resolution`_ constructs a new incompatibility that 
encapsulates
        the root cause of the conflict and backtracks _solution until the new
        incompatibility will allow _propagate() to deduce new assignments.
    
        Adds the new incompatibility to _incompatibilities and returns it.
    
        .. _conflict resolution:
        
https://github.com/dart-lang/pub/tree/master/doc/solver.md#conflict-resolution
        """
        self._log(f"conflict: {incompatibility}")
    
        new_incompatibility = False
        while not incompatibility.is_failure():
            # The term in incompatibility.terms that was most recently 
satisfied by
            # _solution.
            most_recent_term = None
    
            # The earliest assignment in _solution such that incompatibility is
            # satisfied by _solution up to and including this assignment.
            most_recent_satisfier = None
    
            # The difference between most_recent_satisfier and most_recent_term;
            # that is, the versions that are allowed by most_recent_satisfier 
and not
            # by most_recent_term. This is None if most_recent_satisfier totally
            # satisfies most_recent_term.
            difference = None
    
            # The decision level of the earliest assignment in _solution 
*before*
            # most_recent_satisfier such that incompatibility is satisfied by
            # _solution up to and including this assignment plus
            # most_recent_satisfier.
            #
            # Decision level 1 is the level where the root package was 
selected. It's
            # safe to go back to decision level 0, but stopping at 1 tends to 
produce
            # better error messages, because references to the root package end 
up
            # closer to the final conclusion that no solution exists.
            previous_satisfier_level = 1
    
            for term in incompatibility.terms:
                satisfier = self._solution.satisfier(term)
    
                if most_recent_satisfier is None:
                    most_recent_term = term
                    most_recent_satisfier = satisfier
                elif most_recent_satisfier.index < satisfier.index:
                    previous_satisfier_level = max(
                        previous_satisfier_level, 
most_recent_satisfier.decision_level
                    )
                    most_recent_term = term
                    most_recent_satisfier = satisfier
                    difference = None
                else:
                    previous_satisfier_level = max(
                        previous_satisfier_level, satisfier.decision_level
                    )
    
                if most_recent_term == term:
                    # If most_recent_satisfier doesn't satisfy most_recent_term 
on its
                    # own, then the next-most-recent satisfier may be the one 
that
                    # satisfies the remainder.
                    difference = 
most_recent_satisfier.difference(most_recent_term)
                    if difference is not None:
                        previous_satisfier_level = max(
                            previous_satisfier_level,
                            
self._solution.satisfier(difference.inverse).decision_level,
                        )
    
            # If most_recent_identifier is the only satisfier left at its 
decision
            # level, or if it has no cause (indicating that it's a decision 
rather
            # than a derivation), then incompatibility is the root cause. We 
then
            # backjump to previous_satisfier_level, where incompatibility is
            # guaranteed to allow _propagate to produce more assignments.
    
            # using assert to suppress mypy [union-attr]
            assert most_recent_satisfier is not None
            if (
                previous_satisfier_level < most_recent_satisfier.decision_level
                or most_recent_satisfier.cause is None
            ):
                for level in range(
                    self._solution.decision_level, previous_satisfier_level, -1
                ):
                    if level in self._contradicted_incompatibilities_by_level:
                        self._contradicted_incompatibilities.difference_update(
                            
self._contradicted_incompatibilities_by_level.pop(level),
                        )
                    self._dependency_cache.clear_level(level)
    
                self._solution.backtrack(previous_satisfier_level)
                if new_incompatibility:
                    self._add_incompatibility(incompatibility)
    
                return incompatibility
    
            # Create a new incompatibility by combining incompatibility with the
            # incompatibility that caused most_recent_satisfier to be assigned. 
Doing
            # this iteratively constructs an incompatibility that's guaranteed 
to be
            # true (that is, we know for sure no solution will satisfy the
            # incompatibility) while also approximating the intuitive notion of 
the
            # "root cause" of the conflict.
            new_terms = [
                term for term in incompatibility.terms if term != 
most_recent_term
            ]
    
            for term in most_recent_satisfier.cause.terms:
                if term.dependency != most_recent_satisfier.dependency:
                    new_terms.append(term)
    
            # The most_recent_satisfier may not satisfy most_recent_term on its 
own
            # if there are a collection of constraints on most_recent_term that
            # only satisfy it together. For example, if most_recent_term is
            # `foo ^1.0.0` and _solution contains `[foo >=1.0.0,
            # foo <2.0.0]`, then most_recent_satisfier will be `foo <2.0.0` even
            # though it doesn't totally satisfy `foo ^1.0.0`.
            #
            # In this case, we add `not (most_recent_satisfier \ 
most_recent_term)` to
            # the incompatibility as well, See the `algorithm documentation`_ 
for
            # details.
            #
            # .. _algorithm documentation:
            # 
https://github.com/dart-lang/pub/tree/master/doc/solver.md#conflict-resolution
            if difference is not None:
                inverse = difference.inverse
                if inverse.dependency != most_recent_satisfier.dependency:
                    new_terms.append(inverse)
    
            incompatibility = Incompatibility(
                new_terms, ConflictCause(incompatibility, 
most_recent_satisfier.cause)
            )
            new_incompatibility = True
    
            partially = "" if difference is None else " partially"
            self._log(
                f"! {most_recent_term} is{partially} satisfied by"
                f" {most_recent_satisfier}"
            )
            self._log(f'! which is caused by "{most_recent_satisfier.cause}"')
            self._log(f"! thus: {incompatibility}")
    
>       raise SolveFailure(incompatibility)
E       poetry.mixology.failure.SolveFailure: The current project's supported 
Python range (3.7.0) is not compatible with some of the required packages 
Python requirement:
E         - poetry-core requires Python >=3.8,<4.0, so it will not be satisfied 
for Python 3.7.0
E       
E       Because poetry depends on poetry-core (1.9.0) which requires Python 
>=3.8,<4.0, version solving failed.

poetry/mixology/version_solver.py:427: SolveFailure

During handling of the above exception, another exception occurred:

self = <poetry.console.application.Application object at 0x7f1908a47e50>
input = <cleo.io.inputs.string_input.StringInput object at 0x7f19084449e0>
output = <cleo.io.outputs.buffered_output.BufferedOutput object at 
0x7f190827d400>
error_output = <cleo.io.outputs.buffered_output.BufferedOutput object at 
0x7f190827dfd0>

    def run(
        self,
        input: Input | None = None,
        output: Output | None = None,
        error_output: Output | None = None,
    ) -> int:
        try:
            io = self.create_io(input, output, error_output)
    
            self._configure_io(io)
    
            try:
>               exit_code = self._run(io)

/usr/lib/python3/dist-packages/cleo/application.py:316: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
poetry/console/application.py:190: in _run
    exit_code: int = super()._run(io)
/usr/lib/python3/dist-packages/cleo/application.py:420: in _run
    exit_code = self._run_command(command, io)
/usr/lib/python3/dist-packages/cleo/application.py:462: in _run_command
    raise error
/usr/lib/python3/dist-packages/cleo/application.py:446: in _run_command
    exit_code = command.run(io)
/usr/lib/python3/dist-packages/cleo/commands/base_command.py:117: in run
    return self.execute(io) or 0
/usr/lib/python3/dist-packages/cleo/commands/command.py:61: in execute
    return self.handle()
poetry/console/commands/install.py:153: in handle
    return_code = self.installer.run()
poetry/installation/installer.py:104: in run
    return self._do_install()
poetry/installation/installer.py:301: in _do_install
    ops = solver.solve(use_latest=self._whitelist).calculate_operations(
poetry/puzzle/solver.py:71: in solve
    packages, depths = self._solve()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <poetry.puzzle.solver.Solver object at 0x7f1900a1e050>

    def _solve(self) -> tuple[list[Package], list[int]]:
        if self._provider._overrides:
            self._overrides.append(self._provider._overrides)
    
        try:
            result = resolve_version(self._package, self._provider)
    
            packages = result.packages
        except OverrideNeeded as e:
            return self._solve_in_compatibility_mode(e.overrides)
        except SolveFailure as e:
>           raise SolverProblemError(e)
E           poetry.puzzle.exceptions.SolverProblemError: The current project's 
supported Python range (3.7.0) is not compatible with some of the required 
packages Python requirement:
E             - poetry-core requires Python >=3.8,<4.0, so it will not be 
satisfied for Python 3.7.0
E           
E           Because poetry depends on poetry-core (1.9.0) which requires Python 
>=3.8,<4.0, version solving failed.

poetry/puzzle/solver.py:160: SolverProblemError

During handling of the above exception, another exception occurred:

mocker = <pytest_mock.plugin.MockerFixture object at 0x7f191b194e20>
disable_cache = False

    @pytest.mark.parametrize("disable_cache", [True, False])
    def test_application_verify_cache_flag_at_install(
        mocker: MockerFixture, disable_cache: bool
    ) -> None:
        app = Application()
    
        tester = ApplicationTester(app)
        command = "install --dry-run"
    
        if disable_cache:
            command = f"{command} --no-cache"
    
        spy = mocker.spy(Authenticator, "__init__")
    
>       tester.execute(command)

tests/console/test_application.py:122: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/usr/lib/python3/dist-packages/cleo/testers/application_tester.py:69: in execute
    self._status_code = self._application.run(
/usr/lib/python3/dist-packages/cleo/application.py:327: in run
    self.render_error(e, io)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <poetry.console.application.Application object at 0x7f1908a47e50>
error = SolverProblemError("The current project's supported Python range 
(3.7.0) is not compatible with some of the required p...thon 3.7.0\n\nBecause 
poetry depends on poetry-core (1.9.0) which requires Python >=3.8,<4.0, version 
solving failed.")
io = <cleo.io.io.IO object at 0x7f19085357f0>

    def render_error(self, error: Exception, io: IO) -> None:
        # We set the solution provider repository here to load providers
        # only when an error occurs
>       
> self.set_solution_provider_repository(self._get_solution_provider_repository())
E       AttributeError: 'Application' object has no attribute 
'set_solution_provider_repository'

poetry/console/application.py:180: AttributeError
=============================== warnings summary ===============================
tests/console/commands/test_publish.py: 2 warnings
tests/console/commands/test_search.py: 1 warning
tests/publishing/test_uploader.py: 18 warnings
tests/repositories/test_legacy_repository.py: 13 warnings
tests/inspection/test_lazy_wheel.py: 101 warnings
tests/installation/test_chooser.py: 26 warnings
tests/installation/test_executor.py: 3 warnings
tests/utils/test_authenticator.py: 73 warnings
  /usr/lib/python3/dist-packages/httpretty/core.py:1077: DeprecationWarning: 
datetime.datetime.utcnow() is deprecated and scheduled for removal in a future 
version. Use timezone-aware objects to represent datetimes in UTC: 
datetime.datetime.now(datetime.UTC).
    now = datetime.utcnow()

tests/inspection/test_info.py::test_info_from_wheel_metadata_version_unknown
  /usr/lib/python3/dist-packages/pkginfo/distribution.py:184: 
NewMetadataVersion: New metadata version (New metadata version (999.3) higher 
than latest supported version: parsing as 2.4) higher than latest supported 
version: parsing as 2.4
    warnings.warn(NewMetadataVersion(self.metadata_version))

tests/utils/test_authenticator.py::test_authenticator_falls_back_to_keyring_url
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_poetry/build/tests/utils/test_authenticator.py:197:
 DeprecationWarning: Empty usernames are deprecated. See #668
    dummy_keyring.set_password(

tests/utils/test_authenticator.py::test_authenticator_falls_back_to_keyring_netloc
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_poetry/build/tests/utils/test_authenticator.py:223:
 DeprecationWarning: Empty usernames are deprecated. See #668
    dummy_keyring.set_password("foo.bar", None, SimpleCredential("foo", "bar"))

tests/utils/test_authenticator.py::test_authenticator_falls_back_to_keyring_url_matched_by_path
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_poetry/build/tests/utils/test_authenticator.py:486:
 DeprecationWarning: Empty usernames are deprecated. See #668
    dummy_keyring.set_password(

tests/utils/test_authenticator.py::test_authenticator_falls_back_to_keyring_url_matched_by_path
  
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_poetry/build/tests/utils/test_authenticator.py:489:
 DeprecationWarning: Empty usernames are deprecated. See #668
    dummy_keyring.set_password(

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
FAILED 
tests/console/commands/test_publish.py::test_publish_returns_non_zero_code_for_upload_errors
FAILED 
tests/console/commands/test_publish.py::test_publish_returns_non_zero_code_for_connection_errors
FAILED 
tests/console/test_application.py::test_application_execute_plugin_command_with_plugins_disabled
FAILED 
tests/console/test_application.py::test_application_verify_cache_flag_at_install[True]
FAILED 
tests/console/test_application.py::test_application_verify_cache_flag_at_install[False]
=========== 5 failed, 1404 passed, 6 skipped, 242 warnings in 32.02s ===========
E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_poetry/build; python3.13 -m pytest 
--ignore=tests/console/commands/env/test_list.py 
--ignore=tests/console/commands/env/test_remove.py 
--ignore=tests/console/commands/env/test_use.py 
--ignore=tests/utils/test_env.py --ignore=tests/config/test_config.py 
--ignore=tests/utils/test_helpers.py -k 'not 
test_self_update_should_install_all_necessary_elements and not 
test_add_file_constraint_sdist and not 
test_add_file_constraint_sdist_old_installer and not 
test_builder_setup_generation_runs_with_pip_editable and not 
test_publish_dry_run and not test_info_from_sdist and not 
test_installer_can_install_dependencies_from_forced_source and not 
test_search_for_file_sdist and not test_search_for_file_sdist_with_extras and 
not test_solver_can_resolve_sdist_dependencies and not 
test_solver_can_resolve_sdist_dependencies_with_extras and not 
test_solver_chooses_from_correct_repository_if_
 forced and not 
test_solver_chooses_from_correct_repository_if_forced_and_transitive_dependency 
and not test_solver_does_not_choose_from_secondary_repository_by_default and 
not test_solver_chooses_from_secondary_if_explicit and not 
test_get_package_information_fallback_read_setup and not 
test_get_package_information_skips_dependencies_with_invalid_constraints and 
not test_get_package_retrieves_packages_with_no_hashes and not 
test_fallback_can_read_setup_to_get_dependencies and not 
test_exporter_can_export_requirements_txt_with_file_packages and not 
test_exporter_can_export_requirements_txt_with_file_packages_and_markers and 
not test_lock_no_update and not 
test_locker_dumps_dependency_information_correctly and not 
test_package_partial_yank and not test_run_installs_with_same_version_url_files 
and not test_env_info_displays_complete_info and not test_skip_existing_output 
and not 
test_installer_should_use_the_locked_version_of_git_dependencies_with_extras 
and not test_installer_should_u
 se_the_locked_version_of_git_dependencies_without_reference and not 
test_installer_uses_prereleases_if_they_are_compatible and not 
test_requirement_git_subdirectory and not test_check_valid and not 
test_check_invalid and not test_packages_property_returns_empty_list and not 
test_parse_dependency_specification and not 
test_info_setup_missing_mandatory_should_trigger_pep517 and not 
test_uninstall_git_package_nspkg_pth_cleanup and not 
test_executor_should_write_pep610_url_references_for_directories and not 
test_executor_should_write_pep610_url_references_for_git and not 
test_executor_should_write_pep610_url_references_for_git_with_subdirectories 
and not 
test_executor_should_write_pep610_url_references_for_git_with_subdirectories 
and not test_executor_should_write_pep610_url_references_for_non_wheel_urls and 
not test_executor_should_write_pep610_url_references_for_non_wheel_files and 
not test_prepare_sdist and not test_shell and not 
test_chooser_md5_remote_fallback_to_sha256_inline_calc
 ulation and not test_solver_ignores_explicit_repo_for_transient_dependencies 
and not test_installer_with_pypi_repository and not 
test_prepare_directory_editable and not test_prepare_directory and not 
test_prepare_directory_with_extensions and not 
test_build_backend_errors_are_reported_correctly_if_caused_by_subprocess and 
not 
test_build_backend_errors_are_reported_correctly_if_caused_by_subprocess_encoding
 and not test_isolated_env_install_success and not 
test_isolated_env_install_error and not test_isolated_env_install_failure and 
not test_application_with_plugins and not 
test_build_system_requires_not_available and not 
test_build_system_requires_install_failure and not 
test_prepare_directory_script and not test_fallback_on_detect_active_python and 
not test_get_venv_with_venv_folder_present and not test_not_fresh_lock and not 
test_list and not test_info_setup_complex_calls_script and not 
test_publish_dist_dir_option and not test_executor_known_hashes and not 
test_execute_executes_a
 _batch_of_operations and not test_execute_prints_warning_for_yanked_package 
and not test_build_environment_called_build_script_specified'
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.12 
3.13" returned exit code 13
make: *** [debian/rules:95: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------

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

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

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 could not reproduce the bug please contact me privately, as I
am willing to provide ssh access to a virtual machine where the bug is
fully reproducible.

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

Thanks.

Reply via email to