feat: packages, services and updates
CI / test (3.10) (push) Successful in 26s
CI / test (3.11) (push) Successful in 24s
CI / test (3.12) (push) Successful in 26s
CI / test (3.10) (pull_request) Successful in 25s
CI / test (3.11) (pull_request) Successful in 24s
CI / test (3.12) (pull_request) Successful in 25s

The write side NetOrk/netork#799 needs, on both drivers.

- Packages: get_packages (FreeBSD `pkg query` with the repository as
  source, nothing on a classic system without pkg; OpenBSD `pkg_info`),
  install_package / uninstall_package as root (`pkg install`/`pkg
  delete`, `pkg_add -I`/`pkg_delete`), names checked before anything is
  sent, a failure raised with what the tool printed.
- Updates: get_available_updates. FreeBSD `pkg upgrade -n`, with
  `security` from VuXML (`pkg audit`: True for a listed package, False for
  any other, None when the audit could not run); OpenBSD `pkg_add -u -n
  -v` (no security verdict). Base-system patches are one `base-system`
  entry, as decided in #799: OpenBSD's `syspatch -c`, and on a classic
  FreeBSD what `freebsd-update` has fetched; on pkgbase the base system is
  packages from FreeBSD-base.
- Services: get_services lists the enabled ones (FreeBSD `service ...
  status` as root, as root-only pidfiles hide daemons otherwise, without
  root when sudo refuses; OpenBSD `rcctl check`), manage_service runs
  start/stop/restart/enable/disable as root and returns success and
  output.

