Delta packages

Matthew Seaman m.seaman at infracaninophile.co.uk
Wed May 14 09:43:35 UTC 2014


On 13/05/2014 16:21, Sean Fagan wrote:
> We have a strong desire to make delta packages -- that is, given
> version A and version B of a package, to be able to download a
> package that has only the changes between A and B.
> 
> I've written a little program to create this (it currently only has
> the files that have changed, not binary diffs, although that would I
> suppose be possible; just harder).
> 
> I can, I'm sure, come up with a way to manually extract and update
> the packages databases; however, I'd prefer to do a lot of that in
> the package code.  (Among other things, being able to specify what
> the delta is from would be good; I couldn't see a way to add random
> key/value pairs to the manifest using the pkg* routines, and while I
> can add it to the +MANIFEST file I create, that doesn't actually do a
> whole lot.)

Uhh... doesn't 'pkg annotate' provide what you need?  Although for a
fully-fledged delta package we'd probably be thinking in terms of
generating some sort of diff between old and new manifests.

> First question:  is anyone working on something like this already?

There has been some talk about it, but as far as I know no code has been
produced in public.

Delta packages would be good for lots of reasons, but one really cool
scenario is --

    * upgrade package foo-1.0.0 to foo-1.0.1
    * automatically produces delta/foo-1.0.1-1.0.0.txz
    * should there be problems with foo-1.0.1 can then rollback by
    applying the delta package.

(of course, it's not going to be as easy as that -- dependencies will
need simultaneous up/down- grade simultaneously

> Second question:  Any objections to it in principal?

On the contrary.  This would make a really great addition.  Please do
send patches / pull requests.

	Cheers,

	Matthew

-- 
Dr Matthew J Seaman MA, D.Phil.

PGP: http://www.infracaninophile.co.uk/pgpkey
JID: matthew at infracaninophile.co.uk

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 1036 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freebsd.org/pipermail/freebsd-pkg/attachments/20140514/5f519a92/attachment.sig>


More information about the freebsd-pkg mailing list