[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Binary Deb 'Diffs'



  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_


Reply to: