pkgdiff
Compare changes between software package versions
TLDR
Compare two packages and display differences
Compare two packages with colorized output
Compare two packages and output a simple unified diff
SYNOPSIS
pkgdiff [options]
PARAMETERS
-v, --version
Print version information and exit.
-h, --help
Show help message and exit.
-report-path PATH
Path to the generated HTML report. Default is pkgdiff_reports/<pkg>/<v1>_to_<v2>/changes_report.html.
-preview
Open the generated report in a web browser automatically after analysis.
-quick
Perform a fast analysis by skipping heavy checks like file content comparison in some modes.
-check-abi
Check for ABI changes in shared libraries. Requires abi-compliance-checker to be installed.
-exclude-files PATTERN
Exclude files from analysis that match the specified regular expression pattern.
-ext
Allow comparing packages with different file extensions.
-name NAME
Set the package name manually if the tool cannot detect it from the filename.
DESCRIPTION
pkgdiff is a specialized utility designed to track and visualize changes between two versions of a software package. It supports a wide range of formats including RPM, DEB, TAR.GZ, and ZIP. The primary purpose of the tool is to assist maintainers and developers in identifying what has been altered during a version update, covering aspects such as file list changes, metadata modifications, and content differences within files.
When executed, the tool performs a comprehensive analysis of the provided archives and generates a detailed report in HTML format. This report highlights added, removed, and modified files, and provides side-by-side diffs for configuration files and scripts. Furthermore, if the package contains shared libraries, pkgdiff can integrate with abi-compliance-checker to report on Application Binary Interface (ABI) changes, ensuring backward compatibility is maintained. It is an essential tool for quality assurance and release engineering in Linux distributions.
CAVEATS
The tool relies on several external dependencies for full functionality, including perl, diff, and wdiff. For advanced binary analysis, users must ensure abi-compliance-checker and abi-dumper are present in the system path. Large packages may require significant time and disk space for decompression and analysis.
SUPPORTED FORMATS
The tool is highly versatile and supports RPM, DEB, TAR.GZ, ZIP, CAB, and even MSI installers, making it useful for cross-platform package auditing.
HISTORY
pkgdiff was developed as part of the Upstream Tracker project. Its primary goal was to automate the monitoring of changes in upstream software releases to help Linux distribution maintainers identify breaking changes or security regressions during package updates.


