A new tool for backward compatibility analysis of API/ABI interfaces in Deb packages

2016-10-06 Thread Ponomarenko Andrey
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 Deb 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 Deb 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 — Deb 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.5.4 vs 0.6.3: 
https://abi-laboratory.pro/examples/compat_report/amd64/libssh-4/0.5.4-1+deb7u3/0.6.3-4+deb8u2/

Enjoy!

-- 
Ubuntu-devel-discuss mailing list
Ubuntu-devel-discuss@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel-discuss


ABI changes analysis for the Linux kernel

2016-11-29 Thread Ponomarenko Andrey
Hello,

This is a tracker of ABI changes in the new upstream releases of the Linux 
kernel (defconfig, x86_64): https://abi-laboratory.pro/tracker/timeline/linux/

The tracker performs backward binary compatibility analysis of all public 
exported symbols and data types (declared in the ".ksymtab" and  ".ksymtab_gpl" 
sections of the vmlinux binary + system calls) and lists all added/removed 
symbols.

The source code of the tool is published on github: 
https://github.com/lvc/kernel-abi-tracker

The tool can be used to analyze downstream kernels as well. See README of the 
project. It's better to use ABICC 2.0 Beta or newer to improve performance of 
the analysis.

Enjoy!

-- 
Ubuntu-devel-discuss mailing list
Ubuntu-devel-discuss@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel-discuss