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.
Attachment:
rpm-build-compare.sh
Description: Bourne shell script
-- fedora-legacy-list@xxxxxxxxxx http://www.redhat.com/mailman/listinfo/fedora-legacy-list