I have created two tools for use in the process of creating binary patches of RPMs. The first is eBSDiff, a binary diff creator that uses the bsdiff algorithm, but can limit the amount of memory used.
The second is a python module called rpmgzip (check the released files) that is actually a patched copy of the built-in python gzip module that creates gzip archives identical to the ones that rpmbuild (at least FC4's rpmbuild) creates as the archive part of the RPM.
The final program is called RPMDiff and is nearing completion. It will take two RPMs as arguments and create an .rpmpatch file. The .rpmpatch file can then be applied to the first RPM (or to a system that has the first RPM installed) to create the second one (byte for byte identical so that the signature is the same).
Any comments or ideas would be much appreciated. Thanks,
Jonathan


Reply With Quote
