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/202601/
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:todoman, so that this is still
visible in the BTS web page for this package.
Thanks.
--------------------------------------------------------------------------------
[...]
debian/rules clean
dh clean --buildsystem=pybuild
debian/rules override_dh_auto_clean
make[1]: Entering directory '/<<PKGBUILDDIR>>'
rm -f /<<PKGBUILDDIR>>/debian/hypothesis
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
dh_autoreconf_clean -O--buildsystem=pybuild
dh_clean -O--buildsystem=pybuild
debian/rules binary
dh binary --buildsystem=pybuild
dh_update_autotools_config -O--buildsystem=pybuild
dh_autoreconf -O--buildsystem=pybuild
dh_auto_configure -O--buildsystem=pybuild
dh_auto_build -O--buildsystem=pybuild
I: pybuild plugin_pyproject:139: Building wheel for python3.14 with "build" module
[... snipped ...]
tests/test_config.py::test_xdg_existant [32mPASSED[0m[33m [ 42%][0m
tests/test_config.py::test_sane_config [32mPASSED[0m[33m [ 43%][0m
tests/test_config.py::test_invalid_color [32mPASSED[0m[33m [ 43%][0m
tests/test_config.py::test_invalid_color_arg [32mPASSED[0m[33m [ 44%][0m
tests/test_config.py::test_missing_path [32mPASSED[0m[33m [ 44%][0m
tests/test_config.py::test_extra_entry [33mXFAIL[0m (Not implemented)[33m [ 45%][0m
tests/test_config.py::test_extra_section [33mXFAIL[0m (Not implemented)[33m [ 45%][0m
tests/test_config.py::test_missing_cache_dir [32mPASSED[0m[33m [ 46%][0m
tests/test_config.py::test_date_field_in_time_format [32mPASSED[0m[33m [ 46%][0m
tests/test_config.py::test_date_field_in_time [32mPASSED[0m[33m [ 47%][0m
tests/test_config.py::test_colour_validation_auto [32mPASSED[0m[33m [ 47%][0m
tests/test_config.py::test_colour_validation_always [32mPASSED[0m[33m [ 48%][0m
tests/test_config.py::test_colour_validation_invalid [32mPASSED[0m[33m [ 48%][0m
tests/test_filtering.py::test_priority [32mPASSED[0m[33m [ 49%][0m
tests/test_filtering.py::test_location [32mPASSED[0m[33m [ 50%][0m
tests/test_filtering.py::test_category [32mPASSED[0m[33m [ 50%][0m
tests/test_filtering.py::test_grep [32mPASSED[0m[33m [ 51%][0m
tests/test_filtering.py::test_filtering_lists [32mPASSED[0m[33m [ 51%][0m
tests/test_filtering.py::test_due_aware [32mPASSED[0m[33m [ 52%][0m
tests/test_filtering.py::test_due_naive [32mPASSED[0m[33m [ 52%][0m
tests/test_filtering.py::test_filtering_start [32mPASSED[0m[33m [ 53%][0m
tests/test_filtering.py::test_statuses [32mPASSED[0m[33m [ 53%][0m
tests/test_formatter.py::test_humanized_datetime[CET-interval0] [32mPASSED[0m[33m [ 54%][0m
tests/test_formatter.py::test_humanized_datetime[CET-interval1] [32mPASSED[0m[33m [ 54%][0m
tests/test_formatter.py::test_humanized_datetime[HST-interval0] [32mPASSED[0m[33m [ 55%][0m
tests/test_formatter.py::test_humanized_datetime[HST-interval1] [32mPASSED[0m[33m [ 55%][0m
tests/test_formatter.py::test_humanized_date[CET-interval0] [32mPASSED[0m[33m [ 56%][0m
tests/test_formatter.py::test_humanized_date[CET-interval1] [32mPASSED[0m[33m [ 56%][0m
tests/test_formatter.py::test_humanized_date[HST-interval0] [32mPASSED[0m[33m [ 57%][0m
tests/test_formatter.py::test_humanized_date[HST-interval1] [32mPASSED[0m[33m [ 57%][0m
tests/test_formatter.py::test_format_priority [32mPASSED[0m[33m [ 58%][0m
tests/test_formatter.py::test_format_priority_compact [32mPASSED[0m[33m [ 58%][0m
tests/test_formatter.py::test_format_date [32mPASSED[0m[33m [ 59%][0m
tests/test_formatter.py::test_format_datetime [32mPASSED[0m[33m [ 59%][0m
tests/test_formatter.py::test_detailed_format [32mPASSED[0m[33m [ 60%][0m
tests/test_formatter.py::test_parse_time [32mPASSED[0m[33m [ 60%][0m
tests/test_formatter.py::test_parse_datetime [32mPASSED[0m[33m [ 61%][0m
tests/test_formatter.py::test_humanized_parse_datetime [32mPASSED[0m[33m [ 61%][0m
tests/test_formatter.py::test_simple_action [32mPASSED[0m[33m [ 62%][0m
tests/test_formatter.py::test_formatting_parsing_consitency [32mPASSED[0m[33m [ 62%][0m
tests/test_formatter.py::test_rgb_to_ansi [32mPASSED[0m[33m [ 63%][0m
tests/test_formatter.py::test_format_multiple_with_list [32mPASSED[0m[33m [ 63%][0m
tests/test_formatter.py::test_format_multiple_without_list [32mPASSED[0m[33m [ 64%][0m
tests/test_main.py::test_main [32mPASSED[0m[33m [ 64%][0m
tests/test_model.py::test_querying [32mPASSED[0m[33m [ 65%][0m
tests/test_model.py::test_retain_tz [32mPASSED[0m[33m [ 65%][0m
tests/test_model.py::test_due_date [32mPASSED[0m[33m [ 66%][0m
tests/test_model.py::test_change_paths [32mPASSED[0m[33m [ 67%][0m
tests/test_model.py::test_list_displayname [32mPASSED[0m[33m [ 67%][0m
tests/test_model.py::test_list_colour [32mPASSED[0m[33m [ 68%][0m
tests/test_model.py::test_list_colour_cache_invalidation [32mPASSED[0m[33m [ 68%][0m
tests/test_model.py::test_list_no_colour [32mPASSED[0m[33m [ 69%][0m
tests/test_model.py::test_database_priority_sorting [32mPASSED[0m[33m [ 69%][0m
tests/test_model.py::test_retain_unknown_fields [32mPASSED[0m[33m [ 70%][0m
tests/test_model.py::test_category_integrity [32mPASSED[0m[33m [ 70%][0m
tests/test_model.py::test_category_deletes_on_todo_delete [32mPASSED[0m[33m [ 71%][0m
tests/test_model.py::test_todo_setters [32mPASSED[0m[33m [ 71%][0m
tests/test_model.py::test_is_completed [32mPASSED[0m[33m [ 72%][0m
tests/test_model.py::test_complete_recurring[True-tz0-20990315T020000Z] [32mPASSED[0m[33m [ 72%][0m
tests/test_model.py::test_complete_recurring[True-tz0-20990315T020000] [33mSKIPPED[0m[33m [ 73%][0m
tests/test_model.py::test_complete_recurring[True-None-20990315T020000Z] [33mSKIPPED[0m[33m [ 73%][0m
tests/test_model.py::test_complete_recurring[True-None-20990315T020000] [32mPASSED[0m[33m [ 74%][0m
tests/test_model.py::test_complete_recurring[False-tz0-20990315T020000Z] [32mPASSED[0m[33m [ 74%][0m
tests/test_model.py::test_complete_recurring[False-tz0-20990315T020000] [33mSKIPPED[0m[33m [ 75%][0m
tests/test_model.py::test_complete_recurring[False-None-20990315T020000Z] [33mSKIPPED[0m[33m [ 75%][0m
tests/test_model.py::test_complete_recurring[False-None-20990315T020000] [32mPASSED[0m[33m [ 76%][0m
tests/test_model.py::test_save_recurring_related [32mPASSED[0m[33m [ 76%][0m
tests/test_model.py::test_save_recurring_related_with_date [32mPASSED[0m[33m [ 77%][0m
tests/test_model.py::test_todo_filename_absolute_path [32mPASSED[0m[33m [ 77%][0m
tests/test_model.py::test_list_equality [32mPASSED[0m[33m [ 78%][0m
tests/test_model.py::test_clone [32mPASSED[0m[33m [ 78%][0m
tests/test_model.py::test_todos_startable [32mPASSED[0m[33m [ 79%][0m
tests/test_model.py::test_filename_uid_colision [32mPASSED[0m[33m [ 79%][0m
tests/test_model.py::test_hide_cancelled [32mPASSED[0m[33m [ 80%][0m
tests/test_model.py::test_illegal_start_suppression [32mPASSED[0m[33m [ 80%][0m
tests/test_model.py::test_default_status [32mPASSED[0m[33m [ 81%][0m
tests/test_model.py::test_nullify_field [32mPASSED[0m[33m [ 81%][0m
tests/test_model.py::test_duplicate_list [32mPASSED[0m[33m [ 82%][0m
tests/test_model.py::test_unreadable_ics [32mPASSED[0m[33m [ 82%][0m
tests/test_model.py::test_deleting_todo_without_list_fails [32mPASSED[0m[33m [ 83%][0m
tests/test_model.py::test_saving_todo_without_list_fails [32mPASSED[0m[33m [ 84%][0m
tests/test_model.py::test_todo_path_without_list [32mPASSED[0m[33m [ 84%][0m
tests/test_porcelain.py::test_list_all [32mPASSED[0m[33m [ 85%][0m
tests/test_porcelain.py::test_list_start_date [32mPASSED[0m[33m [ 85%][0m
tests/test_porcelain.py::test_list_due_date [32mPASSED[0m[33m [ 86%][0m
tests/test_porcelain.py::test_list_nodue [32mPASSED[0m[33m [ 86%][0m
tests/test_porcelain.py::test_list_priority [32mPASSED[0m[33m [ 87%][0m
tests/test_porcelain.py::test_show [32mPASSED[0m[33m [ 87%][0m
tests/test_porcelain.py::test_simple_action [32mPASSED[0m[33m [ 88%][0m
tests/test_porcelain.py::test_format_datetime [32mPASSED[0m[33m [ 88%][0m
tests/test_porcelain.py::test_parse_datetime [32mPASSED[0m[33m [ 89%][0m
tests/test_porcelain.py::test_formatting_parsing_consitency [32mPASSED[0m[33m [ 89%][0m
tests/test_ui.py::test_todo_editor_priority [32mPASSED[0m[33m [ 90%][0m
tests/test_ui.py::test_todo_editor_list [31mFAILED[0m[31m [ 90%][0m
tests/test_ui.py::test_todo_editor_summary [32mPASSED[0m[31m [ 91%][0m
tests/test_ui.py::test_todo_editor_due [32mPASSED[0m[31m [ 91%][0m
tests/test_ui.py::test_toggle_help [32mPASSED[0m[31m [ 92%][0m
tests/test_ui.py::test_show_save_errors [32mPASSED[0m[31m [ 92%][0m
tests/test_ui.py::test_save_completed[True-True] [32mPASSED[0m[31m [ 93%][0m
tests/test_ui.py::test_save_completed[True-False] [32mPASSED[0m[31m [ 93%][0m
tests/test_ui.py::test_save_completed[False-True] [32mPASSED[0m[31m [ 94%][0m
tests/test_ui.py::test_save_completed[False-False] [32mPASSED[0m[31m [ 94%][0m
tests/test_ui.py::test_ctrl_c_clears [33mSKIPPED[0m (See: https://github.co...)[31m [ 95%][0m
tests/test_widgets.py::test_extended_edit_delete_word [32mPASSED[0m[31m [ 95%][0m
tests/test_widgets.py::test_extended_edit_delete_sol [32mPASSED[0m[31m [ 96%][0m
tests/test_widgets.py::test_extended_edit_delete_eol [32mPASSED[0m[31m [ 96%][0m
tests/test_widgets.py::test_extended_edit_goto_sol [32mPASSED[0m[31m [ 97%][0m
tests/test_widgets.py::test_extended_edit_goto_eol [32mPASSED[0m[31m [ 97%][0m
tests/test_widgets.py::test_extended_edit_delete_next_char [32mPASSED[0m[31m [ 98%][0m
tests/test_widgets.py::test_extended_edit_input [32mPASSED[0m[31m [ 98%][0m
tests/test_widgets.py::test_extended_edit_editor [32mPASSED[0m[31m [ 99%][0m
tests/test_widgets.py::test_priority_selector [32mPASSED[0m[31m [100%][0m
=================================== FAILURES ===================================
[31m[1m____________________________ test_todo_editor_list _____________________________[0m
default_database = <todoman.model.Database object at 0x7fb957477470>
todo_factory = <function todo_factory.<locals>.inner at 0x7fb956d294e0>
default_formatter = <todoman.formatters.DefaultFormatter object at 0x7fb956d2e150>
tmpdir = local('/tmp/pytest-of-sbuild/pytest-1/test_todo_editor_list0')
[0m[94mdef[39;49;00m[90m [39;49;00m[92mtest_todo_editor_list[39;49;00m([90m[39;49;00m
default_database: Database,[90m[39;49;00m
todo_factory: Callable,[90m[39;49;00m
default_formatter: Formatter,[90m[39;49;00m
tmpdir: py.path.local,[90m[39;49;00m
) -> [94mNone[39;49;00m:[90m[39;49;00m
tmpdir.mkdir([33m"[39;49;00m[33manother_list[39;49;00m[33m"[39;49;00m)[90m[39;49;00m
[90m[39;49;00m
default_database.paths = [[90m[39;49;00m
[96mstr[39;49;00m(tmpdir.join([33m"[39;49;00m[33mdefault[39;49;00m[33m"[39;49;00m)),[90m[39;49;00m
[96mstr[39;49;00m(tmpdir.join([33m"[39;49;00m[33manother_list[39;49;00m[33m"[39;49;00m)),[90m[39;49;00m
][90m[39;49;00m
default_database.update_cache()[90m[39;49;00m
[90m[39;49;00m
todo = todo_factory()[90m[39;49;00m
lists = [96mlist[39;49;00m(default_database.lists())[90m[39;49;00m
[90m[39;49;00m
editor = TodoEditor(todo, lists, default_formatter)[90m[39;49;00m
default_list = [96mnext[39;49;00m([96mfilter[39;49;00m([94mlambda[39;49;00m x: x.label == [33m"[39;49;00m[33mdefault[39;49;00m[33m"[39;49;00m, editor.list_selector))[90m[39;49;00m
another_list = [96mnext[39;49;00m([90m[39;49;00m
[96mfilter[39;49;00m([94mlambda[39;49;00m x: x.label == [33m"[39;49;00m[33manother_list[39;49;00m[33m"[39;49;00m, editor.list_selector)[90m[39;49;00m
)[90m[39;49;00m
[90m[39;49;00m
[94massert[39;49;00m editor.current_list == todo.list[90m[39;49;00m
[94massert[39;49;00m default_list.label == todo.list.name[90m[39;49;00m
[90m[39;49;00m
another_list.set_state([94mTrue[39;49;00m)[90m[39;49;00m
editor._save_inner()[90m[39;49;00m
[90m[39;49;00m
[94massert[39;49;00m editor.current_list == todo.list[90m[39;49;00m
^^^^^^^^^^^^^^[90m[39;49;00m
[1m[31mE AttributeError: 'bool' object has no attribute 'name'[0m
[1m[31mtests/test_ui.py[0m:67: AttributeError
[33m=============================== warnings summary ===============================[0m
tests/test_cli.py::test_two_events
/usr/lib/python3.13/inspect.py:1020: DeprecationWarning: urwid.lcd_display is moved to urwid.display.lcd
if ismodule(module) and hasattr(module, '__file__'):
tests/test_cli.py::test_two_events
/usr/lib/python3.13/inspect.py:1021: DeprecationWarning: urwid.lcd_display is moved to urwid.display.lcd
f = module.__file__
tests/test_cli.py::test_two_events
/usr/lib/python3.13/inspect.py:922: DeprecationWarning: urwid.lcd_display is moved to urwid.display.lcd
if getattr(object, '__file__', None):
tests/test_cli.py::test_two_events
/usr/lib/python3.13/inspect.py:923: DeprecationWarning: urwid.lcd_display is moved to urwid.display.lcd
return object.__file__
tests/test_cli.py::test_two_events
/usr/lib/python3.13/inspect.py:1020: DeprecationWarning: urwid.html_fragment is moved to urwid.display.html_fragment
if ismodule(module) and hasattr(module, '__file__'):
tests/test_cli.py::test_two_events
/usr/lib/python3.13/inspect.py:1021: DeprecationWarning: urwid.html_fragment is moved to urwid.display.html_fragment
f = module.__file__
tests/test_cli.py::test_two_events
/usr/lib/python3.13/inspect.py:922: DeprecationWarning: urwid.html_fragment is moved to urwid.display.html_fragment
if getattr(object, '__file__', None):
tests/test_cli.py::test_two_events
/usr/lib/python3.13/inspect.py:923: DeprecationWarning: urwid.html_fragment is moved to urwid.display.html_fragment
return object.__file__
tests/test_cli.py::test_two_events
/usr/lib/python3.13/inspect.py:1020: DeprecationWarning: urwid.web_display is moved to urwid.display.web
if ismodule(module) and hasattr(module, '__file__'):
tests/test_cli.py::test_two_events
/usr/lib/python3.13/inspect.py:1021: DeprecationWarning: urwid.web_display is moved to urwid.display.web
f = module.__file__
tests/test_cli.py::test_two_events
/usr/lib/python3.13/inspect.py:922: DeprecationWarning: urwid.web_display is moved to urwid.display.web
if getattr(object, '__file__', None):
tests/test_cli.py::test_two_events
/usr/lib/python3.13/inspect.py:923: DeprecationWarning: urwid.web_display is moved to urwid.display.web
return object.__file__
tests/test_cli.py::test_two_events
/usr/lib/python3.13/inspect.py:1020: DeprecationWarning: urwid.monitored_list is moved to urwid.widget.monitored_list
if ismodule(module) and hasattr(module, '__file__'):
tests/test_cli.py::test_two_events
/usr/lib/python3.13/inspect.py:1021: DeprecationWarning: urwid.monitored_list is moved to urwid.widget.monitored_list
f = module.__file__
tests/test_cli.py::test_two_events
/usr/lib/python3.13/inspect.py:922: DeprecationWarning: urwid.monitored_list is moved to urwid.widget.monitored_list
if getattr(object, '__file__', None):
tests/test_cli.py::test_two_events
/usr/lib/python3.13/inspect.py:923: DeprecationWarning: urwid.monitored_list is moved to urwid.widget.monitored_list
return object.__file__
tests/test_cli.py::test_two_events
/usr/lib/python3.13/inspect.py:1020: DeprecationWarning: urwid.listbox is moved to urwid.widget.listbox
if ismodule(module) and hasattr(module, '__file__'):
tests/test_cli.py::test_two_events
/usr/lib/python3.13/inspect.py:1021: DeprecationWarning: urwid.listbox is moved to urwid.widget.listbox
f = module.__file__
tests/test_cli.py::test_two_events
/usr/lib/python3.13/inspect.py:922: DeprecationWarning: urwid.listbox is moved to urwid.widget.listbox
if getattr(object, '__file__', None):
tests/test_cli.py::test_two_events
/usr/lib/python3.13/inspect.py:923: DeprecationWarning: urwid.listbox is moved to urwid.widget.listbox
return object.__file__
tests/test_cli.py::test_two_events
/usr/lib/python3.13/inspect.py:1020: DeprecationWarning: urwid.treetools is moved to urwid.widget.treetools
if ismodule(module) and hasattr(module, '__file__'):
tests/test_cli.py::test_two_events
/usr/lib/python3.13/inspect.py:1021: DeprecationWarning: urwid.treetools is moved to urwid.widget.treetools
f = module.__file__
tests/test_cli.py::test_two_events
/usr/lib/python3.13/inspect.py:922: DeprecationWarning: urwid.treetools is moved to urwid.widget.treetools
if getattr(object, '__file__', None):
tests/test_cli.py::test_two_events
/usr/lib/python3.13/inspect.py:923: DeprecationWarning: urwid.treetools is moved to urwid.widget.treetools
return object.__file__
---------- coverage: platform linux, python 3.13.11-final-0 ----------
Name Stmts Miss Cover Missing
--------------------------------------------------------
todoman/__init__.py 4 0 100%
todoman/__main__.py 4 0 100%
todoman/cli.py 358 11 97% 152, 399-405, 515-516, 551-552
todoman/configuration.py 77 3 96% 224, 235, 238
todoman/exceptions.py 20 0 100%
todoman/formatters.py 213 1 99% 206
todoman/interactive.py 114 6 95% 10-14, 165-166
todoman/model.py 544 5 99% 270-272, 352, 367
todoman/version.py 9 0 100%
todoman/widgets.py 94 0 100%
--------------------------------------------------------
TOTAL 1437 26 98%
[36m[1m=========================== short test summary info ============================[0m
[31mFAILED[0m tests/test_ui.py::[1mtest_todo_editor_list[0m - AttributeError: 'bool' object has no attribute 'name'
[31m====== [31m[1m1 failed[0m, [32m184 passed[0m, [33m6 skipped[0m, [33m3 xfailed[0m, [33m24 warnings[0m[31m in 11.23s[0m[31m =======[0m
E: pybuild pybuild:483: test: plugin pyproject failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build; python3.13 -m pytest tests
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.14 3.13" returned exit code 13
make: *** [debian/rules:24: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2
--------------------------------------------------------------------------------