mirror of
git://sourceware.org/git/libabigail.git
synced 2025-03-06 06:37:31 +00:00
When an RPM contains a DSO which SONAME is not listed in the "provides" property of the package, abipkgdiff ought to consider that DSO as private to the RPM. It should thus *NOT* consider that DSO when comparing ABIs, at least, by default. This is as per the discussion that was held at https://pagure.io/task-abicheck/issue/8 and that led to the proposal https://pagure.io/task-abicheck/issue/8#comment-492466. This patch implements that scheme. Basically, the patch looks at the SONAMEs listed in the "provides" property of the RPM and consider them as the SONAMEs of the set of "public" DSOs of the RPM. Thus, if the RPM has a DSO that has no SONAME of one that is not listed in the set of public SONAMEs of the package, then that DSO is not considered for ABI comparison. The patch also introduces a new --private-dso option that disables this behaviour and compares all DSOs, including those that would be meant to be private. * doc/manuals/abipkgdiff.rst: Add documentation for the new --private-dso option. * include/abg-tools-utils.h (execute_command_and_get_output) (execute_command_and_get_output, remove_trailing_white_spaces): Declare new functions. * src/abg-tools-utils.cc (execute_command_and_get_output) (get_dsos_provided_by_rpm, remove_trailing_white_spaces): Define new functions. * tests/test-diff-pkg.cc (in_out_specs): Add the new --private-dso option where it makes sense. * tools/abipkgdiff.cc (options::compare_private_dsos): Add new data member. (options::options): Initialize it. (package::public_dso_sonames_): Add new data member. (package::public_dso_sonames): Add new accessors pair. (display_usage): Add a help string for the new --private-dso option. (maybe_create_public_dso_sonames_set) (must_compare_public_dso_only): Define new static functions. (create_maps_of_package_content): Call the new maybe_create_public_dso_sonames_set. Skip packages which SONAME is not in the set of public SONAMES. (parse_command_line): Parse the new --private-dso option. Signed-off-by: Dodji Seketeli <dodji@redhat.com> |
||
---|---|---|
.. | ||
api | ||
manuals | ||
vizualization | ||
website | ||
Makefile.am | ||
suppr-doc.txt |