libabigail/doc
Dodji Seketeli c3a6893b84 Bug PR32476 - abipkgdiff: Support comparing sets of packages
This patch adds options --set{1,2} to abipkgdiff so that it can
compare the ABI of binaries coming from a set of packages against the
ABI of binaries coming from another set of packages.

To do so, the internals of the tools have been changed so that it
primarily considers package sets now instead of packages.

A package set is a union of constituent packages that are all
extracted under the same temporary directory.  The package set is
potentially associated with ancillary devel, debug or KABI definition
packages.

This patch implements the feature request filed at
https://sourceware.org/bugzilla/show_bug.cgi?id=32476.

	* doc/manuals/abipkgdiff.rst: Add documentation for the new
	--set{1,2} options.  Update the documentation to describe
	abipkgdiff as a tool to compare sets of packages.
	* tools/abipkgdiff.cc (options::{package_set_paths1,
	package_set_paths2, pkg_set1, pkg_set2}): New data members.
	(options::{package1, package2, pkg1, pkg2}): Remove these data
	members.
	(get_interesting_files_under): Rename
	get_interesting_files_under_dir into this.  Add a new overload
	that takes a package_set instead of a directory path.
	(package::package): Make this destructor virtual, so that we can
	RTTI to the package class.
	(package::load_elf_file_paths): Adjust to calling
	get_interesting_files_under.
	(class package_set): Define new class.
	(package_set_sptr): Define new typedef.
	(class pkg_set_prepare_task): Rename pkg_prepare_task into this.
	(pkg_set_prepare_task_sptr): Renamed pkg_prepare_task_sptr into
	this.
	(create_maps_of_package_set_content): Renamed
	create_maps_of_package_content into this and adjust to make it
	take a package_set_sptr.
	(extract_package_set_and_map_its_content): Renamed
	extract_package_and_map_its_content into this and adjust to make
	it take a package_set_sptr.
	(prepare_package_sets): Renamed prepare_packages into this and
	adjust to make it take a package_set_sptr.
	(compare_prepared_userspace_package_sets): Renamed
	compare_prepared_userspace_packages into this and adjust to make
	it take a package_set_sptr.
	(self_compare_prepared_userspace_package_set)
	(self_compare_prepared_package_set): Renamed
	self_compare_prepared_userspace_package and
	self_compare_prepared_package into these* and adjust to make it
	take a package_set_sptr.
	(compare_prepared_linux_kernel_package_sets): Renamed
	compare_prepared_linux_kernel_packages into this and adjust to
	make it take a package_set_sptr.
	(compare_prepared_package_set): Renamed compare_prepared_package
	into this and adjust to make it take a package_set_sptr.
	(pkg_set_prepare_task::perform): Adjust.
	(is_kernel_package, get_core_kernel_package, is_package_set):
	Define new static functions.
	(extract_package, maybe_erase_temp_dirs): Take a package_sptr
	rather than a reference to a package.
	(extract_package_set_and_map_its_content)
	(erase_created_temporary_directories)
	(create_private_types_suppressions)
	(maybe_create_public_dso_sonames_set)
	(must_compare_public_dso_only, maybe_handle_kabi_stablelist_pkg)
	(compare, compare_to_self): Make these functions take a
	package_set_sptr rather than a reference to a package.
	(compare_to_self): Adjust.
	(parse_command_line): Make this take --set{1,2} options and adjust
	accordingly.  Fix detection of non-existent file input by using
	options::wrong_arg instead options::wrong_option.
	(main): Adjust to using options::wrong_args to detect non-existing
	or wrong input files.  Adjust to consider only package sets to be
	compared now.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
2025-02-07 15:24:00 +01:00
..
api doc/api/libabigail.doxy: Update to newer version. 2024-04-18 17:52:22 +02:00
manuals Bug PR32476 - abipkgdiff: Support comparing sets of packages 2025-02-07 15:24:00 +01:00
vizualization Initial DOT work. 2013-07-23 23:13:55 +02:00
website mainpage.txt: Update content for 2.6 release 2024-11-01 17:46:14 +01:00
Makefile.am Re-license the project to Apache v2 With LLVM Exception 2020-12-02 11:49:13 +01:00
suppr-doc.txt Update the suppr-doc.txt file for variable suppressions 2014-11-01 12:21:59 +01:00