Perfect timing, I was just going to prod debian-devel about this over the weekend..
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, > > Jordan 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 scripts. Daniel -- "People would panic?" "Very briefly, I'm afraid." -- The dangers of colliding with a star examined; Terry Pratchett, _The Light Fantasic_