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.

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.

Version

Changes

Git (2013/05/21)

3.5%

2.17

11.9%

2.16

12%

2.15

2.1%

2.14.1

0.1%

2.14

4.6%

2.13

4. Samples

1. Diff report between glibc 2.15 and 2.16

None: Testing/Diff_tool (last edited 2016-08-16 11:17:45 by AndreyPonomarenko)