Fixtures recorded on the FreeBSD 15.1 and OpenBSD 7.9 VMs with genuinely
outdated packages (FreeBSD pointed at the latest branch, an OpenBSD
package taken back to its release build). Checked live on both, including
a service restart and installing and removing a package.
This commit is contained in:
2026-10-08 09:59:04 +02:00
parent 045f809602
commit e8468a292a
24 changed files with 1703 additions and 3 deletions
+214
View File
@@ -0,0 +1,214 @@
Update candidates: quirks-7.194 -> quirks-7.194
quirks-7.194->7.194 (processing)(pretending)
Update candidates: updatedb-0p0 -> updatedb-0p0
quirks-7.194:updatedb-0p0->0p0 (processing)(pretending)
quirks-7.194->7.194 (processing)(pretending)
quirks-7.194 signed on 2026-10-01T16:58:35Z
Update candidates: argon2-20190702p0 -> argon2-20190702p0
argon2-20190702p0->20190702p0 (processing)(pretending)
Update candidates: bash-5.3.9 -> bash-5.3.9
bash-5.3.9->5.3.9 (processing)(pretending)
Update candidates: gettext-runtime-1.0 -> gettext-runtime-1.0
bash-5.3.9:gettext-runtime-1.0->1.0 (processing)(pretending)
Update candidates: libiconv-1.19 -> libiconv-1.19
bash-5.3.9:libiconv-1.19->1.19 (processing)(pretending)
bash-5.3.9:gettext-runtime-1.0->1.0 (processing)(pretending)
bash-5.3.9->5.3.9 (processing)(pretending)
Update candidates: bash-completion-2.17.0 -> bash-completion-2.17.0
bash-completion-2.17.0->2.17.0 (processing)(pretending)
Update candidates: bzip2-1.0.8p0 -> bzip2-1.0.8p0
bzip2-1.0.8p0->1.0.8p0 (processing)(pretending)
Update candidates: e2fsprogs-1.47.3 -> e2fsprogs-1.47.3
e2fsprogs-1.47.3->1.47.3 (processing)(pretending)
Update candidates: glib2-2.86.5 -> glib2-2.86.5
glib2-2.86.5->2.86.5 (processing)(pretending)
Update candidates: pcre2-10.44 -> pcre2-10.48
glib2-2.86.5:pcre2-10.44->10.48 (processing)(pretending)
glib2-2.86.5:.libs-pcre2-10.48+pcre2-10.44->pcre2-10.48 (processing)(pretending)
glib2-2.86.5:pcre2-10.44 (hashing)(pretending)
glib2-2.86.5:.libs-pcre2-10.48 (hashing)(pretending)
glib2-2.86.5:pcre2-10.48 (tieing)(pretending)
glib2-2.86.5:pcre2-10.48 (extracting)(pretending)
glib2-2.86.5:pcre2-10.48 (skipping)(pretending)
glib2-2.86.5:pcre2-10.44 (deleting)(pretending)
Removing manpages in /usr/local/man: /usr/local/man/man1/pcre2-config.1 /usr/local/man/man1/pcre2grep.1 /usr/local/man/man1/pcre2test.1 /usr/local/man/man3/pcre2.3 /usr/local/man/man3/pcre2_callout_enumerate.3 /usr/local/man/man3/pcre2_code_copy.3 /usr/local/man/man3/pcre2_code_copy_with_tables.3 /usr/local/man/man3/pcre2_code_free.3 /usr/local/man/man3/pcre2_compile.3 /usr/local/man/man3/pcre2_compile_context_copy.3 /usr/local/man/man3/pcre2_compile_context_create.3 /usr/local/man/man3/pcre2_compile_context_free.3 /usr/local/man/man3/pcre2_config.3 /usr/local/man/man3/pcre2_convert_context_copy.3 /usr/local/man/man3/pcre2_convert_context_create.3 /usr/local/man/man3/pcre2_convert_context_free.3 /usr/local/man/man3/pcre2_converted_pattern_free.3 /usr/local/man/man3/pcre2_dfa_match.3 /usr/local/man/man3/pcre2_general_context_copy.3 /usr/local/man/man3/pcre2_general_context_create.3 /usr/local/man/man3/pcre2_general_context_free.3 /usr/local/man/man3/pcre2_get_error_message.3 /usr/local/man/man3/pcre2_get_mark.3 /usr/local/man/man3/pcre2_get_match_data_heapframes_size.3 /usr/local/man/man3/pcre2_get_match_data_size.3 /usr/local/man/man3/pcre2_get_ovector_count.3 /usr/local/man/man3/pcre2_get_ovector_pointer.3 /usr/local/man/man3/pcre2_get_startchar.3 /usr/local/man/man3/pcre2_jit_compile.3 /usr/local/man/man3/pcre2_jit_free_unused_memory.3 /usr/local/man/man3/pcre2_jit_match.3 /usr/local/man/man3/pcre2_jit_stack_assign.3 /usr/local/man/man3/pcre2_jit_stack_create.3 /usr/local/man/man3/pcre2_jit_stack_free.3 /usr/local/man/man3/pcre2_maketables.3 /usr/local/man/man3/pcre2_maketables_free.3 /usr/local/man/man3/pcre2_match.3 /usr/local/man/man3/pcre2_match_context_copy.3 /usr/local/man/man3/pcre2_match_context_create.3 /usr/local/man/man3/pcre2_match_context_free.3 /usr/local/man/man3/pcre2_match_data_create.3 /usr/local/man/man3/pcre2_match_data_create_from_pattern.3 /usr/local/man/man3/pcre2_match_data_free.3 /usr/local/man/man3/pcre2_pattern_convert.3 /usr/local/man/man3/pcre2_pattern_info.3 /usr/local/man/man3/pcre2_serialize_decode.3 /usr/local/man/man3/pcre2_serialize_encode.3 /usr/local/man/man3/pcre2_serialize_free.3 /usr/local/man/man3/pcre2_serialize_get_number_of_codes.3 /usr/local/man/man3/pcre2_set_bsr.3 /usr/local/man/man3/pcre2_set_callout.3 /usr/local/man/man3/pcre2_set_character_tables.3 /usr/local/man/man3/pcre2_set_compile_extra_options.3 /usr/local/man/man3/pcre2_set_compile_recursion_guard.3 /usr/local/man/man3/pcre2_set_depth_limit.3 /usr/local/man/man3/pcre2_set_glob_escape.3 /usr/local/man/man3/pcre2_set_glob_separator.3 /usr/local/man/man3/pcre2_set_heap_limit.3 /usr/local/man/man3/pcre2_set_match_limit.3 /usr/local/man/man3/pcre2_set_max_pattern_compiled_length.3 /usr/local/man/man3/pcre2_set_max_pattern_length.3 /usr/local/man/man3/pcre2_set_max_varlookbehind.3 /usr/local/man/man3/pcre2_set_newline.3 /usr/local/man/man3/pcre2_set_offset_limit.3 /usr/local/man/man3/pcre2_set_parens_nest_limit.3 /usr/local/man/man3/pcre2_set_recursion_limit.3 /usr/local/man/man3/pcre2_set_recursion_memory_management.3 /usr/local/man/man3/pcre2_set_substitute_callout.3 /usr/local/man/man3/pcre2_substitute.3 /usr/local/man/man3/pcre2_substring_copy_byname.3 /usr/local/man/man3/pcre2_substring_copy_bynumber.3 /usr/local/man/man3/pcre2_substring_free.3 /usr/local/man/man3/pcre2_substring_get_byname.3 /usr/local/man/man3/pcre2_substring_get_bynumber.3 /usr/local/man/man3/pcre2_substring_length_byname.3 /usr/local/man/man3/pcre2_substring_length_bynumber.3 /usr/local/man/man3/pcre2_substring_list_free.3 /usr/local/man/man3/pcre2_substring_list_get.3 /usr/local/man/man3/pcre2_substring_nametable_scan.3 /usr/local/man/man3/pcre2_substring_number_from_name.3 /usr/local/man/man3/pcre2api.3 /usr/local/man/man3/pcre2build.3 /usr/local/man/man3/pcre2callout.3 /usr/local/man/man3/pcre2compat.3 /usr/local/man/man3/pcre2convert.3 /usr/local/man/man3/pcre2demo.3 /usr/local/man/man3/pcre2jit.3 /usr/local/man/man3/pcre2limits.3 /usr/local/man/man3/pcre2matching.3 /usr/local/man/man3/pcre2partial.3 /usr/local/man/man3/pcre2pattern.3 /usr/local/man/man3/pcre2perform.3 /usr/local/man/man3/pcre2posix.3 /usr/local/man/man3/pcre2sample.3 /usr/local/man/man3/pcre2serialize.3 /usr/local/man/man3/pcre2syntax.3 /usr/local/man/man3/pcre2unicode.3
glib2-2.86.5:.libs-pcre2-10.48 (deleting)(pretending)
glib2-2.86.5:pcre2-10.48 (installing)(pretending)
Adding glib2-2.86.5:.libs-pcre2-10.48+pcre2-10.44->pcre2-10.48(pretending)
Update candidates: python-3.13.15p0 -> python-3.13.15p0
glib2-2.86.5:python-3.13.15p0->3.13.15p0 (processing)(pretending)
Update candidates: xz-5.8.4 -> xz-5.8.4
glib2-2.86.5:xz-5.8.4->5.8.4 (processing)(pretending)
Update candidates: sqlite3-3.51.3 -> sqlite3-3.51.3
glib2-2.86.5:sqlite3-3.51.3->3.51.3 (processing)(pretending)
Update candidates: libb2-0.98.1v0 -> libb2-0.98.1v0
glib2-2.86.5:libb2-0.98.1v0->0.98.1v0 (processing)(pretending)
Update candidates: libffi-3.5.2p0 -> libffi-3.5.2p0
glib2-2.86.5:libffi-3.5.2p0->3.5.2p0 (processing)(pretending)
glib2-2.86.5:python-3.13.15p0->3.13.15p0 (processing)(pretending)
Update candidates: py3-packaging-26.0 -> py3-packaging-26.0
glib2-2.86.5:py3-packaging-26.0->26.0 (processing)(pretending)
glib2-2.86.5->2.86.5 (processing)(pretending)
Update candidates: libyaml-0.2.5 -> libyaml-0.2.5
libyaml-0.2.5->0.2.5 (processing)(pretending)
Update candidates: meson-1.10.2v0 -> meson-1.10.2v0
meson-1.10.2v0->1.10.2v0 (processing)(pretending)
Update candidates: ninja-1.11.1p1v1 -> ninja-1.11.1p1v1
meson-1.10.2v0:ninja-1.11.1p1v1->1.11.1p1v1 (processing)(pretending)
meson-1.10.2v0->1.10.2v0 (processing)(pretending)
Update candidates: py3-MarkupSafe-3.0.3p0 -> py3-MarkupSafe-3.0.3p0
py3-MarkupSafe-3.0.3p0->3.0.3p0 (processing)(pretending)
Update candidates: py3-apipkg-3.0.2p1 -> py3-apipkg-3.0.2p1
py3-apipkg-3.0.2p1->3.0.2p1 (processing)(pretending)
Update candidates: py3-argon2-cffi-25.1.0 -> py3-argon2-cffi-25.1.0
py3-argon2-cffi-25.1.0->25.1.0 (processing)(pretending)
Update candidates: py3-argon2-cffi-bindings-25.1.0 -> py3-argon2-cffi-bindings-25.1.0
py3-argon2-cffi-25.1.0:py3-argon2-cffi-bindings-25.1.0->25.1.0 (processing)(pretending)
Update candidates: py3-cffi-2.0.0p0 -> py3-cffi-2.0.0p0
py3-argon2-cffi-25.1.0:py3-cffi-2.0.0p0->2.0.0p0 (processing)(pretending)
Update candidates: py3-cparser-3.0 -> py3-cparser-3.0
py3-argon2-cffi-25.1.0:py3-cparser-3.0->3.0 (processing)(pretending)
py3-argon2-cffi-25.1.0:py3-cffi-2.0.0p0->2.0.0p0 (processing)(pretending)
py3-argon2-cffi-25.1.0:py3-argon2-cffi-bindings-25.1.0->25.1.0 (processing)(pretending)
py3-argon2-cffi-25.1.0->25.1.0 (processing)(pretending)
Update candidates: py3-arrow-1.4.0p0 -> py3-arrow-1.4.0p0
py3-arrow-1.4.0p0->1.4.0p0 (processing)(pretending)
Update candidates: py3-types-python-dateutil-2.9.0.20260305 -> py3-types-python-dateutil-2.9.0.20260305
py3-arrow-1.4.0p0:py3-types-python-dateutil-2.9.0.20260305->2.9.0.20260305 (processing)(pretending)
Update candidates: py3-tzdata-2026.3 -> py3-tzdata-2026.4
py3-arrow-1.4.0p0:py3-tzdata-2026.3->2026.4 (processing)(pretending)
py3-arrow-1.4.0p0:py3-tzdata-2026.3 (hashing)(pretending)
py3-arrow-1.4.0p0:py3-tzdata-2026.4 (tieing)(pretending)
py3-arrow-1.4.0p0:py3-tzdata-2026.4 (extracting)(pretending)
py3-arrow-1.4.0p0:py3-tzdata-2026.4 (skipping)(pretending)
py3-arrow-1.4.0p0:py3-tzdata-2026.3 (deleting)(pretending)
py3-arrow-1.4.0p0:py3-tzdata-2026.4 (installing)(pretending)
Adding py3-arrow-1.4.0p0:py3-tzdata-2026.3->2026.4(pretending)
Update candidates: py3-dateutil-2.9.0pl0p0 -> py3-dateutil-2.9.0pl0p0
py3-arrow-1.4.0p0:py3-dateutil-2.9.0pl0p0->2.9.0pl0p0 (processing)(pretending)
Update candidates: py3-six-1.17.0p1 -> py3-six-1.17.0p1
py3-arrow-1.4.0p0:py3-six-1.17.0p1->1.17.0p1 (processing)(pretending)
py3-arrow-1.4.0p0:py3-dateutil-2.9.0pl0p0->2.9.0pl0p0 (processing)(pretending)
py3-arrow-1.4.0p0->1.4.0p0 (processing)(pretending)
Update candidates: py3-attrs-25.4.0 -> py3-attrs-25.4.0
py3-attrs-25.4.0->25.4.0 (processing)(pretending)
Update candidates: py3-bcrypt-5.0.0p0 -> py3-bcrypt-5.0.0p0
py3-bcrypt-5.0.0p0->5.0.0p0 (processing)(pretending)
Update candidates: py3-blinker-1.9.0p0 -> py3-blinker-1.9.0p0
py3-blinker-1.9.0p0->1.9.0p0 (processing)(pretending)
Update candidates: py3-brotli-1.2.0 -> py3-brotli-1.2.0
py3-brotli-1.2.0->1.2.0 (processing)(pretending)
Update candidates: py3-cachetools-7.0.5 -> py3-cachetools-7.0.5
py3-cachetools-7.0.5->7.0.5 (processing)(pretending)
Update candidates: py3-certifi-2026.1.4 -> py3-certifi-2026.1.4
py3-certifi-2026.1.4->2026.1.4 (processing)(pretending)
Update candidates: py3-chardet-5.2.0v0 -> py3-chardet-5.2.0v0
py3-chardet-5.2.0v0->5.2.0v0 (processing)(pretending)
Update candidates: py3-charset-normalizer-3.4.7 -> py3-charset-normalizer-3.4.7
py3-charset-normalizer-3.4.7->3.4.7 (processing)(pretending)
Update candidates: py3-colorama-0.4.6p1 -> py3-colorama-0.4.6p1
py3-colorama-0.4.6p1->0.4.6p1 (processing)(pretending)
Update candidates: py3-configobj-5.0.9p0 -> py3-configobj-5.0.9p0
py3-configobj-5.0.9p0->5.0.9p0 (processing)(pretending)
Update candidates: py3-coverage-7.13.2 -> py3-coverage-7.13.2
py3-coverage-7.13.2->7.13.2 (processing)(pretending)
Update candidates: py3-cryptography-46.0.7 -> py3-cryptography-46.0.7
py3-cryptography-46.0.7->46.0.7 (processing)(pretending)
Update candidates: py3-distlib-0.4.0 -> py3-distlib-0.4.0
py3-distlib-0.4.0->0.4.0 (processing)(pretending)
Update candidates: py3-execnet-2.1.2 -> py3-execnet-2.1.2
py3-execnet-2.1.2->2.1.2 (processing)(pretending)
Update candidates: py3-filelock-3.25.2 -> py3-filelock-3.25.2
py3-filelock-3.25.2->3.25.2 (processing)(pretending)
Update candidates: py3-fqdn-1.5.1p1 -> py3-fqdn-1.5.1p1
py3-fqdn-1.5.1p1->1.5.1p1 (processing)(pretending)
Update candidates: py3-idna-3.11 -> py3-idna-3.11
py3-idna-3.11->3.11 (processing)(pretending)
Update candidates: py3-iniconfig-2.3.0 -> py3-iniconfig-2.3.0
py3-iniconfig-2.3.0->2.3.0 (processing)(pretending)
Update candidates: py3-isoduration-20.11.0p2 -> py3-isoduration-20.11.0p2
py3-isoduration-20.11.0p2->20.11.0p2 (processing)(pretending)
Update candidates: py3-jinja2-3.1.6p0 -> py3-jinja2-3.1.6p0
py3-jinja2-3.1.6p0->3.1.6p0 (processing)(pretending)
Update candidates: py3-jsonpatch-1.33p2 -> py3-jsonpatch-1.33p2
py3-jsonpatch-1.33p2->1.33p2 (processing)(pretending)
Update candidates: py3-jsonpointer-2.4p2 -> py3-jsonpointer-2.4p2
py3-jsonpatch-1.33p2:py3-jsonpointer-2.4p2->2.4p2 (processing)(pretending)
py3-jsonpatch-1.33p2->1.33p2 (processing)(pretending)
Update candidates: py3-jsonschema-4.24.0 -> py3-jsonschema-4.24.0
py3-jsonschema-4.24.0->4.24.0 (processing)(pretending)
Update candidates: py3-uri-template-1.3.0p1 -> py3-uri-template-1.3.0p1
py3-jsonschema-4.24.0:py3-uri-template-1.3.0p1->1.3.0p1 (processing)(pretending)
Update candidates: py3-rfc3339-validator-0.1.4p2 -> py3-rfc3339-validator-0.1.4p2
py3-jsonschema-4.24.0:py3-rfc3339-validator-0.1.4p2->0.1.4p2 (processing)(pretending)
Update candidates: py3-rfc3986-validator-0.1.1p2 -> py3-rfc3986-validator-0.1.1p2
py3-jsonschema-4.24.0:py3-rfc3986-validator-0.1.1p2->0.1.1p2 (processing)(pretending)
Update candidates: py3-rpds-py-0.30.0p0 -> py3-rpds-py-0.30.0p0
py3-jsonschema-4.24.0:py3-rpds-py-0.30.0p0->0.30.0p0 (processing)(pretending)
Update candidates: py3-webcolors-25.10.0p0 -> py3-webcolors-25.10.0p0
py3-jsonschema-4.24.0:py3-webcolors-25.10.0p0->25.10.0p0 (processing)(pretending)
Update candidates: py3-referencing-0.37.0p0 -> py3-referencing-0.37.0p0
py3-jsonschema-4.24.0:py3-referencing-0.37.0p0->0.37.0p0 (processing)(pretending)
Update candidates: py3-jsonschema-specifications-2025.4.1 -> py3-jsonschema-specifications-2025.4.1
py3-jsonschema-4.24.0:py3-jsonschema-specifications-2025.4.1->2025.4.1 (processing)(pretending)
py3-jsonschema-4.24.0->4.24.0 (processing)(pretending)
Update candidates: py3-jwt-2.10.1 -> py3-jwt-2.10.1
py3-jwt-2.10.1->2.10.1 (processing)(pretending)
Update candidates: py3-mock-5.1.0p0 -> py3-mock-5.1.0p0
py3-mock-5.1.0p0->5.1.0p0 (processing)(pretending)
Update candidates: py3-oauthlib-3.3.1 -> py3-oauthlib-3.3.1
py3-oauthlib-3.3.1->3.3.1 (processing)(pretending)
Update candidates: py3-passlib-1.9.3p0 -> py3-passlib-1.9.3p0
py3-passlib-1.9.3p0->1.9.3p0 (processing)(pretending)
Update candidates: py3-scrypt-0.9.4 -> py3-scrypt-0.9.4
py3-passlib-1.9.3p0:py3-scrypt-0.9.4->0.9.4 (processing)(pretending)
py3-passlib-1.9.3p0->1.9.3p0 (processing)(pretending)
Update candidates: py3-platformdirs-4.9.6 -> py3-platformdirs-4.9.6
py3-platformdirs-4.9.6->4.9.6 (processing)(pretending)
Update candidates: py3-pluggy-1.6.0p0 -> py3-pluggy-1.6.0p0
py3-pluggy-1.6.0p0->1.6.0p0 (processing)(pretending)
Update candidates: py3-pygments-2.20.0 -> py3-pygments-2.20.0
py3-pygments-2.20.0->2.20.0 (processing)(pretending)
Update candidates: py3-pyproject_api-1.10.0 -> py3-pyproject_api-1.10.0
py3-pyproject_api-1.10.0->1.10.0 (processing)(pretending)
Update candidates: py3-python-discovery-1.2.1p0 -> py3-python-discovery-1.2.1p0
py3-python-discovery-1.2.1p0->1.2.1p0 (processing)(pretending)
py3-python-discovery-1.2.1p0 (hashing)(pretending)
py3-python-discovery-1.2.1p0 (tieing)(pretending)
py3-python-discovery-1.2.1p0 (extracting)(pretending)
py3-python-discovery-1.2.1p0 (skipping)(pretending)
py3-python-discovery-1.2.1p0 (deleting)(pretending)
py3-python-discovery-1.2.1p0 (installing)(pretending)
Adding py3-python-discovery-1.2.1p0->1.2.1p0(pretending)
Update candidates: py3-requests-2.33.1 -> py3-requests-2.33.1
py3-requests-2.33.1->2.33.1 (processing)(pretending)
Update candidates: py3-urllib3-1.26.20p0 -> py3-urllib3-1.26.20p0
py3-requests-2.33.1:py3-urllib3-1.26.20p0->1.26.20p0 (processing)(pretending)
py3-requests-2.33.1->2.33.1 (processing)(pretending)
Update candidates: py3-responses-0.25.0p2 -> py3-responses-0.25.0p2
py3-responses-0.25.0p2->0.25.0p2 (processing)(pretending)
Update candidates: py3-yaml-6.0.2p1 -> py3-yaml-6.0.2p1
py3-responses-0.25.0p2:py3-yaml-6.0.2p1->6.0.2p1 (processing)(pretending)
py3-responses-0.25.0p2->0.25.0p2 (processing)(pretending)
Update candidates: py3-serial-3.5p0 -> py3-serial-3.5p0
py3-serial-3.5p0->3.5p0 (processing)(pretending)
Update candidates: py3-test-9.0.2p0 -> py3-test-9.0.2p0
py3-test-9.0.2p0->9.0.2p0 (processing)(pretending)
Update candidates: py3-test-cov-7.1.0 -> py3-test-cov-7.1.0
py3-test-cov-7.1.0->7.1.0 (processing)(pretending)
Update candidates: py3-test-mock-3.15.1 -> py3-test-mock-3.15.1
py3-test-mock-3.15.1->3.15.1 (processing)(pretending)
Update candidates: py3-test-xdist-3.8.0 -> py3-test-xdist-3.8.0
py3-test-xdist-3.8.0->3.8.0 (processing)(pretending)
Update candidates: py3-tox-4.47.0 -> py3-tox-4.47.0
py3-tox-4.47.0->4.47.0 (processing)(pretending)
Update candidates: py3-virtualenv-21.2.3 -> py3-virtualenv-21.2.3
py3-tox-4.47.0:py3-virtualenv-21.2.3->21.2.3 (processing)(pretending)
py3-tox-4.47.0->4.47.0 (processing)(pretending)
Update candidates: qemu-ga-10.2.1 -> qemu-ga-10.2.1
qemu-ga-10.2.1->10.2.1 (processing)(pretending)
Update candidates: sudo-1.9.17.2p1 -> sudo-1.9.17.2p1
sudo-1.9.17.2p1->1.9.17.2p1 (processing)(pretending)
Update candidates: updatedb-0p0 -> updatedb-0p0
updatedb-0p0->0p0 (processing)(pretending)
Merging manpages in /usr/local/man: /usr/local/man/man1/pcre2-config.1 /usr/local/man/man1/pcre2grep.1 /usr/local/man/man1/pcre2test.1 /usr/local/man/man3/pcre2.3 /usr/local/man/man3/pcre2_callout_enumerate.3 /usr/local/man/man3/pcre2_code_copy.3 /usr/local/man/man3/pcre2_code_copy_with_tables.3 /usr/local/man/man3/pcre2_code_free.3 /usr/local/man/man3/pcre2_compile.3 /usr/local/man/man3/pcre2_compile_context_copy.3 /usr/local/man/man3/pcre2_compile_context_create.3 /usr/local/man/man3/pcre2_compile_context_free.3 /usr/local/man/man3/pcre2_config.3 /usr/local/man/man3/pcre2_convert_context_copy.3 /usr/local/man/man3/pcre2_convert_context_create.3 /usr/local/man/man3/pcre2_convert_context_free.3 /usr/local/man/man3/pcre2_converted_pattern_free.3 /usr/local/man/man3/pcre2_dfa_match.3 /usr/local/man/man3/pcre2_general_context_copy.3 /usr/local/man/man3/pcre2_general_context_create.3 /usr/local/man/man3/pcre2_general_context_free.3 /usr/local/man/man3/pcre2_get_error_message.3 /usr/local/man/man3/pcre2_get_mark.3 /usr/local/man/man3/pcre2_get_match_data_heapframes_size.3 /usr/local/man/man3/pcre2_get_match_data_size.3 /usr/local/man/man3/pcre2_get_ovector_count.3 /usr/local/man/man3/pcre2_get_ovector_pointer.3 /usr/local/man/man3/pcre2_get_startchar.3 /usr/local/man/man3/pcre2_jit_compile.3 /usr/local/man/man3/pcre2_jit_free_unused_memory.3 /usr/local/man/man3/pcre2_jit_match.3 /usr/local/man/man3/pcre2_jit_stack_assign.3 /usr/local/man/man3/pcre2_jit_stack_create.3 /usr/local/man/man3/pcre2_jit_stack_free.3 /usr/local/man/man3/pcre2_maketables.3 /usr/local/man/man3/pcre2_maketables_free.3 /usr/local/man/man3/pcre2_match.3 /usr/local/man/man3/pcre2_match_context_copy.3 /usr/local/man/man3/pcre2_match_context_create.3 /usr/local/man/man3/pcre2_match_context_free.3 /usr/local/man/man3/pcre2_match_data_create.3 /usr/local/man/man3/pcre2_match_data_create_from_pattern.3 /usr/local/man/man3/pcre2_match_data_free.3 /usr/local/man/man3/pcre2_next_match.3 /usr/local/man/man3/pcre2_pattern_convert.3 /usr/local/man/man3/pcre2_pattern_info.3 /usr/local/man/man3/pcre2_serialize_decode.3 /usr/local/man/man3/pcre2_serialize_encode.3 /usr/local/man/man3/pcre2_serialize_free.3 /usr/local/man/man3/pcre2_serialize_get_number_of_codes.3 /usr/local/man/man3/pcre2_set_bsr.3 /usr/local/man/man3/pcre2_set_callout.3 /usr/local/man/man3/pcre2_set_character_tables.3 /usr/local/man/man3/pcre2_set_compile_extra_options.3 /usr/local/man/man3/pcre2_set_compile_recursion_guard.3 /usr/local/man/man3/pcre2_set_depth_limit.3 /usr/local/man/man3/pcre2_set_glob_escape.3 /usr/local/man/man3/pcre2_set_glob_separator.3 /usr/local/man/man3/pcre2_set_heap_limit.3 /usr/local/man/man3/pcre2_set_match_limit.3 /usr/local/man/man3/pcre2_set_max_pattern_compiled_length.3 /usr/local/man/man3/pcre2_set_max_pattern_length.3 /usr/local/man/man3/pcre2_set_max_varlookbehind.3 /usr/local/man/man3/pcre2_set_newline.3 /usr/local/man/man3/pcre2_set_offset_limit.3 /usr/local/man/man3/pcre2_set_optimize.3 /usr/local/man/man3/pcre2_set_parens_nest_limit.3 /usr/local/man/man3/pcre2_set_recursion_limit.3 /usr/local/man/man3/pcre2_set_recursion_memory_management.3 /usr/local/man/man3/pcre2_set_substitute_callout.3 /usr/local/man/man3/pcre2_set_substitute_case_callout.3 /usr/local/man/man3/pcre2_substitute.3 /usr/local/man/man3/pcre2_substring_copy_byname.3 /usr/local/man/man3/pcre2_substring_copy_bynumber.3 /usr/local/man/man3/pcre2_substring_free.3 /usr/local/man/man3/pcre2_substring_get_byname.3 /usr/local/man/man3/pcre2_substring_get_bynumber.3 /usr/local/man/man3/pcre2_substring_length_byname.3 /usr/local/man/man3/pcre2_substring_length_bynumber.3 /usr/local/man/man3/pcre2_substring_list_free.3 /usr/local/man/man3/pcre2_substring_list_get.3 /usr/local/man/man3/pcre2_substring_nametable_scan.3 /usr/local/man/man3/pcre2_substring_number_from_name.3 /usr/local/man/man3/pcre2api.3 /usr/local/man/man3/pcre2build.3 /usr/local/man/man3/pcre2callout.3 /usr/local/man/man3/pcre2compat.3 /usr/local/man/man3/pcre2convert.3 /usr/local/man/man3/pcre2demo.3 /usr/local/man/man3/pcre2jit.3 /usr/local/man/man3/pcre2limits.3 /usr/local/man/man3/pcre2matching.3 /usr/local/man/man3/pcre2partial.3 /usr/local/man/man3/pcre2pattern.3 /usr/local/man/man3/pcre2perform.3 /usr/local/man/man3/pcre2posix.3 /usr/local/man/man3/pcre2sample.3 /usr/local/man/man3/pcre2serialize.3 /usr/local/man/man3/pcre2syntax.3 /usr/local/man/man3/pcre2unicode.3