Ddiff version 0.1 now available.
I'm moderately pleased to announce the availablity of ddiff version
0.1. It's the tool that I announced a few weeks ago that generates
diffs between debian packages. There's also a companion tool in the
package, dpatch, that uses the generated diffs and the original debian
package to create the new debian package.
The code is available at <http://onegeek.org/~tom/software/ddiff/>.
As of right now, a run on my apt cache directory shrinks it to 35% of
it's original size. I think that that might be able to get better if a
better bdiff algorithm is implemented... the one I have right now
tries to balance size with performance constraints. Dpatch allows for
multiple algorithms, so it wouldn't be hard to implement this in the
The uncompressed control.tar and data.tar members of the reconstructed
package file are byte-by-byte identical with those in the original
package. There is a tool, debchecksum.sh, included in the tarfile to
help verify this.
Both ddiff and dpatch are very light with respect to
dependencies. They only depend on the standard c++ libraries and the
gzip binary. They also don't use any extra disk space as temporary
space... everything is done using pipes.
This is a development release, so I wouldn't use it in production. The
next release will support checksums to verify the integrity of
files. After that, I'll look into supporting patches agains the files
installed on the system. Later still I'd like to find out what it
would take to support this using apt, so that integrates seamlessly
with a standard debian system.
As usual, all comments are appreciated.
Tom Rothamel --------- http://onegeek.org/~tom/ ---------- Using GNU/Linux
The Moon is Waning Gibbous (53% of Full)