Re: Binary Deb 'Diffs'
Perfect timing, I was just going to prod debian-devel about this over the
On Thu, Sep 16, 1999 at 12:56:04PM -0400, Jordan Mendelson was heard to say:
> Just a quick idea, instead of having to download an entire package where 95%
> of the files don't change, what about downloading a type of binary diff? I can
> think of two ways to do it:
> 1) Package everything in a type of 'pdeb' (patch deb). It should contain
> reconfiguration information, and files which have changed since version
> locally installed
> 2) Package everything in a 'pdeb' w/ real binary diff. Instead of packaging
> entire files which have changed, package patches. This would require a system
> which logged changes in order to work correctly, similar to CVS.
> Both of these would need to include a checksum per file. Optimally it would
> require that the storage of deb's on HTTP and FTP servers change as well,
> requiring the files to be unpacked so apt can grab a single file from a .deb.
> Then again, if it was done this way you could install partial packages, it's
> not like anyone uses every single executable which comes with the X packages..
> I don't know, I figured it might be a way to save bandwidth & disk space.
> Just a thought,
I posted a working system to do this about a month or two ago. A few people
thought it was cool but nothing really happened, then I went on vacation
and back to school and didn't have time to keep up with it, and the Debian
developer I was discussing it with stopped replying to my emails.
But I Have Returned! :-)
I have fixed the last few known problems with my scripts (relating to
permissions and checksums) and written up a proposal for the diff format which
gives a detailed description of how the system works (so the Python-haters can
easily implement it in their favorite language). I have also made Debian
packages of the modules and scripts. Everything is available from
http://bluegreen.dhis.org/~daniel/debdiff (the computer isn't so great so if
anyone interested wants to host an alternate site let me know)
The packages are:
python-deb -> some useful routines to manipulate .deb patches which I
collected into a Python module.
deb-diff -> A module to manipulate .deb-diff files and two simple interface
"People would panic?"
"Very briefly, I'm afraid."
-- The dangers of colliding with a star examined;
Terry Pratchett, _The Light Fantasic_