Diff tool
This document describes how to use the PkgDiff tool to create a visual diff report for the final glibc release package and review changes since the previous release. The tool classifies files in the packages, detects added, removed, moved, renamed and changed files and estimates changes in them.
Contents
1. Installation
The tool needs Perl 5, GNU Diff, GNU WDiff, GNU Awk and GNU Binutils to be installed on your host.
To install the tool run
$ wget https://github.com/lvc/pkgdiff/archive/1.7.2.tar.gz $ tar -xzf 1.7.2.tar.gz $ cd pkgdiff-1.7.2 $ sudo perl Makefile.pl -install --prefix=/usr
2. Usage
2.1. Create a release package
Execute this command in the new subdirectory of the glibc source tree:
../configure make dist
2.2. Compare packages
To compare the new release package (say glibc-2.17.tar.gz) with the old one (glibc-2.16.tar.gz) run
$ pkgdiff glibc-2.16.tar.gz glibc-2.17.tar.gz
2.3. View report
The visual diff report will be generated to
pkgdiff_reports/glibc/2.16_to_2.17/changes_report.html
The report should be analyzed by the glibc maintainer to approve changes made by the developers before releasing/uploading the package. Currently, glibc source code contains about 14370 files. The biggest classes of files are: C program (7464), Header file (2156) and Assembler program (1802). To navigate over these groups of files use sorting by Status or Delta by clicking on the appropriate table header.
3. Current results
This section provides information about current diff reports for the glibc packages.
4. Samples
1. Diff report between glibc 2.15 and 2.16