From owner-freebsd-pkg@FreeBSD.ORG Wed May 14 16:18:01 2014 Return-Path: Delivered-To: freebsd-pkg@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id CC342719; Wed, 14 May 2014 16:18:01 +0000 (UTC) Received: from mail-we0-x229.google.com (mail-we0-x229.google.com [IPv6:2a00:1450:400c:c03::229]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 3DE6F2F8C; Wed, 14 May 2014 16:18:01 +0000 (UTC) Received: by mail-we0-f169.google.com with SMTP id u56so2205315wes.28 for ; Wed, 14 May 2014 09:17:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:date:from:to:cc:subject:message-id:references:mime-version :content-type:content-disposition:in-reply-to:user-agent; bh=ZhrYamr3eP9r8WYzRkGiZKmQGHDITZPtmqRBRTOdYQY=; b=kyMcefNgVZVU4byPUxZt9SVL3Sj5TF0hKNjCBxUVxE9U/G4jtb7faXJA41GHAk3w3A MxmCuh7etwt7oNk6pQjNBsnC1kKL19UeU29JNMc6xEEY0LUCtGJVY7WpfjBtZctlUBtI lGk3DOD+XoPQ7QJjnTmG5hEsvHJKxgUkxJxIcRl9Pp03PzmKYtj4eozW1Np+39LW83Cm 2o4jBdn1g7U4hyOAwsyroSg75CMSsztQp2UyTpwHXTS6HE+k4Do9u4OXhm7Y7HrptoIX O8FrpEAvOxC/j7V2uEjVozwLSKOyqobAcJTXtSFecbslqDyNfo5H+QDW6ACvANWKTFY5 4ctg== X-Received: by 10.180.105.72 with SMTP id gk8mr26846529wib.32.1400084279579; Wed, 14 May 2014 09:17:59 -0700 (PDT) Received: from ivaldir.etoilebsd.net ([2001:41d0:8:db4c::1]) by mx.google.com with ESMTPSA id b1sm3071270wjb.37.2014.05.14.09.17.58 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 14 May 2014 09:17:58 -0700 (PDT) Sender: Baptiste Daroussin Date: Wed, 14 May 2014 18:17:56 +0200 From: Baptiste Daroussin To: Matthew Seaman Subject: Re: Delta packages Message-ID: <20140514161756.GB16089@ivaldir.etoilebsd.net> References: <53733AB2.6060003@infracaninophile.co.uk> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="xgyAXRrhYN0wYx8y" Content-Disposition: inline In-Reply-To: <53733AB2.6060003@infracaninophile.co.uk> User-Agent: Mutt/1.5.23 (2014-03-12) Cc: cperciva@freebsd.org, freebsd-pkg@freebsd.org X-BeenThere: freebsd-pkg@freebsd.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Binary package management and package tools discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 14 May 2014 16:18:02 -0000 --xgyAXRrhYN0wYx8y Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable CCing colin because he has interest to that subject On Wed, May 14, 2014 at 05:43:14AM -0400, Matthew Seaman wrote: > 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. > >=20 > > 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). > >=20 > > 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.) >=20 > 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. >=20 > > First question: is anyone working on something like this already? >=20 > There has been some talk about it, but as far as I know no code has been > produced in public. >=20 > Delta packages would be good for lots of reasons, but one really cool > scenario is -- >=20 > * 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. >=20 > (of course, it's not going to be as easy as that -- dependencies will > need simultaneous up/down- grade simultaneously >=20 > > Second question: Any objections to it in principal? >=20 > On the contrary. This would make a really great addition. Please do > send patches / pull requests. >=20 > Cheers, >=20 > Matthew >=20 > --=20 > Dr Matthew J Seaman MA, D.Phil. >=20 > PGP: http://www.infracaninophile.co.uk/pgpkey > JID: matthew@infracaninophile.co.uk >=20 regards, Bapt --xgyAXRrhYN0wYx8y Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (FreeBSD) iEYEARECAAYFAlNzlzQACgkQ8kTtMUmk6Ey/3ACgqoJ9SDbIVap4cPKHDXfa4DkY 0dMAnjigbvO0HGyuG+FCHMbTuCiwlyZz =btMd -----END PGP SIGNATURE----- --xgyAXRrhYN0wYx8y--