>>> todoman: Building community/todoman 4.7.0-r0 (using abuild 3.18.0_rc7-r1) started Wed, 04 Nov 2026 09:36:43 +0000 >>> todoman: Validating /home/buildozer/aports/community/todoman/APKBUILD... >>> todoman: Analyzing dependencies... >>> todoman: Installing for build: build-base python3 py3-click py3-click-log py3-dateutil py3-humanize py3-icalendar py3-parsedatetime py3-urwid py3-xdg py3-gpep517 py3-setuptools py3-setuptools_scm py3-sphinx py3-sphinx-click py3-sphinx_rtd_theme py3-wheel py3-freezegun py3-hypothesis py3-pytest py3-pytest-cov py3-tz ( 1/118) Installing libbz2 (1.0.8-r6) ( 2/118) Installing libffi (3.8.0-r0) ( 3/118) Installing xz-libs (5.8.4-r0) ( 4/118) Installing mpdecimal (4.0.1-r0) ( 5/118) Installing libpanelw (6.6_p20261017-r0) ( 6/118) Installing readline (8.3.3-r1) ( 7/118) Installing sqlite-libs (3.54.1-r0) ( 8/118) Installing python3 (3.14.10-r1) ( 9/118) Installing python3-pycache-pyc0 (3.14.10-r1) ( 10/118) Installing pyc (3.14.10-r1) ( 11/118) Installing python3-pyc (3.14.10-r1) ( 12/118) Installing py3-click (8.4.2-r0) ( 13/118) Installing py3-click-pyc (8.4.2-r0) ( 14/118) Installing py3-click-log (0.4.0-r4) ( 15/118) Installing py3-click-log-pyc (0.4.0-r4) ( 16/118) Installing py3-dateutil (2.9.0-r4) ( 17/118) Installing py3-dateutil-pyc (2.9.0-r4) ( 18/118) Installing py3-humanize (4.16.0-r0) ( 19/118) Installing py3-humanize-pyc (4.16.0-r0) ( 20/118) Installing py3-attrs (26.1.0-r0) ( 21/118) Installing py3-attrs-pyc (26.1.0-r0) ( 22/118) Installing py3-tzdata (2026.4-r0) ( 23/118) Installing py3-tzdata-pyc (2026.4-r0) ( 24/118) Installing py3-icalendar (7.3.0-r0) ( 25/118) Installing py3-icalendar-pyc (7.3.0-r0) ( 26/118) Installing py3-parsedatetime (2.6-r9) ( 27/118) Installing py3-parsedatetime-pyc (2.6-r9) ( 28/118) Installing py3-typing-extensions (4.16.0-r0) ( 29/118) Installing py3-typing-extensions-pyc (4.16.0-r0) ( 30/118) Installing py3-wcwidth (0.6.0-r1) ( 31/118) Installing py3-wcwidth-pyc (0.6.0-r1) ( 32/118) Installing py3-urwid (4.2.3-r0) ( 33/118) Installing py3-urwid-pyc (4.2.3-r0) ( 34/118) Installing py3-xdg (0.28-r7) ( 35/118) Installing py3-xdg-pyc (0.28-r7) ( 36/118) Installing py3-installer (1.0.1-r0) ( 37/118) Installing py3-installer-pyc (1.0.1-r0) ( 38/118) Installing py3-gpep517 (20-r0) ( 39/118) Installing py3-gpep517-pyc (20-r0) ( 40/118) Installing py3-parsing (3.3.3-r0) ( 41/118) Installing py3-parsing-pyc (3.3.3-r0) ( 42/118) Installing py3-packaging (26.3-r0) ( 43/118) Installing py3-packaging-pyc (26.3-r0) ( 44/118) Installing py3-setuptools (84.0.0-r0) ( 45/118) Installing py3-setuptools-pyc (84.0.0-r0) ( 46/118) Installing py3-setuptools_scm (9.2.2-r1) ( 47/118) Installing py3-setuptools_scm-pyc (9.2.2-r1) ( 48/118) Installing py3-tz (2026.6-r0) ( 49/118) Installing py3-tz-pyc (2026.6-r0) ( 50/118) Installing py3-babel (2.18.0-r1) ( 51/118) Installing py3-babel-pyc (2.18.0-r1) ( 52/118) Installing py3-docutils (0.23-r0) ( 53/118) Installing py3-docutils-pyc (0.23-r0) ( 54/118) Installing py3-imagesize (1.4.1-r5) ( 55/118) Installing py3-imagesize-pyc (1.4.1-r5) ( 56/118) Installing py3-markupsafe (3.0.3-r1) ( 57/118) Installing py3-markupsafe-pyc (3.0.3-r1) ( 58/118) Installing py3-jinja2 (3.1.6-r1) ( 59/118) Installing py3-jinja2-pyc (3.1.6-r1) ( 60/118) Installing py3-pygments (2.21.0-r0) ( 61/118) Installing py3-pygments-pyc (2.21.0-r0) ( 62/118) Installing py3-certifi (2026.10.23-r0) ( 63/118) Installing py3-certifi-pyc (2026.10.23-r0) ( 64/118) Installing py3-charset-normalizer (3.5.1-r0) ( 65/118) Installing py3-charset-normalizer-pyc (3.5.1-r0) ( 66/118) Installing py3-idna (3.20-r0) ( 67/118) Installing py3-idna-pyc (3.20-r0) ( 68/118) Installing py3-urllib3 (2.8.0-r0) ( 69/118) Installing py3-urllib3-pyc (2.8.0-r0) ( 70/118) Installing py3-requests (2.34.2-r0) ( 71/118) Installing py3-requests-pyc (2.34.2-r0) ( 72/118) Installing py3-snowballstemmer (3.0.1-r1) ( 73/118) Installing py3-snowballstemmer-pyc (3.0.1-r1) ( 74/118) Installing py3-alabaster (1.0.0-r1) ( 75/118) Installing py3-alabaster-pyc (1.0.0-r1) ( 76/118) Installing py3-roman-numerals (4.1.0-r1) ( 77/118) Installing py3-roman-numerals-pyc (4.1.0-r1) ( 78/118) Installing py3-sphinxcontrib-applehelp (2.0.0-r0) ( 79/118) Installing py3-sphinxcontrib-applehelp-pyc (2.0.0-r0) ( 80/118) Installing py3-sphinxcontrib-devhelp (2.0.0-r1) ( 81/118) Installing py3-sphinxcontrib-devhelp-pyc (2.0.0-r1) ( 82/118) Installing py3-sphinxcontrib-htmlhelp (2.1.0-r1) ( 83/118) Installing py3-sphinxcontrib-htmlhelp-pyc (2.1.0-r1) ( 84/118) Installing py3-sphinxcontrib-jsmath (1.0.1-r9) ( 85/118) Installing py3-sphinxcontrib-jsmath-pyc (1.0.1-r9) ( 86/118) Installing py3-sphinxcontrib-serializinghtml (2.0.0-r1) ( 87/118) Installing py3-sphinxcontrib-serializinghtml-pyc (2.0.0-r1) ( 88/118) Installing py3-sphinxcontrib-qthelp (2.0.0-r1) ( 89/118) Installing py3-sphinxcontrib-qthelp-pyc (2.0.0-r1) ( 90/118) Installing py3-sphinx (9.1.0-r1) ( 91/118) Installing py3-sphinx-pyc (9.1.0-r1) ( 92/118) Installing py3-sphinx-click (6.2.0-r0) ( 93/118) Installing py3-sphinx-click-pyc (6.2.0-r0) ( 94/118) Installing py3-sphinxcontrib-jquery (4.1-r4) ( 95/118) Installing py3-sphinxcontrib-jquery-pyc (4.1-r4) ( 96/118) Installing py3-sphinx_rtd_theme (2.0.0-r2) ( 97/118) Installing py3-sphinx_rtd_theme-pyc (2.0.0-r2) ( 98/118) Installing py3-wheel (0.48.0-r0) ( 99/118) Installing py3-wheel-pyc (0.48.0-r0) (100/118) Installing py3-freezegun (1.5.5-r0) (101/118) Installing py3-freezegun-pyc (1.5.5-r0) (102/118) Installing py3-sortedcontainers (2.4.0-r6) (103/118) Installing py3-sortedcontainers-pyc (2.4.0-r6) (104/118) Installing py3-hypothesis (6.151.12-r0) (105/118) Installing py3-hypothesis-pyc (6.151.12-r0) (106/118) Installing py3-iniconfig (2.3.0-r1) (107/118) Installing py3-iniconfig-pyc (2.3.0-r1) (108/118) Installing py3-pluggy (1.6.0-r1) (109/118) Installing py3-pluggy-pyc (1.6.0-r1) (110/118) Installing py3-py (1.11.0-r5) (111/118) Installing py3-py-pyc (1.11.0-r5) (112/118) Installing py3-pytest (9.1.1-r1) (113/118) Installing py3-pytest-pyc (9.1.1-r1) (114/118) Installing py3-coverage (7.17.0-r0) (115/118) Installing py3-coverage-pyc (7.17.0-r0) (116/118) Installing py3-pytest-cov (7.1.0-r0) (117/118) Installing py3-pytest-cov-pyc (7.1.0-r0) (118/118) Installing .makedepends-todoman (20261104.093706) Executing busybox-1.38.0-r8.trigger OK: 579.8 MiB in 223 packages >>> todoman: Cleaning up srcdir >>> todoman: Cleaning up pkgdir >>> todoman: Cleaning up tmpdir >>> todoman: Fetching https://distfiles.alpinelinux.org/distfiles/v3.25/todoman-4.7.0.tar.gz Connecting to distfiles.alpinelinux.org (172.105.82.32:443) saving to '/var/cache/distfiles/v3.25/todoman-4.7.0.tar.gz.part' todoman-4.7.0.tar.gz 100% |********************************| 71047 0:00:00 ETA '/var/cache/distfiles/v3.25/todoman-4.7.0.tar.gz.part' saved /var/cache/distfiles/v3.25/todoman-4.7.0.tar.gz: OK >>> todoman: Fetching https://distfiles.alpinelinux.org/distfiles/v3.25/todoman-4.7.0.tar.gz /var/cache/distfiles/v3.25/todoman-4.7.0.tar.gz: OK >>> todoman: Unpacking /var/cache/distfiles/v3.25/todoman-4.7.0.tar.gz... 2026-11-04 09:37:09,388 gpep517 INFO Building wheel via backend setuptools.build_meta:__legacy__ 2026-11-04 09:37:09,593 root INFO running bdist_wheel 2026-11-04 09:37:09,627 root INFO running build 2026-11-04 09:37:09,627 root INFO running build_py 2026-11-04 09:37:09,635 root INFO creating build/lib/todoman 2026-11-04 09:37:09,635 root INFO copying todoman/version.py -> build/lib/todoman 2026-11-04 09:37:09,636 root INFO copying todoman/formatters.py -> build/lib/todoman 2026-11-04 09:37:09,636 root INFO copying todoman/exceptions.py -> build/lib/todoman 2026-11-04 09:37:09,636 root INFO copying todoman/configuration.py -> build/lib/todoman 2026-11-04 09:37:09,637 root INFO copying todoman/model.py -> build/lib/todoman 2026-11-04 09:37:09,637 root INFO copying todoman/__init__.py -> build/lib/todoman 2026-11-04 09:37:09,637 root INFO copying todoman/__main__.py -> build/lib/todoman 2026-11-04 09:37:09,638 root INFO copying todoman/cli.py -> build/lib/todoman 2026-11-04 09:37:09,638 root INFO copying todoman/widgets.py -> build/lib/todoman 2026-11-04 09:37:09,638 root INFO copying todoman/interactive.py -> build/lib/todoman 2026-11-04 09:37:09,638 root INFO running egg_info 2026-11-04 09:37:09,645 root INFO writing todoman.egg-info/PKG-INFO 2026-11-04 09:37:09,647 root INFO writing dependency_links to todoman.egg-info/dependency_links.txt 2026-11-04 09:37:09,648 root INFO writing entry points to todoman.egg-info/entry_points.txt 2026-11-04 09:37:09,648 root INFO writing requirements to todoman.egg-info/requires.txt 2026-11-04 09:37:09,649 root INFO writing top-level names to todoman.egg-info/top_level.txt listing git files failed - pretending there aren't any 2026-11-04 09:37:09,675 root INFO reading manifest file 'todoman.egg-info/SOURCES.txt' 2026-11-04 09:37:09,676 root INFO adding license file 'LICENCE' 2026-11-04 09:37:09,678 root INFO writing manifest file 'todoman.egg-info/SOURCES.txt' 2026-11-04 09:37:09,692 root INFO installing to build/bdist.linux-x86_64/wheel 2026-11-04 09:37:09,692 root INFO running install 2026-11-04 09:37:09,701 root INFO running install_lib 2026-11-04 09:37:09,708 root INFO creating build/bdist.linux-x86_64/wheel 2026-11-04 09:37:09,708 root INFO creating build/bdist.linux-x86_64/wheel/todoman 2026-11-04 09:37:09,708 root INFO copying build/lib/todoman/version.py -> build/bdist.linux-x86_64/wheel/./todoman 2026-11-04 09:37:09,708 root INFO copying build/lib/todoman/formatters.py -> build/bdist.linux-x86_64/wheel/./todoman 2026-11-04 09:37:09,709 root INFO copying build/lib/todoman/exceptions.py -> build/bdist.linux-x86_64/wheel/./todoman 2026-11-04 09:37:09,709 root INFO copying build/lib/todoman/configuration.py -> build/bdist.linux-x86_64/wheel/./todoman 2026-11-04 09:37:09,709 root INFO copying build/lib/todoman/model.py -> build/bdist.linux-x86_64/wheel/./todoman 2026-11-04 09:37:09,709 root INFO copying build/lib/todoman/__init__.py -> build/bdist.linux-x86_64/wheel/./todoman 2026-11-04 09:37:09,710 root INFO copying build/lib/todoman/__main__.py -> build/bdist.linux-x86_64/wheel/./todoman 2026-11-04 09:37:09,710 root INFO copying build/lib/todoman/cli.py -> build/bdist.linux-x86_64/wheel/./todoman 2026-11-04 09:37:09,710 root INFO copying build/lib/todoman/widgets.py -> build/bdist.linux-x86_64/wheel/./todoman 2026-11-04 09:37:09,710 root INFO copying build/lib/todoman/interactive.py -> build/bdist.linux-x86_64/wheel/./todoman 2026-11-04 09:37:09,711 root INFO running install_egg_info 2026-11-04 09:37:09,717 root INFO Copying todoman.egg-info to build/bdist.linux-x86_64/wheel/./todoman-4.7.0-py3.14.egg-info 2026-11-04 09:37:09,719 root INFO running install_scripts 2026-11-04 09:37:09,721 root INFO creating build/bdist.linux-x86_64/wheel/todoman-4.7.0.dist-info/WHEEL 2026-11-04 09:37:09,722 wheel INFO creating '/home/buildozer/aports/community/todoman/src/todoman-4.7.0/.dist/.tmp-580ahyyc/todoman-4.7.0-py3-none-any.whl' and adding 'build/bdist.linux-x86_64/wheel' to it 2026-11-04 09:37:09,722 wheel INFO adding 'todoman/__init__.py' 2026-11-04 09:37:09,723 wheel INFO adding 'todoman/__main__.py' 2026-11-04 09:37:09,723 wheel INFO adding 'todoman/cli.py' 2026-11-04 09:37:09,724 wheel INFO adding 'todoman/configuration.py' 2026-11-04 09:37:09,724 wheel INFO adding 'todoman/exceptions.py' 2026-11-04 09:37:09,724 wheel INFO adding 'todoman/formatters.py' 2026-11-04 09:37:09,725 wheel INFO adding 'todoman/interactive.py' 2026-11-04 09:37:09,725 wheel INFO adding 'todoman/model.py' 2026-11-04 09:37:09,726 wheel INFO adding 'todoman/version.py' 2026-11-04 09:37:09,726 wheel INFO adding 'todoman/widgets.py' 2026-11-04 09:37:09,727 wheel INFO adding 'todoman-4.7.0.dist-info/licenses/LICENCE' 2026-11-04 09:37:09,727 wheel INFO adding 'todoman-4.7.0.dist-info/METADATA' 2026-11-04 09:37:09,727 wheel INFO adding 'todoman-4.7.0.dist-info/WHEEL' 2026-11-04 09:37:09,728 wheel INFO adding 'todoman-4.7.0.dist-info/entry_points.txt' 2026-11-04 09:37:09,728 wheel INFO adding 'todoman-4.7.0.dist-info/top_level.txt' 2026-11-04 09:37:09,728 wheel INFO adding 'todoman-4.7.0.dist-info/RECORD' 2026-11-04 09:37:09,729 root INFO removing build/bdist.linux-x86_64/wheel 2026-11-04 09:37:09,730 gpep517 INFO The backend produced .dist/todoman-4.7.0-py3-none-any.whl todoman-4.7.0-py3-none-any.whl make: Entering directory '/home/buildozer/aports/community/todoman/src/todoman-4.7.0/docs' sphinx-build -b man -d build/doctrees source build/man Running Sphinx v9.1.0 loading translations [en]... done Converting `source_suffix = '.rst'` to `source_suffix = {'.rst': 'restructuredtext'}`. building [mo]: targets for 0 po files that are out of date writing output... building [man]: all manpages updating environment: [new config] 10 added, 0 changed, 0 removed reading sources... [ 10%] _configure reading sources... [ 20%] _usage reading sources... [ 30%] changelog reading sources... [ 40%] configure reading sources... [ 50%] contributing reading sources... [ 60%] index reading sources... [ 70%] install reading sources... [ 80%] licence reading sources... [ 90%] man reading sources... [100%] usage ../CHANGELOG.rst:325: ERROR: Inconsistent title style: skip from level 2 to 4. New features ~~~~~~~~~~~~ Established title styles: = - * [docutils] ../CHANGELOG.rst:336: ERROR: Inconsistent title style: skip from level 2 to 4. Packaging changes ~~~~~~~~~~~~~~~~~ Established title styles: = - * [docutils] looking for now-outdated files... none found pickling environment... done checking consistency... done preparing documents... done copying assets... copying assets: done writing... todo.1 { } done build succeeded, 2 warnings. The manual pages are in build/man. Build finished. The manual pages are in build/man. make: Leaving directory '/home/buildozer/aports/community/todoman/src/todoman-4.7.0/docs' ============================= test session starts ============================== platform linux -- Python 3.14.10, pytest-9.1.1, pluggy-1.6.0 -- /home/buildozer/aports/community/todoman/src/todoman-4.7.0/.testenv/bin/python3 cachedir: .pytest_cache hypothesis profile 'default' rootdir: /home/buildozer/aports/community/todoman/src/todoman-4.7.0 configfile: pyproject.toml testpaths: tests plugins: hypothesis-6.151.12, cov-7.1.0 collecting ... collected 194 items tests/test_backend.py::test_datetime_serialization PASSED [ 0%] tests/test_backend.py::test_serialize_created_at PASSED [ 1%] tests/test_backend.py::test_serialize_dtstart PASSED [ 1%] tests/test_backend.py::test_supported_fields_are_serializeable PASSED [ 2%] tests/test_backend.py::test_vtodo_serialization PASSED [ 2%] tests/test_backend.py::test_update_last_modified PASSED [ 3%] tests/test_backend.py::test_sequence_increment PASSED [ 3%] tests/test_backend.py::test_normalize_datetime PASSED [ 4%] tests/test_cli.py::test_list PASSED [ 4%] tests/test_cli.py::test_no_default_list PASSED [ 5%] tests/test_cli.py::test_no_extra_whitespace PASSED [ 5%] tests/test_cli.py::test_percent PASSED [ 6%] tests/test_cli.py::test_list_case_insensitive[default] PASSED [ 6%] tests/test_cli.py::test_list_case_insensitive[DEfault] PASSED [ 7%] tests/test_cli.py::test_list_case_insensitive[deFAUlT] PASSED [ 7%] tests/test_cli.py::test_list_case_insensitive_collision PASSED [ 8%] tests/test_cli.py::test_list_case_insensitive_other_collision PASSED [ 8%] tests/test_cli.py::test_list_inexistant PASSED [ 9%] tests/test_cli.py::test_show_existing PASSED [ 9%] tests/test_cli.py::test_show_inexistant PASSED [ 10%] tests/test_cli.py::test_human PASSED [ 10%] tests/test_cli.py::test_two_events XFAIL (issue#9) [ 11%] tests/test_cli.py::test_default_command PASSED [ 11%] tests/test_cli.py::test_delete PASSED [ 12%] tests/test_cli.py::test_delete_prompt PASSED [ 12%] tests/test_cli.py::test_copy PASSED [ 13%] tests/test_cli.py::test_move PASSED [ 13%] tests/test_cli.py::test_dtstamp PASSED [ 14%] tests/test_cli.py::test_default_list PASSED [ 14%] tests/test_cli.py::test_default_due[not specified] PASSED [ 15%] tests/test_cli.py::test_default_due[greater than 0] PASSED [ 15%] tests/test_cli.py::test_default_due[0] PASSED [ 16%] tests/test_cli.py::test_default_due2 PASSED [ 17%] tests/test_cli.py::test_sorting_fields PASSED [ 17%] tests/test_cli.py::test_sorting_output PASSED [ 18%] tests/test_cli.py::test_sorting_null_values PASSED [ 18%] tests/test_cli.py::test_sort_invalid_fields PASSED [ 19%] tests/test_cli.py::test_color_due_dates[72] PASSED [ 19%] tests/test_cli.py::test_color_due_dates[-72] PASSED [ 20%] tests/test_cli.py::test_color_flag PASSED [ 20%] tests/test_cli.py::test_flush PASSED [ 21%] tests/test_cli.py::test_edit PASSED [ 21%] tests/test_cli.py::test_edit_move PASSED [ 22%] tests/test_cli.py::test_edit_retains_id PASSED [ 22%] tests/test_cli.py::test_edit_inexistant PASSED [ 23%] tests/test_cli.py::test_empty_list PASSED [ 23%] tests/test_cli.py::test_show_location PASSED [ 24%] tests/test_cli.py::test_location PASSED [ 24%] tests/test_cli.py::test_sort_mixed_timezones PASSED [ 25%] tests/test_cli.py::test_humanize_interactive PASSED [ 25%] tests/test_cli.py::test_due_bad_date PASSED [ 26%] tests/test_cli.py::test_multiple_todos_in_file PASSED [ 26%] tests/test_cli.py::test_todo_new PASSED [ 27%] tests/test_cli.py::test_todo_edit PASSED [ 27%] tests/test_cli.py::test_list_startable PASSED [ 28%] tests/test_cli.py::test_bad_start_date PASSED [ 28%] tests/test_cli.py::test_done PASSED [ 29%] tests/test_cli.py::test_done_recurring PASSED [ 29%] tests/test_cli.py::test_cancel PASSED [ 30%] tests/test_cli.py::test_id_printed_for_new PASSED [ 30%] tests/test_cli.py::test_repl SKIPPED (Optional dependency "click_rep...) [ 31%] tests/test_cli.py::test_status_validation PASSED [ 31%] tests/test_cli.py::test_bad_status_validation PASSED [ 32%] tests/test_cli.py::test_status_filtering PASSED [ 32%] tests/test_cli.py::test_invoke_command PASSED [ 33%] tests/test_cli.py::test_invoke_invalid_command PASSED [ 34%] tests/test_cli.py::test_new_categories_single PASSED [ 34%] tests/test_cli.py::test_new_categories_multiple PASSED [ 35%] tests/test_cli.py::test_list_categories_single PASSED [ 35%] tests/test_cli.py::test_list_categories_multiple PASSED [ 36%] tests/test_cli.py::test_show_priority PASSED [ 36%] tests/test_cli.py::test_priority PASSED [ 37%] tests/test_cli.py::test_porcelain_precedence PASSED [ 37%] tests/test_cli.py::test_duplicate_list PASSED [ 38%] tests/test_cli.py::test_edit_raw PASSED [ 38%] tests/test_cli.py::test_new_description_from_stdin PASSED [ 39%] tests/test_cli.py::test_default_priority PASSED [ 39%] tests/test_cli.py::test_no_default_priority PASSED [ 40%] tests/test_cli.py::test_invalid_default_priority PASSED [ 40%] tests/test_cli.py::test_default_command_args PASSED [ 41%] tests/test_config.py::test_explicit_nonexistant PASSED [ 41%] tests/test_config.py::test_xdg_nonexistant PASSED [ 42%] tests/test_config.py::test_xdg_existant PASSED [ 42%] tests/test_config.py::test_sane_config PASSED [ 43%] tests/test_config.py::test_invalid_color PASSED [ 43%] tests/test_config.py::test_invalid_color_arg PASSED [ 44%] tests/test_config.py::test_missing_path PASSED [ 44%] tests/test_config.py::test_extra_entry XFAIL (Not implemented) [ 45%] tests/test_config.py::test_extra_section XFAIL (Not implemented) [ 45%] tests/test_config.py::test_missing_cache_dir PASSED [ 46%] tests/test_config.py::test_date_field_in_time_format PASSED [ 46%] tests/test_config.py::test_date_field_in_time PASSED [ 47%] tests/test_config.py::test_colour_validation_auto PASSED [ 47%] tests/test_config.py::test_colour_validation_always PASSED [ 48%] tests/test_config.py::test_colour_validation_invalid PASSED [ 48%] tests/test_filtering.py::test_priority PASSED [ 49%] tests/test_filtering.py::test_location PASSED [ 50%] tests/test_filtering.py::test_category PASSED [ 50%] tests/test_filtering.py::test_grep PASSED [ 51%] tests/test_filtering.py::test_filtering_lists PASSED [ 51%] tests/test_filtering.py::test_due_aware PASSED [ 52%] tests/test_filtering.py::test_due_naive PASSED [ 52%] tests/test_filtering.py::test_filtering_start PASSED [ 53%] tests/test_filtering.py::test_statuses PASSED [ 53%] tests/test_formatter.py::test_humanized_datetime[CET-interval0] PASSED [ 54%] tests/test_formatter.py::test_humanized_datetime[CET-interval1] PASSED [ 54%] tests/test_formatter.py::test_humanized_datetime[HST-interval0] PASSED [ 55%] tests/test_formatter.py::test_humanized_datetime[HST-interval1] PASSED [ 55%] tests/test_formatter.py::test_humanized_date[CET-interval0] PASSED [ 56%] tests/test_formatter.py::test_humanized_date[CET-interval1] PASSED [ 56%] tests/test_formatter.py::test_humanized_date[HST-interval0] PASSED [ 57%] tests/test_formatter.py::test_humanized_date[HST-interval1] PASSED [ 57%] tests/test_formatter.py::test_format_priority PASSED [ 58%] tests/test_formatter.py::test_format_priority_compact PASSED [ 58%] tests/test_formatter.py::test_format_date PASSED [ 59%] tests/test_formatter.py::test_format_datetime PASSED [ 59%] tests/test_formatter.py::test_detailed_format PASSED [ 60%] tests/test_formatter.py::test_parse_time PASSED [ 60%] tests/test_formatter.py::test_parse_datetime PASSED [ 61%] tests/test_formatter.py::test_humanized_parse_datetime PASSED [ 61%] tests/test_formatter.py::test_simple_action PASSED [ 62%] tests/test_formatter.py::test_formatting_parsing_consitency PASSED [ 62%] tests/test_formatter.py::test_rgb_to_ansi PASSED [ 63%] tests/test_formatter.py::test_format_multiple_with_list PASSED [ 63%] tests/test_formatter.py::test_format_multiple_without_list PASSED [ 64%] tests/test_main.py::test_main PASSED [ 64%] tests/test_model.py::test_querying PASSED [ 65%] tests/test_model.py::test_retain_tz PASSED [ 65%] tests/test_model.py::test_due_date PASSED [ 66%] tests/test_model.py::test_change_paths PASSED [ 67%] tests/test_model.py::test_list_displayname PASSED [ 67%] tests/test_model.py::test_list_colour PASSED [ 68%] tests/test_model.py::test_list_colour_cache_invalidation PASSED [ 68%] tests/test_model.py::test_list_no_colour PASSED [ 69%] tests/test_model.py::test_database_priority_sorting PASSED [ 69%] tests/test_model.py::test_retain_unknown_fields PASSED [ 70%] tests/test_model.py::test_category_integrity PASSED [ 70%] tests/test_model.py::test_category_deletes_on_todo_delete PASSED [ 71%] tests/test_model.py::test_todo_setters PASSED [ 71%] tests/test_model.py::test_is_completed PASSED [ 72%] tests/test_model.py::test_complete_recurring[True-tz0-20990315T020000Z] PASSED [ 72%] tests/test_model.py::test_complete_recurring[True-tz0-20990315T020000] SKIPPED [ 73%] tests/test_model.py::test_complete_recurring[True-None-20990315T020000Z] SKIPPED [ 73%] tests/test_model.py::test_complete_recurring[True-None-20990315T020000] PASSED [ 74%] tests/test_model.py::test_complete_recurring[False-tz0-20990315T020000Z] PASSED [ 74%] tests/test_model.py::test_complete_recurring[False-tz0-20990315T020000] SKIPPED [ 75%] tests/test_model.py::test_complete_recurring[False-None-20990315T020000Z] SKIPPED [ 75%] tests/test_model.py::test_complete_recurring[False-None-20990315T020000] PASSED [ 76%] tests/test_model.py::test_save_recurring_related PASSED [ 76%] tests/test_model.py::test_save_recurring_related_with_date PASSED [ 77%] tests/test_model.py::test_todo_filename_absolute_path PASSED [ 77%] tests/test_model.py::test_list_equality PASSED [ 78%] tests/test_model.py::test_clone PASSED [ 78%] tests/test_model.py::test_todos_startable PASSED [ 79%] tests/test_model.py::test_filename_uid_colision PASSED [ 79%] tests/test_model.py::test_hide_cancelled PASSED [ 80%] tests/test_model.py::test_illegal_start_suppression PASSED [ 80%] tests/test_model.py::test_default_status PASSED [ 81%] tests/test_model.py::test_nullify_field PASSED [ 81%] tests/test_model.py::test_duplicate_list PASSED [ 82%] tests/test_model.py::test_unreadable_ics PASSED [ 82%] tests/test_model.py::test_deleting_todo_without_list_fails PASSED [ 83%] tests/test_model.py::test_saving_todo_without_list_fails PASSED [ 84%] tests/test_model.py::test_todo_path_without_list PASSED [ 84%] tests/test_porcelain.py::test_list_all PASSED [ 85%] tests/test_porcelain.py::test_list_start_date PASSED [ 85%] tests/test_porcelain.py::test_list_due_date PASSED [ 86%] tests/test_porcelain.py::test_list_nodue PASSED [ 86%] tests/test_porcelain.py::test_list_priority PASSED [ 87%] tests/test_porcelain.py::test_show PASSED [ 87%] tests/test_porcelain.py::test_simple_action PASSED [ 88%] tests/test_porcelain.py::test_format_datetime PASSED [ 88%] tests/test_porcelain.py::test_parse_datetime PASSED [ 89%] tests/test_porcelain.py::test_formatting_parsing_consitency PASSED [ 89%] tests/test_ui.py::test_todo_editor_priority PASSED [ 90%] tests/test_ui.py::test_todo_editor_list PASSED [ 90%] tests/test_ui.py::test_todo_editor_summary PASSED [ 91%] tests/test_ui.py::test_todo_editor_due PASSED [ 91%] tests/test_ui.py::test_toggle_help PASSED [ 92%] tests/test_ui.py::test_show_save_errors PASSED [ 92%] tests/test_ui.py::test_save_completed[True-True] PASSED [ 93%] tests/test_ui.py::test_save_completed[True-False] PASSED [ 93%] tests/test_ui.py::test_save_completed[False-True] PASSED [ 94%] tests/test_ui.py::test_save_completed[False-False] PASSED [ 94%] tests/test_ui.py::test_ctrl_c_clears SKIPPED (See: https://github.co...) [ 95%] tests/test_widgets.py::test_extended_edit_delete_word PASSED [ 95%] tests/test_widgets.py::test_extended_edit_delete_sol PASSED [ 96%] tests/test_widgets.py::test_extended_edit_delete_eol PASSED [ 96%] tests/test_widgets.py::test_extended_edit_goto_sol PASSED [ 97%] tests/test_widgets.py::test_extended_edit_goto_eol PASSED [ 97%] tests/test_widgets.py::test_extended_edit_delete_next_char PASSED [ 98%] tests/test_widgets.py::test_extended_edit_input PASSED [ 98%] tests/test_widgets.py::test_extended_edit_editor PASSED [ 99%] tests/test_widgets.py::test_priority_selector PASSED [100%] =============================== warnings summary =============================== tests/test_cli.py::test_two_events /usr/lib/python3.14/inspect.py:926: DeprecationWarning: urwid.display_common is moved to urwid.display.common since urwid 2.4.0. API will be removed in version 6.0. if ismodule(module) and hasattr(module, '__file__'): tests/test_cli.py::test_two_events /usr/lib/python3.14/inspect.py:927: DeprecationWarning: urwid.display_common is moved to urwid.display.common since urwid 2.4.0. API will be removed in version 6.0. f = module.__file__ tests/test_cli.py::test_two_events /usr/lib/python3.14/inspect.py:829: DeprecationWarning: urwid.display_common is moved to urwid.display.common since urwid 2.4.0. API will be removed in version 6.0. if getattr(object, '__file__', None): tests/test_cli.py::test_two_events /usr/lib/python3.14/inspect.py:830: DeprecationWarning: urwid.display_common is moved to urwid.display.common since urwid 2.4.0. API will be removed in version 6.0. return object.__file__ tests/test_cli.py::test_two_events /usr/lib/python3.14/inspect.py:926: DeprecationWarning: urwid.raw_display is moved to urwid.display.raw since urwid 2.4.0. API will be removed in version 6.0. if ismodule(module) and hasattr(module, '__file__'): tests/test_cli.py::test_two_events /usr/lib/python3.14/inspect.py:927: DeprecationWarning: urwid.raw_display is moved to urwid.display.raw since urwid 2.4.0. API will be removed in version 6.0. f = module.__file__ tests/test_cli.py::test_two_events /usr/lib/python3.14/inspect.py:829: DeprecationWarning: urwid.raw_display is moved to urwid.display.raw since urwid 2.4.0. API will be removed in version 6.0. if getattr(object, '__file__', None): tests/test_cli.py::test_two_events /usr/lib/python3.14/inspect.py:830: DeprecationWarning: urwid.raw_display is moved to urwid.display.raw since urwid 2.4.0. API will be removed in version 6.0. return object.__file__ tests/test_cli.py::test_two_events /usr/lib/python3.14/inspect.py:926: DeprecationWarning: urwid.curses_display is moved to urwid.display.curses since urwid 2.4.0. API will be removed in version 6.0. if ismodule(module) and hasattr(module, '__file__'): tests/test_cli.py::test_two_events /usr/lib/python3.14/inspect.py:927: DeprecationWarning: urwid.curses_display is moved to urwid.display.curses since urwid 2.4.0. API will be removed in version 6.0. f = module.__file__ tests/test_cli.py::test_two_events /usr/lib/python3.14/inspect.py:829: DeprecationWarning: urwid.curses_display is moved to urwid.display.curses since urwid 2.4.0. API will be removed in version 6.0. if getattr(object, '__file__', None): tests/test_cli.py::test_two_events /usr/lib/python3.14/inspect.py:830: DeprecationWarning: urwid.curses_display is moved to urwid.display.curses since urwid 2.4.0. API will be removed in version 6.0. return object.__file__ tests/test_cli.py::test_two_events /usr/lib/python3.14/inspect.py:926: DeprecationWarning: urwid.escape is moved to urwid.display.escape since urwid 2.4.0. API will be removed in version 6.0. if ismodule(module) and hasattr(module, '__file__'): tests/test_cli.py::test_two_events /usr/lib/python3.14/inspect.py:927: DeprecationWarning: urwid.escape is moved to urwid.display.escape since urwid 2.4.0. API will be removed in version 6.0. f = module.__file__ tests/test_cli.py::test_two_events /usr/lib/python3.14/inspect.py:829: DeprecationWarning: urwid.escape is moved to urwid.display.escape since urwid 2.4.0. API will be removed in version 6.0. if getattr(object, '__file__', None): tests/test_cli.py::test_two_events /usr/lib/python3.14/inspect.py:830: DeprecationWarning: urwid.escape is moved to urwid.display.escape since urwid 2.4.0. API will be removed in version 6.0. return object.__file__ tests/test_cli.py::test_default_command_args :189: ResourceWarning: unclosed database in Enable tracemalloc to get traceback where the object was allocated. See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. tests/test_porcelain.py::test_list_start_date /usr/lib/python3.14/site-packages/click/core.py:379: ResourceWarning: unclosed database in self._meta = getattr(parent, "meta", {}) Enable tracemalloc to get traceback where the object was allocated. See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html ================================ tests coverage ================================ _______________ coverage: platform linux, python 3.14.10-final-0 _______________ Name Stmts Miss Cover Missing -------------------------------------------------------- todoman/__init__.py 4 0 100% todoman/__main__.py 4 4 0% 1-6 todoman/cli.py 367 15 96% 153, 400-406, 516-517, 552-553, 674-677 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 557 5 99% 281-283, 365, 382 todoman/version.py 13 0 100% todoman/widgets.py 94 0 100% -------------------------------------------------------- TOTAL 1463 34 98% ============ 185 passed, 6 skipped, 3 xfailed, 18 warnings in 6.78s ============ >>> todoman: Entering fakeroot... >>> todoman-doc*: Running split function doc... 'usr/share/man' -> '/home/buildozer/aports/community/todoman/pkg/todoman-doc/usr/share/man' >>> todoman-doc*: Preparing subpackage todoman-doc... >>> todoman-doc*: Running postcheck for todoman-doc >>> todoman-bash-completion*: Running split function bashcomp... 'usr/share/bash-completion/completions' -> '/home/buildozer/aports/community/todoman/pkg/todoman-bash-completion/usr/share/bash-completion/completions' >>> todoman-bash-completion*: Preparing subpackage todoman-bash-completion... >>> todoman-bash-completion*: Running postcheck for todoman-bash-completion >>> todoman-zsh-completion*: Running split function zshcomp... 'usr/share/zsh/site-functions' -> '/home/buildozer/aports/community/todoman/pkg/todoman-zsh-completion/usr/share/zsh/site-functions' >>> todoman-zsh-completion*: Preparing subpackage todoman-zsh-completion... >>> todoman-zsh-completion*: Running postcheck for todoman-zsh-completion >>> todoman-pyc*: Running split function pyc... 'usr/lib/python3.14/site-packages/todoman/__pycache__' -> '/home/buildozer/aports/community/todoman/pkg/todoman-pyc/usr/lib/python3.14/site-packages/todoman/__pycache__' >>> todoman-pyc*: Preparing subpackage todoman-pyc... >>> todoman-pyc*: Running postcheck for todoman-pyc >>> todoman-repl*: Running split function repl... >>> todoman-repl*: Preparing subpackage todoman-repl... >>> todoman-repl*: Running postcheck for todoman-repl >>> todoman*: Running postcheck for todoman >>> todoman*: Preparing package todoman... >>> todoman*: Tracing dependencies... python3 py3-click py3-click-log py3-dateutil py3-humanize py3-icalendar py3-parsedatetime py3-urwid py3-xdg python3~3.14 >>> todoman*: Package size: 94.8 KB >>> todoman*: Compressing data... >>> todoman*: Create checksum... >>> todoman*: Create todoman-4.7.0-r0.apk >>> todoman-doc*: Tracing dependencies... >>> todoman-doc*: Package size: 4.6 KB >>> todoman-doc*: Compressing data... >>> todoman-doc*: Create checksum... >>> todoman-doc*: Create todoman-doc-4.7.0-r0.apk >>> todoman-bash-completion*: Tracing dependencies... >>> todoman-bash-completion*: Package size: 2.3 KB >>> todoman-bash-completion*: Compressing data... >>> todoman-bash-completion*: Create checksum... >>> todoman-bash-completion*: Create todoman-bash-completion-4.7.0-r0.apk >>> todoman-zsh-completion*: Tracing dependencies... jq >>> todoman-zsh-completion*: Package size: 9.3 KB >>> todoman-zsh-completion*: Compressing data... >>> todoman-zsh-completion*: Create checksum... >>> todoman-zsh-completion*: Create todoman-zsh-completion-4.7.0-r0.apk >>> todoman-pyc*: Tracing dependencies... python3~3.14 >>> todoman-pyc*: Package size: 159.9 KB >>> todoman-pyc*: Compressing data... >>> todoman-pyc*: Create checksum... >>> todoman-pyc*: Create todoman-pyc-4.7.0-r0.apk >>> todoman-repl*: Tracing dependencies... py3-click-repl todoman=4.7.0-r0 >>> todoman-repl*: Package size: 0.0 >>> todoman-repl*: Compressing data... >>> todoman-repl*: Create checksum... >>> todoman-repl*: Create todoman-repl-4.7.0-r0.apk >>> todoman: Build complete at Wed, 04 Nov 2026 09:37:24 +0000 elapsed time 0h 0m 41s >>> todoman: Cleaning up srcdir >>> todoman: Cleaning up pkgdir >>> todoman: Cleaning up tmpdir >>> todoman: Uninstalling dependencies... ( 1/118) Purging .makedepends-todoman (20261104.093706) ( 2/118) Purging py3-click-log-pyc (0.4.0-r4) ( 3/118) Purging py3-click-log (0.4.0-r4) ( 4/118) Purging py3-humanize-pyc (4.16.0-r0) ( 5/118) Purging py3-humanize (4.16.0-r0) ( 6/118) Purging py3-icalendar-pyc (7.3.0-r0) ( 7/118) Purging py3-icalendar (7.3.0-r0) ( 8/118) Purging py3-tzdata-pyc (2026.4-r0) ( 9/118) Purging py3-tzdata (2026.4-r0) ( 10/118) Purging py3-parsedatetime-pyc (2.6-r9) ( 11/118) Purging py3-parsedatetime (2.6-r9) ( 12/118) Purging py3-urwid-pyc (4.2.3-r0) ( 13/118) Purging py3-urwid (4.2.3-r0) ( 14/118) Purging py3-typing-extensions-pyc (4.16.0-r0) ( 15/118) Purging py3-typing-extensions (4.16.0-r0) ( 16/118) Purging py3-wcwidth-pyc (0.6.0-r1) ( 17/118) Purging py3-wcwidth (0.6.0-r1) ( 18/118) Purging py3-xdg-pyc (0.28-r7) ( 19/118) Purging py3-xdg (0.28-r7) ( 20/118) Purging py3-gpep517-pyc (20-r0) ( 21/118) Purging py3-gpep517 (20-r0) ( 22/118) Purging py3-installer-pyc (1.0.1-r0) ( 23/118) Purging py3-installer (1.0.1-r0) ( 24/118) Purging py3-setuptools_scm-pyc (9.2.2-r1) ( 25/118) Purging py3-setuptools_scm (9.2.2-r1) ( 26/118) Purging py3-sphinx-click-pyc (6.2.0-r0) ( 27/118) Purging py3-sphinx-click (6.2.0-r0) ( 28/118) Purging py3-click-pyc (8.4.2-r0) ( 29/118) Purging py3-click (8.4.2-r0) ( 30/118) Purging py3-sphinx_rtd_theme-pyc (2.0.0-r2) ( 31/118) Purging py3-sphinx_rtd_theme (2.0.0-r2) ( 32/118) Purging py3-sphinxcontrib-jquery-pyc (4.1-r4) ( 33/118) Purging py3-sphinxcontrib-jquery (4.1-r4) ( 34/118) Purging py3-sphinx-pyc (9.1.0-r1) ( 35/118) Purging py3-sphinx (9.1.0-r1) ( 36/118) Purging py3-babel-pyc (2.18.0-r1) ( 37/118) Purging py3-babel (2.18.0-r1) ( 38/118) Purging py3-setuptools-pyc (84.0.0-r0) ( 39/118) Purging py3-setuptools (84.0.0-r0) ( 40/118) Purging py3-docutils-pyc (0.23-r0) ( 41/118) Purging py3-docutils (0.23-r0) ( 42/118) Purging py3-imagesize-pyc (1.4.1-r5) ( 43/118) Purging py3-imagesize (1.4.1-r5) ( 44/118) Purging py3-jinja2-pyc (3.1.6-r1) ( 45/118) Purging py3-jinja2 (3.1.6-r1) ( 46/118) Purging py3-markupsafe-pyc (3.0.3-r1) ( 47/118) Purging py3-markupsafe (3.0.3-r1) ( 48/118) Purging py3-requests-pyc (2.34.2-r0) ( 49/118) Purging py3-requests (2.34.2-r0) ( 50/118) Purging py3-certifi-pyc (2026.10.23-r0) ( 51/118) Purging py3-certifi (2026.10.23-r0) ( 52/118) Purging py3-charset-normalizer-pyc (3.5.1-r0) ( 53/118) Purging py3-charset-normalizer (3.5.1-r0) ( 54/118) Purging py3-idna-pyc (3.20-r0) ( 55/118) Purging py3-idna (3.20-r0) ( 56/118) Purging py3-urllib3-pyc (2.8.0-r0) ( 57/118) Purging py3-urllib3 (2.8.0-r0) ( 58/118) Purging py3-snowballstemmer-pyc (3.0.1-r1) ( 59/118) Purging py3-snowballstemmer (3.0.1-r1) ( 60/118) Purging py3-alabaster-pyc (1.0.0-r1) ( 61/118) Purging py3-alabaster (1.0.0-r1) ( 62/118) Purging py3-roman-numerals-pyc (4.1.0-r1) ( 63/118) Purging py3-roman-numerals (4.1.0-r1) ( 64/118) Purging py3-sphinxcontrib-applehelp-pyc (2.0.0-r0) ( 65/118) Purging py3-sphinxcontrib-applehelp (2.0.0-r0) ( 66/118) Purging py3-sphinxcontrib-devhelp-pyc (2.0.0-r1) ( 67/118) Purging py3-sphinxcontrib-devhelp (2.0.0-r1) ( 68/118) Purging py3-sphinxcontrib-htmlhelp-pyc (2.1.0-r1) ( 69/118) Purging py3-sphinxcontrib-htmlhelp (2.1.0-r1) ( 70/118) Purging py3-sphinxcontrib-jsmath-pyc (1.0.1-r9) ( 71/118) Purging py3-sphinxcontrib-jsmath (1.0.1-r9) ( 72/118) Purging py3-sphinxcontrib-serializinghtml-pyc (2.0.0-r1) ( 73/118) Purging py3-sphinxcontrib-serializinghtml (2.0.0-r1) ( 74/118) Purging py3-sphinxcontrib-qthelp-pyc (2.0.0-r1) ( 75/118) Purging py3-sphinxcontrib-qthelp (2.0.0-r1) ( 76/118) Purging py3-wheel-pyc (0.48.0-r0) ( 77/118) Purging py3-wheel (0.48.0-r0) ( 78/118) Purging py3-freezegun-pyc (1.5.5-r0) ( 79/118) Purging py3-freezegun (1.5.5-r0) ( 80/118) Purging py3-dateutil-pyc (2.9.0-r4) ( 81/118) Purging py3-dateutil (2.9.0-r4) ( 82/118) Purging py3-hypothesis-pyc (6.151.12-r0) ( 83/118) Purging py3-hypothesis (6.151.12-r0) ( 84/118) Purging py3-attrs-pyc (26.1.0-r0) ( 85/118) Purging py3-attrs (26.1.0-r0) ( 86/118) Purging py3-sortedcontainers-pyc (2.4.0-r6) ( 87/118) Purging py3-sortedcontainers (2.4.0-r6) ( 88/118) Purging py3-pytest-cov-pyc (7.1.0-r0) ( 89/118) Purging py3-pytest-cov (7.1.0-r0) ( 90/118) Purging py3-pytest-pyc (9.1.1-r1) ( 91/118) Purging py3-pytest (9.1.1-r1) ( 92/118) Purging py3-iniconfig-pyc (2.3.0-r1) ( 93/118) Purging py3-iniconfig (2.3.0-r1) ( 94/118) Purging py3-packaging-pyc (26.3-r0) ( 95/118) Purging py3-packaging (26.3-r0) ( 96/118) Purging py3-parsing-pyc (3.3.3-r0) ( 97/118) Purging py3-parsing (3.3.3-r0) ( 98/118) Purging py3-pluggy-pyc (1.6.0-r1) ( 99/118) Purging py3-pluggy (1.6.0-r1) (100/118) Purging py3-py-pyc (1.11.0-r5) (101/118) Purging py3-py (1.11.0-r5) (102/118) Purging py3-pygments-pyc (2.21.0-r0) (103/118) Purging py3-pygments (2.21.0-r0) (104/118) Purging py3-coverage-pyc (7.17.0-r0) (105/118) Purging py3-coverage (7.17.0-r0) (106/118) Purging py3-tz-pyc (2026.6-r0) (107/118) Purging py3-tz (2026.6-r0) (108/118) Purging python3-pyc (3.14.10-r1) (109/118) Purging python3-pycache-pyc0 (3.14.10-r1) (110/118) Purging pyc (3.14.10-r1) (111/118) Purging python3 (3.14.10-r1) (112/118) Purging libbz2 (1.0.8-r6) (113/118) Purging libffi (3.8.0-r0) (114/118) Purging libpanelw (6.6_p20261017-r0) (115/118) Purging mpdecimal (4.0.1-r0) (116/118) Purging readline (8.3.3-r1) (117/118) Purging sqlite-libs (3.54.1-r0) (118/118) Purging xz-libs (5.8.4-r0) Executing busybox-1.38.0-r8.trigger OK: 441.7 MiB in 105 packages >>> todoman: Updating the community/x86_64 repository index... >>> todoman: Signing the index...