improved rpm-build-compare.sh

Charles R. Anderson cra at WPI.EDU
Sun Oct 3 06:37:26 UTC 2004


Here is my rpm-build-compare.sh script which compares two binary or
source rpm packages for important differences.  I use it during QA to
catch common errors, such as missing buildrequires (ldd diffs), etc.  
This version is improved over the last one I posted.  It checks for 
the following differences:

RPM Provides
RPM Requires
File Types (file) - so you can see if files are not stripped
Dynamic Link Libraries (ldd)
Symbol Tables (nm) - ignoring symbol addresses
RPM File Lists - ignoring timestamps and the rpm-approximated link counts
RPM Packaged Files - actual file contents

You run the script as follows:

rpm-build-compare.sh pkg-ver-oldrelease.rpm pkg-ver-newrelease.rpm

and the output report is put into:

pkg-ver-newrelease.rpm-diff.txt

I hope this is useful for some folks.  I think it would be nice to
have something like this be a required checklist item during QA, or
perhaps even automated in the buildsystem, since it could prevent
common mistakes from making it into released packages, such as the
recent problem with php missing mail() due to a missing BuildRequires:
sendmail.

Along these same lines, it would be nice if buildsystem output was
posted somewhere, since it can help with debugging packaging/build
issues.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: rpm-build-compare.sh
Type: application/x-sh
Size: 3853 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/fedora-legacy-list/attachments/20041003/486169ad/attachment.sh>


More information about the fedora-legacy-list mailing list