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. The tool is based on ABI Compliance Checker and ABI Dumper tools.
The tool does the following:
1. Extracts input packages 2. Searches for *.debug, *.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 compatibility (BC) report 8. Creates backward source compatibility (SC) report
The tool is intended for Linux maintainers who are interested in ensuring backward compatibility, i.e. allow old applications to run (BC) or to be recompiled (SC) with newer versions of RPM packages.
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.4 vs 0.7.1: https://abi-laboratory.pro/examples/compat_report/x86_64/libssh/0.6.4-4.el7/...
Enjoy!
On 05/10/16 16:50, 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. The tool is based on ABI Compliance Checker and ABI Dumper tools.
this is pretty interesting; over the years there have been a fair few attempts, including some of mine, but I've never really closed down enough to make it a generic tool.