05.10.2016, 15:13, "Josh Boyer":
On Wed, Oct 5, 2016 at 8:05 AM, Ponomarenko Andrey wrote:
> Hello,
>
> I'd like to present a new free tool for maintainers of software libraries —
Package ABI Diff Tool (Pkg-ABIdiff). It's a tool for backward compatibility analysis
of API/ABI interfaces in RPM packages. It is based on ABICC and ABI Dumper tools.
>
> The tool does the following:
>
> 1. Extracts input packages
> 2. Searches for *.debuginfo, *.so and header files
> 3. Creates ABI dumps of all found shared objects
> 4. Filters out private part of the ABI using info from header files
> 5. Matches shared objects in old and new packages
> 6. Compares ABI dumps of corresponding objects
> 7. Creates backward binary/source compatibility reports
>
> Home page:
https://github.com/lvc/pkg-abidiff
>
> Usage: pkg-abidiff -old P1 P1-DEBUG P1-DEV -new P2 P2-DEBUG P2-DEV
>
> P1 — RPM package to analyze (with *.so object files)
> P1-DEBUG — corresponding debug-info package (*.debug files with DWARF info)
> P1-DEV — corresponding development package (with header files)
>
> Report example for libssh 0.6.3 vs 0.7.3:
https://abi-laboratory.pro/examples/compat_report/x86_64/libssh/0.6.3-3.f...
Do you have a comparison between this and the libabigail based
abi-check that is currently being used and enhanced in Fedora
Infrastructure?
The tool is based on different software stack for analysis of backward compatibility
developed since 2009:
https://github.com/lvc (ABI Compliance Checker, ABI Dumper, etc.)
RedHat created an alternative libabigail tool in 2013. Implementation and reports are
completely different. But anyway, two is better than one. Now we can verify reports of
both tools by each other.
The ABI Compliance Checker/ABI Dumper tools are mostly used in upstream currently
(
https://github.com/lvc/abi-tracker). The new pkg-abidiff interface for Linux maintainers
is an effort to simplify the use of ABI Compliance Checker on RPM packages.
Thank you.