--- 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 ---