Fork me on GitHub

pkgdiff

A tool for analyzing changes in Linux software packages

Package Changes Analyzer (pkgdiff) is a tool for analyzing changes in Linux software packages (RPM, DEB, TAR.GZ, etc). The tool is intended for Linux maintainers who are interested in ensuring compatibility of old and new versions of packages.

Table of Contents

Downloads

All releases can be downloaded from this page.

Read-only access to the latest development version:

 git clone git://github.com/pkgdiff/pkgdiff 

License

This program is free software. You may use, redistribute and/or modify it under the terms of the GNU GPL

Supported Platforms

GNU/Linux, FreeBSD

Dependencies

Requires: Suggests:

Installation

The tool is ready-to-use after extracting the archive.

You can also use a Makefile to install the tool into the system:

 sudo perl Makefile.pl --install --prefix=PREFIX [/usr, /usr/local] 

This command will install a pkgdiff program to the PREFIX/bin system directory and private modules into the PREFIX/share.

Usage

 pkgdiff -old OLD.rpm -new NEW.rpm 

The HTML report will be generated to:

 pkgdiff_reports/<pkg>/<v1>_to_<v2>/changes_report.html 

Adv. Usage

For advanced usage, see output of --help option:

 pkgdiff --help 

If you need to analyze a group of packages then you can create an XML-descriptor of this group (OLD.xml file):

<version>
    2.24.1
</version>

<group>
    libglib
</group>

<packages>
    libglib2.0-devel-2.24.1-1mdv2010.1.i586.rpm
    libglib2.0_0-2.24.1-1mdv2010.1.i586.rpm
</packages>

And then pass XML-descriptors of old and new versions of a group to the tool:

 pkgdiff -old OLD.xml -new NEW.xml 

The HTML report will be generated to:

 pkgdiff_reports/<group>/<v1>_to_<v2>/changes_report.html 

Examples

Compare 0.4.1 and 0.8.1 versions of libqb SRPM-packages:

 pkgdiff -old libqb-0.4.1-2.fc15.src.rpm -new libqb-0.8.1-2.fc16.src.rpm 

The HTML report will be generated to:

 pkgdiff_reports/libqb/0.4.1_to_0.8.1/changes_report.html 

Compare 0.10.23 and 0.10.32 versions of gstreamer TXZ-packages:

 pkgdiff -old gstreamer-0.10.23-i486-1.txz -new gstreamer-0.10.32-i486-1.txz 

The HTML report will be generated to:

 pkgdiff_reports/gstreamer/0.10.23-i486-1_to_0.10.32-i486-1/changes_report.html 

Compare 2.3.12 and 2.4.5 versions of libfreetype6 group of RPM-packages:

 pkgdiff -old 2.3.12.xml -new 2.4.5.xml 

File 2.3.12.xml:

<version>
    2.3.12
</version>

<group>
    libfreetype6
</group>

<packages>
    libfreetype6-2.3.12-1mdv2010.1.i586.rpm
    libfreetype6-devel-2.3.12-1mdv2010.1.i586.rpm
</packages>

File 2.4.5.xml:

<version>
    2.4.5
</version>

<group>
    libfreetype6
</group>

<packages>
    libfreetype6-2.4.5-2-mdv2011.0.i586.rpm
    libfreetype6-devel-2.4.5-2-mdv2011.0.i586.rpm
</packages>

The HTML report will be generated to:

 pkgdiff_reports/libfreetype6/2.3.12_to_2.4.5/changes_report.html 

Bugs

Please post your bug reports, feature requests and questions to the issue tracker.

Maintainers

The tool is developed by the ROSA Laboratory.

Andrey Ponomarenko is the leader of this project.