Upstream Tracker is a tool-chain and free web-service (Live Demo) for monitoring and analyzing of C/C++ and Java libraries upstream development. It is intended to automatically check all releases and development versions (from GIT, SVN, ...) of a variety of libraries for unintentional API breaks and critical run-time errors. The tool is able to automatically find, download and locally install new versions of libraries for the further in time analysis.
The service is based on the following tools: ABI Compliance Checker is used for tracking API changes in C/C++ libraries, Java API Compliance Checker is used for tracking API changes in Java libraries, API Sanity Checker is used for the automatic run-time unit testing and PkgDiff is used for tracking changes in source packages. The web-service includes more than 400 libraries and regularly checks for new upstream releases (every day at 01:00 AM msk). The web-service is intended for Linux maintainers to help in updating C/C++ and Java libraries and for software developers who are interested in ensuring backward compatibility and stability of the API.
The latest release can be downloaded from this page.
This program is free software. You may use, redistribute and/or modify it under the terms of the GNU GPL.
- Perl (5.8 or newer)
- GNU Wget
- ABI Compliance Checker >= 1.97.4
- Java API Compliance Checker >= 1.1
- API Sanity Checker >= 1.12.9
- PkgDiff >= 1.3.3
At first you should provide an entry for your library in the lib_info.xml file (libraries database).
Command for downloading sources for all versions of the library:
upstream-tracker -l <library_name> -get
All packages will be downloaded to the following directory:
Command for locally installing all versions of the library:
upstream-tracker -l <library_name> -install
All packages will be installed to the following directory:
Command for runtime testing of all library versions:
upstream-tracker -l <library_name> -test-api
Command for checking backward binary compatibility of all library versions:
upstream-tracker -l <library_name> -cmp-abi
You can view current test results through the following files:
See the list of all options on this page.
Download and install all release versions of bzip2:
upstream-tracker -l bzip2 -get -install
Check for ABI changes:
upstream-tracker -l bzip2 -cmp-abi
The results will be generated to:
Generate and execute shallow tests for API:
upstream-tracker -l bzip2 -test-api
Extract changelog from library packages:
upstream-tracker -l bzip2 -changelog
Generate tests in the Template2Code (T2C) format:
upstream-tracker -l bzip2 -gen-t2c
Check for new versions :
upstream-tracker -l bzip2 -update
Generate ABI changes statistics:
Remove the library version from the system:
upstream-tracker -l bzip2 -remove -v 1.0.5
To add a library to the tracker send a message with the subject "add library" to this address.
Bug reports, feature requests and questions please send to the maintainer.
We would like to thank everyone who has contributed to the success of this project!