* GNU info directory index is up-to-date. !!! existing preserved libs: >>> package: dev-cpp/abseil-cpp-20240722.0 * - /usr/lib64/libabsl_bad_optional_access.so.2401.0.0 * used by /usr/bin/usbguard (sys-apps/usbguard-1.1.3-r1) ... Maybe ebuild could be modified to trigger automatic rebuild? Reproducible: Always
Taking over since the package is *not* proxy-maintained and I'm the maintainer, see https://gitweb.gentoo.org/repo/gentoo.git/tree/sys-apps/usbguard/metadata.xml . Happy to collaborate, let's respect metadata.xml please.
Analysis shows that (1) USBguard code makes zero direct use of Abseil and that (2) the output of "pkg-config --libs protobuf" brings in Abseil, which comes as a surprise. So I will apparently need to add dev-cpp/abseil-cpp as a build and runtime dependency…
Looking at dev-libs/protobuf metadata.xml explained a few things to me. So I'll re-add proxy-maint@gentoo.org to CC for awareness on the protobug aspects. I'm expecting the current pkg-config file to be a problem not just to USBGuard.
Created attachment 906647 [details, diff] usbguard-ebuild.patch (what I was about to do but then stopped)
I stopped half-way and decided to re-assign to dev-libs/protobuf maintainers (and making the report title reflect that) before adding workarounds to sys-apps/usbguard that may as well be fixed at the source. The patch attached shows what I was about to do with the sys-apps/usbguard ebuild before I stopped.
PS: For proof from =dev-libs/protobuf-28.0 # pkg-config --libs protobuf | xargs -n1 | grep labsl_ | xargs -labsl_log_internal_check_op -labsl_leak_check -labsl_die_if_null -labsl_log_internal_conditions -labsl_log_internal_message -labsl_examine_stack -labsl_log_internal_format -labsl_log_internal_proto -labsl_log_internal_nullguard -labsl_log_internal_log_sink_set -labsl_log_sink -labsl_log_entry -labsl_flags_internal -labsl_flags_marshalling -labsl_flags_reflection -labsl_flags_private_handle_accessor -labsl_flags_commandlineflag -labsl_flags_commandlineflag_internal -labsl_flags_config -labsl_flags_program_name -labsl_log_initialize -labsl_log_internal_globals -labsl_log_globals -labsl_vlog_config_internal -labsl_log_internal_fnmatch -labsl_raw_hash_set -labsl_hash -labsl_city -labsl_low_level_hash -labsl_hashtablez_sampler -labsl_random_distributions -labsl_random_seed_sequences -labsl_random_internal_pool_urbg -labsl_random_internal_randen -labsl_random_internal_randen_hwaes -labsl_random_internal_randen_hwaes_impl -labsl_random_internal_randen_slow -labsl_random_internal_platform -labsl_random_internal_seed_material -labsl_random_seed_gen_exception -labsl_statusor -labsl_status -labsl_cord -labsl_cordz_info -labsl_cord_internal -labsl_cordz_functions -labsl_exponential_biased -labsl_cordz_handle -labsl_crc_cord_state -labsl_crc32c -labsl_crc_internal -labsl_crc_cpu_detect -labsl_bad_optional_access -labsl_strerror -labsl_str_format_internal -labsl_synchronization -labsl_graphcycles_internal -labsl_kernel_timeout_internal -labsl_stacktrace -labsl_symbolize -labsl_debugging_internal -labsl_demangle_internal -labsl_demangle_rust -labsl_decode_rust_punycode -labsl_utf8_for_code_point -labsl_malloc_internal -labsl_time -labsl_civil_time -labsl_time_zone -labsl_bad_variant_access -labsl_strings -labsl_strings_internal -labsl_string_view -labsl_base -labsl_spinlock_wait -labsl_int128 -labsl_throw_delegate -labsl_raw_logging_internal -labsl_log_severity