Your message dated Wed, 22 Jan 2025 15:11:03 +0000
with message-id <e1tacnj-008hil...@fasolo.debian.org>
and subject line Bug#1093350: fixed in poetry 2.0.1+dfsg-1
has caused the Debian Bug report #1093350,
regarding poetry: FTBFS: AttributeError: 'Application' object has no attribute 
'set_solution_provider_repository'
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
1093350: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1093350
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
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.

--- End Message ---
--- Begin Message ---
Source: poetry
Source-Version: 2.0.1+dfsg-1
Done: Emmanuel Arias <eam...@debian.org>

We believe that the bug you reported is fixed in the latest version of
poetry, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1093...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Emmanuel Arias <eam...@debian.org> (supplier of updated poetry package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmas...@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Tue, 21 Jan 2025 13:34:34 -0300
Source: poetry
Architecture: source
Version: 2.0.1+dfsg-1
Distribution: unstable
Urgency: medium
Maintainer: Debian Python Team <team+pyt...@tracker.debian.org>
Changed-By: Emmanuel Arias <eam...@debian.org>
Closes: 1093350
Changes:
 poetry (2.0.1+dfsg-1) unstable; urgency=medium
 .
   * New upstream version (Closes: #1093350).
   * d/patches: Remove fix-encoding-warning-with-pep597-enabled.patch and
     skip-test-with-prefer-active-python-key.patch patches, they are not longer
     needed.
   * d/control: Update pin version for python3-poetry-core and python3-cleo.
   * d/patches/0001-Apply-workaround-to-fix-httpretty-with-urllib-2.3.patch: Add
     workaround to fix an issue with httpretty and urlib >= 2.3.
   * d/rules: Ignore tests because they use internet or required old Python
     version: test_build_environment_called_build_script_specified,
     test_solver_ignores_explicit_repo_for_transitive_dependencies,
     test_file_hashes_returns_none_for_blake2_with_fips,
     test_solver_does_not_choose_from_supplemental_repository_by_default,
     test_get_preferred_python_use_poetry_python_disabled,
     test_solver_chooses_from_supplemental_if_explicit,
     test_file_hashes_returns_none_for_md5_with_fips and
     test_file_hashes_returns_proper_hashes_for_file.
     - Also ignore them and test_env_system_packages_are_relative_to_lib in
       d/tests/pytest.
Checksums-Sha1:
 73b34af04349b9bbd4daffd2d5bea27747929163 3246 poetry_2.0.1+dfsg-1.dsc
 b77b298a8cc4e660836e57e3df78843ddd7b05d8 3552552 poetry_2.0.1+dfsg.orig.tar.xz
 fad08fe714dc79f5975263a0cacb3cc2e8529d7d 7856 poetry_2.0.1+dfsg-1.debian.tar.xz
 74a44d9bd820578cc6025f4dbcd1280a497d0b82 10988 
poetry_2.0.1+dfsg-1_amd64.buildinfo
Checksums-Sha256:
 9a9e3e4726e15c4b051905208149f1521d3173a9954dd59c1486de1e8d304e76 3246 
poetry_2.0.1+dfsg-1.dsc
 0e43549beada7d0ec16150aff7be459fddbe25981b3af0ceec24b255220e60f4 3552552 
poetry_2.0.1+dfsg.orig.tar.xz
 ff5ef62ae098baf9a07894a2bee086c8546f02a80e1945f98d9db4d3eae3aebd 7856 
poetry_2.0.1+dfsg-1.debian.tar.xz
 6aab7e2016b1a4eb2c4f75c060d4823f18e935e7418e3fe5e9880afdbd8d6c3c 10988 
poetry_2.0.1+dfsg-1_amd64.buildinfo
Files:
 627cccbc02205a9d76ef3ca385baaccf 3246 python optional poetry_2.0.1+dfsg-1.dsc
 b47c43626d40c1bb5d7de8f028388fa5 3552552 python optional 
poetry_2.0.1+dfsg.orig.tar.xz
 a0a663d7c77b3bc9e2f21a61c1b94b40 7856 python optional 
poetry_2.0.1+dfsg-1.debian.tar.xz
 d60efd3754bea33f7cac19659bd98361 10988 python optional 
poetry_2.0.1+dfsg-1_amd64.buildinfo

-----BEGIN PGP SIGNATURE-----

iQJGBAEBCgAwFiEEE3lnVbvHK7ir4q61+p3sXeEcY/EFAmeQ/J4SHGVhbWFudUBk
ZWJpYW4ub3JnAAoJEPqd7F3hHGPxNxEP/0MFu547dvh1vYJXaGYO9zewnwoQn12K
fRd708krQ/b+tVKL1XOVrs060UDZ5cH1Fs93zD2OAV6nOe3Pd0gaGYa+av9LAotH
fWEOMnD29YT2y3oMM2KrbiXwEJGGLyECSzNUa/RIUFoNfF8O2VYSqxhcibhjnsLV
IICvUQ5QeZHe/MJqXrjPyYYm7bWHN2Wzcb8JuIilXhwH1H+SsAkNUrMHU++ucJrw
ohK2TQanSJumkjIm0y83MSyuiq4FG6J1XJONCBgXKgm64fhxyLGiMYCW4B1NuReI
0QLc3+ksbbN9+ZEv5F62VUsh2dSUp5ZV2nQR7WarImisPv4Ku7AslNdsI8LJ1rVX
E6wCc+2P9QBuz1/yIABjUxcozLXc7UvqIVUpy6GkpmciFrBUccNsOnbJ9IDCXiM1
7F8V73aMrTQd/6fMxwTnK54RWN8H77Wpiy4ObCxUglqNr+BooKvCElx8i8P8zvFU
LqJa2QyDd4FWEytPjKYmH0GnfxC6WBefAugR+y1CNjtzhYq46LXrUo6Q2w0304tV
3oOSjD7uj+QrNUaq+mJVcDKkzIakcnel0QtnZtfiWfQ1K6EOMTCDgSG5cjBWUrFV
e3+qHfRuVPVnjZk8UnEvxfc0jJoMfw6Kp2KBJod55p3MxKFiXNAT0ECi/JhvEAuN
77SU/ksGxZdr
=O6UC
-----END PGP SIGNATURE-----

Attachment: pgpqHp11PndM4.pgp
Description: PGP signature


--- End Message ---

Reply via email to