--- abi-compliance-checker-1.97.7.orig/debian/control +++ abi-compliance-checker-1.97.7/debian/control @@ -0,0 +1,31 @@ +Source: abi-compliance-checker +Section: devel +Priority: optional +Build-Depends: debhelper (>= 8) +Maintainer: Ryan Niebur +Uploaders: Mathieu Malaterre +DM-Upload-Allowed: yes +Standards-Version: 3.9.3 +Homepage: http://ispras.linux-foundation.org/index.php/ABI_compliance_checker +Vcs-Svn: svn://svn.debian.org/collab-maint/deb-maint/abi-compliance-checker/trunk +Vcs-Browser: http://anonscm.debian.org/viewvc/collab-maint/deb-maint/abi-compliance-checker/trunk/ + +Package: abi-compliance-checker +Architecture: all +Depends: ${perl:Depends}, ${misc:Depends}, gcc, binutils +Suggests: doc-base +Description: tool to compare ABI compatibility of shared C/C++ library versions + abi-compliance-checker can be used to help reduce the possibility of + an application crashing when the shared libraries it links against + have changed. Signatures and data type definitions from two separate + versions of a library are compared by examining the shared objects + (.so) files themselves, and by analysing the header files (.h) + provided for the two versions of the library and their dependencies. + . + Shared library developers trying to strive for binary compatibility + between releases may also use this tool to detect if an any + accidental application binary interface (ABI) changes have been + introduced. + . + The checker may also be used for assessing binary compatibility + between different Linux distributions. --- abi-compliance-checker-1.97.7.orig/debian/dirs +++ abi-compliance-checker-1.97.7/debian/dirs @@ -0,0 +1 @@ +usr/bin --- abi-compliance-checker-1.97.7.orig/debian/compat +++ abi-compliance-checker-1.97.7/debian/compat @@ -0,0 +1 @@ +7 --- abi-compliance-checker-1.97.7.orig/debian/abi-compliance-checker.1 +++ abi-compliance-checker-1.97.7/debian/abi-compliance-checker.1 @@ -0,0 +1,598 @@ +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.40.9. +.TH ABI-COMPLIANCE-CHECKER "1" "May 2012" "abi-compliance-checker Compliance Checker (ACC) 1.97.7" "User Commands" +.SH NAME +abi-compliance-checker \- tool to compare ABI compatibility of shared C/C++ library versions +.SH DESCRIPTION +.SS "NAME:" +.IP +ABI Compliance Checker (abi\-compliance\-checker) +Check backward compatibility of a C/C++ library API +.SS "DESCRIPTION:" +.IP +ABI Compliance Checker (ACC) is a tool for checking backward binary and +source\-level compatibility of a shared C/C++ library. The tool checks +header files and shared libraries (*.so) of old and new versions and +analyzes changes in API and ABI (ABI=API+compiler ABI) that may break binary +and/or source\-level compatibility: changes in calling stack, v\-table changes, +removed symbols, renamed fields, etc. Binary incompatibility may result in +crashing or incorrect behavior of applications built with an old version of +a library if they run on a new one. Source incompatibility may result in +recompilation errors with a new library version. +.IP +The tool is intended for developers of software libraries and maintainers +of operating systems who are interested in ensuring backward compatibility, +i.e. allow old applications to run or to be recompiled with newer library +versions. +.IP +Also the tool can be used by ISVs for checking applications portability to +new library versions. Found issues can be taken into account when adapting +the application to a new library version. +.IP +This tool is free software: you can redistribute it and/or modify it +under the terms of the GNU LGPL or GNU GPL. +.SS "USAGE:" +.IP +abi\-compliance\-checker [options] +.SS "EXAMPLE:" +.IP +abi\-compliance\-checker \fB\-lib\fR NAME \fB\-old\fR OLD.xml \fB\-new\fR NEW.xml +.IP +OLD.xml and NEW.xml are XML\-descriptors: +.IP + +.IP +1.0 +.IP + +.IP + +.IP +/path1/to/header(s)/ +/path2/to/header(s)/ +.IP +\&... +.IP + +.IP + +.IP +/path1/to/library(ies)/ +/path2/to/library(ies)/ +.IP +\&... +.IP + +.SS "INFORMATION OPTIONS:" +.HP +\fB\-h\fR|\-help +.IP +Print this help. +.HP +\fB\-i\fR|\-info +.IP +Print complete info. +.HP +\fB\-v\fR|\-version +.IP +Print version information. +.HP +\fB\-dumpversion\fR +.IP +Print the tool version (1.97.7) and don't do anything else. +.SS "GENERAL OPTIONS:" +.HP +\fB\-l\fR|\-lib|\-library +.IP +Library name (without version). +It affects only on the path and the title of the report. +.HP +\fB\-d1\fR|\-old|\-o +.IP +Descriptor of 1st (old) library version. +It may be one of the following: +.IP +1. XML\-descriptor (VERSION.xml file): +.IP + +.IP +1.0 +.IP + +.IP + +.IP +/path1/to/header(s)/ +/path2/to/header(s)/ +.IP +\&... +.IP + +.IP + +.IP +/path1/to/library(ies)/ +/path2/to/library(ies)/ +.IP +\&... +.IP + +.IP +\&... (XML\-descriptor template +.IP +can be generated by \fB\-d\fR option) +.IP +2. ABI dump generated by \fB\-dump\fR option +3. Directory with headers and/or shared libraries +4. Single header file +5. Single shared library +6. Comma separated list of headers and/or libraries +.IP +If you are using an 2\-6 descriptor types then you should +specify version numbers with \fB\-v1\fR and \fB\-v2\fR options too. +.IP +For more information, please see: +.IP +http://ispras.linuxbase.org/index.php/Library_Descriptor +.HP +\fB\-d2\fR|\-new|\-n +.IP +Descriptor of 2nd (new) library version. +.HP +\fB\-dump\fR|\-dump\-abi +.IP +Dump library ABI to gzipped TXT format file. You can transfer it +anywhere and pass instead of the descriptor. Also it can be used +for debugging the tool. Compatible dump versions: 2.0<=V<=2.16 +.HP +\fB\-old\-dumps\fR +.IP +Enable support for old\-version ABI dumps (1.18<=V<2.0). +.SS "EXTRA OPTIONS:" +.HP +\fB\-d\fR|\-descriptor\-template +.IP +Create XML\-descriptor template ./VERSION.xml +.HP +\fB\-app\fR|\-application +.IP +This option allows to specify the application that should be checked +for portability to the new library version. +.HP +\fB\-static\-libs\fR +.IP +Check static libraries instead of the shared ones. The section +of the XML\-descriptor should point to static libraries location. +.HP +\fB\-cross\-gcc\fR|\-gcc\-path +.IP +Path to the cross GCC compiler to use instead of the usual (host) GCC. +.HP +\fB\-cross\-prefix\fR|\-gcc\-prefix +.IP +GCC toolchain prefix. +.HP +\fB\-sysroot\fR +.IP +Specify the alternative root directory. The tool will search for include +paths in the /usr/include and /usr/lib directories. +.HP +\fB\-v1\fR|\-version1 +.IP +Specify 1st library version outside the descriptor. This option is needed +if you have prefered an alternative descriptor type (see \fB\-d1\fR option). +.IP +In general case you should specify it in the XML\-descriptor: +.IP + +.IP +VERSION +.IP + +.HP +\fB\-v2\fR|\-version2 +.IP +Specify 2nd library version outside the descriptor. +.HP +\fB\-s\fR|\-strict +.IP +Treat all compatibility warnings as problems. Add a number of "Low" +severity problems to the return value of the tool. +.HP +\fB\-headers\-only\fR +.IP +Check header files without shared libraries. It is easy to run, but may +provide a low quality compatibility report with false positives and +without detecting of added/removed symbols. +.IP +Alternatively you can write "none" word to the section +in the XML\-descriptor: +.IP + +.IP +none +.IP + +.HP +\fB\-objects\-only\fR +.IP +Check shared libraries without header files. It is easy to run, but may +provide a low quality compatibility report with false positives and +without analysis of changes in parameters and data types. +.IP +Alternatively you can write "none" word to the section +in the XML\-descriptor: +.IP + +.IP +none +.IP + +.HP +\fB\-check\-impl\fR|\-check\-implementation +.IP +Compare canonified disassembled binary code of shared libraries to +detect changes in the implementation. Add 'Problems with Implementation' +section to the report. +.HP +\fB\-show\-retval\fR +.IP +Show the symbol's return type in the report. +.HP +\fB\-symbols\-list\fR +.IP +This option allows to specify a file with a list of symbols (mangled +names in C++) that should be checked, other symbols will not be checked. +.HP +\fB\-skip\-headers\fR +.IP +The file with the list of header files, that should not be checked. +.HP +\fB\-use\-dumps\fR +.IP +Make dumps for two versions of a library and compare dumps. This should +increase the performance of the tool and decrease the system memory usage. +.HP +\fB\-nostdinc\fR +.IP +Do not search the GCC standard system directories for header files. +.HP +\fB\-dump\-system\fR \fB\-sysroot\fR +.IP +Find all the shared libraries and header files in directory, +create XML descriptors and make ABI dumps for each library. The result +set of ABI dumps can be compared (\fB\-\-cmp\-systems\fR) with the other one +created for other version of operating system in order to check them for +compatibility. Do not forget to specify \fB\-cross\-gcc\fR option if your target +system requires some specific version of GCC compiler (different from +the host GCC). The system ABI dump will be generated to: +.IP +sys_dumps// +.HP +\fB\-dump\-system\fR +.IP +The same as the previous option but takes an XML descriptor of the target +system as input, where you should describe it: +.IP +/* Primary sections */ +.IP + +.IP +/* Name of the system */ +.IP + +.IP + +.IP +/* The list of paths to header files and/or +.IP +directories with header files, one per line */ +.IP + +.IP + +.IP +/* The list of paths to shared libraries and/or +.IP +directories with shared libraries, one per line */ +.IP + +.IP +/* Optional sections */ +.IP + +.IP +/* List of directories to be searched +.IP +for header files to automatically +generate include paths, one per line */ +.IP + +.IP + +.IP +/* List of directories to be searched +.IP +for shared libraries to resolve +dependencies, one per line */ +.IP + +.IP + +.IP +/* List of directories with tools used +.IP +for analysis (GCC toolchain), one per line */ +.IP + +.IP + +.IP +/* GCC toolchain prefix. +.IP +Examples: +.IP +arm\-linux\-gnueabi +arm\-none\-symbianelf */ +.IP + +.IP + +.IP +/* Additional GCC options, one per line */ +.IP + +.HP +\fB\-sysinfo\fR +.IP +This option may be used with \fB\-dump\-system\fR to dump ABI of operating +systems and configure the dumping process. +Default: +.IP +modules/Targets/{unix, symbian, windows} +.HP +\fB\-cmp\-systems\fR \fB\-d1\fR sys_dumps// \fB\-d2\fR sys_dumps// +.IP +Compare two system ABI dumps. Create compatibility reports for each +library and the common HTML report including the summary of test +results for all checked libraries. Report will be generated to: +.IP +sys_compat_reports/_to_/ +.HP +\fB\-libs\-list\fR +.IP +The file with a list of libraries, that should be dumped by +the \fB\-dump\-system\fR option or should be checked by the \fB\-cmp\-systems\fR option. +.HP +\fB\-header\fR +.IP +Check/Dump ABI of this header only. +.HP +\fB\-headers\-list\fR +.IP +The file with a list of headers, that should be checked/dumped. +.HP +\fB\-ext\fR|\-extended +.IP +If your library A is supposed to be used by other library B and you +want to control the ABI of B, then you should enable this option. The +tool will check for changes in all data types, even if they are not +used by any function in the library A. Such data types are not part +of the A library ABI, but may be a part of the ABI of the B library. +.IP +The short scheme is: +.IP +app C (broken) \-> lib B (broken ABI) \-> lib A (stable ABI) +.HP +\fB\-q\fR|\-quiet +.IP +Print all messages to the file instead of stdout and stderr. +Default path (can be changed by \fB\-log\-path\fR option): +.IP +logs/run.log +.HP +\fB\-stdout\fR +.IP +Print analysis results (compatibility reports and ABI dumps) to stdout +instead of creating a file. This would allow piping data to other programs. +.HP +\fB\-report\-format\fR +.IP +Change format of compatibility report. +Formats: +.IP +htm \- HTML format (default) +xml \- XML format +.HP +\fB\-xml\fR +.IP +Alias for: \fB\-\-report\-format\fR=\fIxml\fR +.HP +\fB\-lang\fR +.IP +Set library language (C or C++). You can use this option if the tool +cannot auto\-detect a language. This option may be useful for checking +C\-library headers (\fB\-\-lang\fR=\fIC\fR) in \fB\-\-headers\-only\fR or \fB\-\-extended\fR modes. +.HP +\fB\-binary\fR|\-bin|\-abi +.IP +Show "Binary" compatibility problems only. +Generate report to: +.IP +compat_reports//_to_/abi_compat_report.html +.HP +\fB\-source\fR|\-src|\-api +.IP +Show "Source" compatibility problems only. +Generate report to: +.IP +compat_reports//_to_/src_compat_report.html +.SS "OTHER OPTIONS:" +.HP +\fB\-test\fR +.IP +Run internal tests. Create two binary incompatible versions of a sample +library and run the tool to check them for compatibility. This option +allows to check if the tool works correctly in the current environment. +.HP +\fB\-test\-dump\fR +.IP +Test ability to create, read and compare ABI dumps. +.HP +\fB\-debug\fR +.IP +Debugging mode. Print debug info on the screen. Save intermediate +analysis stages in the debug directory: +.IP +debug/// +.IP +Also consider using \fB\-\-dump\fR option for debugging the tool. +.HP +\fB\-cpp\-compatible\fR +.IP +If your header file is written in C language and can be compiled by +the C++ compiler (i.e. doesn't contain C++\-keywords and other bad +things), then you can tell ACC about this and speedup the analysis. +.HP +\fB\-p\fR|\-params +.IP +Path to file with the function parameter names. It can be used +for improving report view if the library header files have no +parameter names. File format: +.IP +func1;param1;param2;param3 ... +func2;param1;param2;param3 ... +.IP +\&... +.HP +\fB\-relpath\fR +.IP +Replace {RELPATH} macros to in the XML\-descriptor used +for dumping the library ABI (see \fB\-dump\fR option). +.HP +\fB\-relpath1\fR +.IP +Replace {RELPATH} macros to in the 1st XML\-descriptor (\fB\-d1\fR). +.HP +\fB\-relpath2\fR +.IP +Replace {RELPATH} macros to in the 2nd XML\-descriptor (\fB\-d2\fR). +.HP +\fB\-dump\-path\fR +.IP +Specify a file path (*.abi.tar.gz) where to generate an ABI dump. +Default: +.IP +abi_dumps//_.abi.tar.gz +.HP +\fB\-sort\fR +.IP +Enable sorting of data in ABI dumps. +.HP +\fB\-report\-path\fR +.IP +Path to compatibility report. +Default: +.IP +compat_reports//_to_/compat_report.html +.HP +\fB\-bin\-report\-path\fR +.IP +Path to "Binary" compatibility report. +Default: +.IP +compat_reports//_to_/abi_compat_report.html +.HP +\fB\-src\-report\-path\fR +.IP +Path to "Source" compatibility report. +Default: +.IP +compat_reports//_to_/src_compat_report.html +.HP +\fB\-log\-path\fR +.IP +Log path for all messages. +Default: +.IP +logs///log.txt +.HP +\fB\-log1\-path\fR +.IP +Log path for 1st version of a library. +Default: +.IP +logs///log.txt +.HP +\fB\-log2\-path\fR +.IP +Log path for 2nd version of a library. +Default: +.IP +logs///log.txt +.HP +\fB\-logging\-mode\fR +.IP +Change logging mode. +Modes: +.IP +w \- overwrite old logs (default) +a \- append old logs +n \- do not write any logs +.HP +\fB\-list\-affected\fR +.IP +Generate file with the list of incompatible +symbols beside the HTML compatibility report. +Use 'c++filt @file' command from GNU binutils +to unmangle C++ symbols in the generated file. +Default names: +.IP +abi_affected.txt +src_affected.txt +.HP +\fB\-component\fR +.IP +The component name in the title and summary of the HTML report. +Default: +.IP +library +.HP +\fB\-l\-full\fR|\-lib\-full +.IP +Change library name in the report title to . By default +will be displayed a name specified by \fB\-l\fR option. +.HP +\fB\-b\fR|\-browse +.IP +Open report(s) in the browser (firefox, opera, etc.). +.HP +\fB\-open\fR +.IP +Open report(s) in the default browser. +.SS "REPORT:" +.IP +Compatibility report will be generated to: +.IP +compat_reports//_to_/compat_report.html +.IP +Log will be generated to: +.IP +logs///log.txt +logs///log.txt +.SS "EXIT CODES:" +.IP +0 \- Compatible. The tool has run without any errors. +non\-zero \- Incompatible or the tool has run with errors. +.SS "REPORT BUGS TO:" +.IP +Andrey Ponomarenko +.SS "MORE INFORMATION:" +.IP +http://ispras.linuxbase.org/index.php/ABI_compliance_checker +https://github.com/lvc/abi\-compliance\-checker +.SH AUTHOR +Written by Andrey Ponomarenko. +.SH COPYRIGHT +Copyright \(co 2012 ROSA Laboratory +License: LGPL or GPL +This program is free software: you can redistribute it and/or modify it. --- abi-compliance-checker-1.97.7.orig/debian/watch +++ abi-compliance-checker-1.97.7/debian/watch @@ -0,0 +1,2 @@ +version=3 +http://forge.ispras.ru/projects/abi-compliance-checker/files /attachments/download/[0-9]+/abi-compliance-checker-(.*).tar.gz --- abi-compliance-checker-1.97.7.orig/debian/changelog +++ abi-compliance-checker-1.97.7/debian/changelog @@ -0,0 +1,78 @@ +abi-compliance-checker (1.97.7-1) unstable; urgency=low + + * New upstream + - Optimization of memory usage (5%-10%) and performance (5%-10%) + - Improved support for GCC 4.0-4.5 + - New Options: -open -sort + * Move doc-base to Suggest. Closes: #673091 + * Fix man page using --info to report all command line options + + -- Mathieu Malaterre Thu, 31 May 2012 14:21:07 +0200 + +abi-compliance-checker (1.97.5-1) unstable; urgency=low + + * New upstream + - Add support for GCC 4.7 + - Optimization of memory usage (20%-30%) and performance (10%-20%) + * Install documentation using doc-base + * Remove usage of pwd in d/rules + + -- Mathieu Malaterre Tue, 15 May 2012 10:22:06 +0200 + +abi-compliance-checker (1.97.3-1) unstable; urgency=low + + * New upsteam: + - checks both binary and source-level compatibility issues with C/C++ APIs + * fix lintian warning for the manpage + + -- Mathieu Malaterre Thu, 05 Apr 2012 15:46:42 +0200 + +abi-compliance-checker (1.96.8-1) unstable; urgency=low + + * New release (add --headers-list and --lang options). + * Bump Standard-Version to 3.9.3, no changes needed. + + -- Mathieu Malaterre Mon, 05 Mar 2012 10:39:04 +0100 + +abi-compliance-checker (1.96.1-2) unstable; urgency=low + + * Update man page. Closes: #568655 + + -- Mathieu Malaterre Wed, 25 Jan 2012 11:41:17 +0100 + +abi-compliance-checker (1.96.1-1) unstable; urgency=low + + * New upstream 1.96.1. Closes: #568650, #598798 + * Fix typo in d/control. Closes: #592975 + * Fix d/watch file + + -- Mathieu Malaterre Wed, 21 Dec 2011 09:34:38 +0100 + +abi-compliance-checker (1.6-1) unstable; urgency=low + + [ Ryan Niebur ] + * New Upstream Version + * improve short description from to meet devrefs suggestions + * Debian Policy 3.8.3 + * reqiure debhelper 7.0.50 + * adjustements to the manpage to fix man errors + * fix hyphen minus signs in manpage + * s/This/abi-compliance-checker/ in long description + + [ Paul Sladen ] + * Include handwritten manpage + + Remove help2man dependency + * debian/watch: Case insentisve match (WikiMedia CamelCasing) + * debian/copyright: + + add copyright year + + expand "RAS" to Russian Academy of Sciences + + add email address for upstream maintainer + * debian/control: tweak Description: + + -- Ryan Niebur Wed, 02 Sep 2009 17:29:18 -0700 + +abi-compliance-checker (1.1-1) unstable; urgency=low + + * Initial release (Closes: #540247) + + -- Ryan Niebur Thu, 06 Aug 2009 14:43:30 -0700 --- abi-compliance-checker-1.97.7.orig/debian/copyright +++ abi-compliance-checker-1.97.7/debian/copyright @@ -0,0 +1,30 @@ +Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Source: http://ispras.linux-foundation.org/index.php/ABI_compliance_checker_Downloads +Upstream-Name: ABI compliance checker + +Files: * +Copyright: Copyright 2009, The Linux Foundation + Copyright 2009, Institute for System Programming, Russian Academy of Sciences +License: GPL-3+ + +Files: debian/* +Copyright: 2009, Ryan Niebur +License: GPL-3+ + +Files: debian/abi-compliance-checker.1 +Copyright: 2009, Paul Sladen +License: GPL-3+ + +License: GPL-3+ + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + . + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + . + The complete text of the GPL version 3 can be found in + '/usr/share/common-licenses/GPL-3' on Debian systems. --- abi-compliance-checker-1.97.7.orig/debian/docs +++ abi-compliance-checker-1.97.7/debian/docs @@ -0,0 +1 @@ +doc/* --- abi-compliance-checker-1.97.7.orig/debian/abi-compliance-checker.1.in +++ abi-compliance-checker-1.97.7/debian/abi-compliance-checker.1.in @@ -0,0 +1,3 @@ +[NAME] +abi-compliance-checker \- tool to compare ABI compatibility of shared C/C++ library versions + --- abi-compliance-checker-1.97.7.orig/debian/rules +++ abi-compliance-checker-1.97.7/debian/rules @@ -0,0 +1,22 @@ +#!/usr/bin/make -f + +%: + dh $@ + +override_dh_auto_install: + mkdir -p $(CURDIR)$(DESTDIR)/debian/tmp/usr + perl Makefile.pl -install --prefix=$(CURDIR)$(DESTDIR)/debian/tmp/usr + +override_dh_install: + dh_install usr/bin + dh_install usr/share/abi-compliance-checker/ + +override_dh_installchangelogs: + dh_installchangelogs doc/Changes.html + +debian/abi-compliance-checker.1: + help2man --help-option=--info --include=debian/abi-compliance-checker.1.in \ + --output=$@ --no-info abi-compliance-checker + +get-orig-source: + uscan --download --force-download --rename --- abi-compliance-checker-1.97.7.orig/debian/manpages +++ abi-compliance-checker-1.97.7/debian/manpages @@ -0,0 +1 @@ +debian/abi-compliance-checker.1 --- abi-compliance-checker-1.97.7.orig/debian/doc-base +++ abi-compliance-checker-1.97.7/debian/doc-base @@ -0,0 +1,9 @@ +Document: abi-compliance-checker +Title: ABI Compliance Checker +Author: Andrey Ponomarenko +Abstract: Documentation of ABI Compliance Checker as HTML format +Section: Programming + +Format: HTML +Index: /usr/share/doc/abi-compliance-checker/Readme.html +Files: /usr/share/doc/abi-compliance-checker/*