Date: Wed, 14 May 2014 05:43:14 -0400 From: Matthew Seaman <m.seaman@infracaninophile.co.uk> To: freebsd-pkg@freebsd.org Subject: Re: Delta packages Message-ID: <53733AB2.6060003@infracaninophile.co.uk> In-Reply-To: <EF0C6032-F5AA-4F6D-9462-CC6AB69BF79A@ixsystems.com> References: <EF0C6032-F5AA-4F6D-9462-CC6AB69BF79A@ixsystems.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?53733AB2.6060003>