From owner-freebsd-pkg@FreeBSD.ORG Wed May 14 09:43:35 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 96FE4F34 for ; Wed, 14 May 2014 09:43:35 +0000 (UTC) Received: from smtp.infracaninophile.co.uk (smtp6.infracaninophile.co.uk [IPv6:2001:8b0:151:1:3cd3:cd67:fafa:3d78]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "smtp.infracaninophile.co.uk", Issuer "ca.infracaninophile.co.uk" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 2482C2DE3 for ; Wed, 14 May 2014 09:43:35 +0000 (UTC) Received: from seedling.local (CPE74ea3aa160af-CM78cd8ec60c2d.cpe.net.cable.rogers.com [99.241.210.3]) (authenticated bits=0) by smtp.infracaninophile.co.uk (8.14.8/8.14.8) with ESMTP id s4E9hQCR007685 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO) for ; Wed, 14 May 2014 10:43:29 +0100 (BST) (envelope-from m.seaman@infracaninophile.co.uk) Authentication-Results: lucid-nonsense.infracaninophile.co.uk; dmarc=none header.from=infracaninophile.co.uk DKIM-Filter: OpenDKIM Filter v2.8.3 smtp.infracaninophile.co.uk s4E9hQCR007685 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=infracaninophile.co.uk; s=201001-infracaninophile; t=1400060609; bh=1fnlYEyL4irxW9mFLpNGfu75SSRSjeHyDjIEPzrdRGo=; h=Date:From:To:Subject:References:In-Reply-To; z=Date:=20Wed,=2014=20May=202014=2005:43:14=20-0400|From:=20Matthew =20Seaman=20|To:=20freebsd-pkg@fr eebsd.org|Subject:=20Re:=20Delta=20packages|References:=20|In-Reply-To:=20; b=cewofr1+GeT4QJFT4IozcY29f15bp+IdjNi4Y9DFa5YKlougx8OffqzRn5+LUqjyS F4Ee4EfPDsMmznObSS4E2Db2A8ZJq5K8X+QECq5uGODjevMRTmHcvRy/Zm0S3m2OOA SxvVexN3kQkxSANOG1z5Ld+R3a5ko2uduZX007Ss= X-Authentication-Warning: lucid-nonsense.infracaninophile.co.uk: Host CPE74ea3aa160af-CM78cd8ec60c2d.cpe.net.cable.rogers.com [99.241.210.3] claimed to be seedling.local Message-ID: <53733AB2.6060003@infracaninophile.co.uk> Date: Wed, 14 May 2014 05:43:14 -0400 From: Matthew Seaman User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: freebsd-pkg@freebsd.org Subject: Re: Delta packages References: In-Reply-To: X-Enigmail-Version: 1.6 OpenPGP: id=E7F39EBF Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="cvaXOkqclsMF3heVP8Ejb5hmows4hpE9F" X-Virus-Scanned: clamav-milter 0.98.1 at lucid-nonsense.infracaninophile.co.uk X-Virus-Status: Clean X-Spam-Status: No, score=0.7 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,RCVD_IN_PBL,RCVD_IN_RP_RNBL,RDNS_DYNAMIC,SPF_FAIL autolearn=no autolearn_force=no version=3.4.0 X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lucid-nonsense.infracaninophile.co.uk 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 09:43:35 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --cvaXOkqclsMF3heVP8Ejb5hmows4hpE9F Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable 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.) 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 --=20 Dr Matthew J Seaman MA, D.Phil. PGP: http://www.infracaninophile.co.uk/pgpkey JID: matthew@infracaninophile.co.uk --cvaXOkqclsMF3heVP8Ejb5hmows4hpE9F Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG/MacGPG2 v2.0.20 (Darwin) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQJ8BAEBCgBmBQJTczq9XxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQ2NTNBNjhCOTEzQTRFNkNGM0UxRTEzMjZC QjIzQUY1MThFMUE0MDEzAAoJELsjr1GOGkATEX4P/1TsPrHpBc+5rJ3EX89kVoYX poaOhGXp3XuSdJqz3c+PqTYPJxGSPWz/YdTWsIQ3kxCyzCm1g3kKaQavjw+yjEkn 71bOomMi8TeeBw/GOwevZzIsQ83DafH+/se8y5NdWuLwllDefyZGXQEL/sKAd0hV oZquyzRrqR2PYWSFLeQQYUlsJGbqLKvB6ydNGxq/sllwQbhWj/JYuO28E3a6vdxl TRhSvddoPbdqU2MMeFekYH+r47l5O8/eJC+yD6yGbbjEjj5q7y7mGiwnb6vxlM8l x7CnDNyaP0+9Fs77rxgDRlXq8FOfoibMh6bSkIZFHYWyWWOFrf1hWewNvU6DSV2N 7zkJtFGOTm5t9Y2zcVtE6lv5fkUBC04wuDWsrIeGDb4/Lpgfwh98pzijFzR2IE1m U0uT8BMJ7yuZhw/xgk9YN5P+akv41gImS30gL3EIY7Hy9rDhyB4YkEUzzZvHttcj uIFTgb/HK1yJe0VqjrRzGLGyxOHGFJ9QRj4Y+dgEIdoOGodLeSW3AM1sg9qXYyjd 9RgNnoLqup1Xkhu+dgVxDa8Rg84lpMAJi6wKe2l+HQp2GTl2VgJj84O17HU7VJn4 aCyq+KBsdHEl6mIUfuLAWS5ifYdAMQpOj+RCt9Yelgn+keKPEaFbND3ZpJtSplpQ L2Kkc4qmFbJFFcup3r6V =sSaf -----END PGP SIGNATURE----- --cvaXOkqclsMF3heVP8Ejb5hmows4hpE9F--