Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 942005 - dev-libs/protobuf: pkg-config file makes sys-apps/usbguard direct-link against dev-cpp/abseil-cpp? (was: sys-apps/usbguard: rebuild dependency with dev-cpp/abseil-cpp)
Summary: dev-libs/protobuf: pkg-config file makes sys-apps/usbguard direct-link agains...
Status: CONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Paul Zander
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-10-23 09:51 UTC by CaptainBlood
Modified: 2024-10-24 23:28 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
usbguard-ebuild.patch (what I was about to do but then stopped) (usbguard-ebuild.patch,803 bytes, patch)
2024-10-24 23:21 UTC, Sebastian Pipping
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description CaptainBlood 2024-10-23 09:51:54 UTC
* 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
Comment 1 Sebastian Pipping gentoo-dev 2024-10-24 22:41:28 UTC
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.
Comment 2 Sebastian Pipping gentoo-dev 2024-10-24 22:58:43 UTC
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…
Comment 3 Sebastian Pipping gentoo-dev 2024-10-24 23:08:36 UTC
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.
Comment 4 Sebastian Pipping gentoo-dev 2024-10-24 23:21:56 UTC
Created attachment 906647 [details, diff]
usbguard-ebuild.patch (what I was about to do but then stopped)
Comment 5 Sebastian Pipping gentoo-dev 2024-10-24 23:26:38 UTC
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.
Comment 6 Sebastian Pipping gentoo-dev 2024-10-24 23:28:59 UTC
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