From owner-freebsd-pkg@FreeBSD.ORG Thu May 15 07:29:06 2014 Return-Path: Delivered-To: freebsd-pkg@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 3F8EAEFE for ; Thu, 15 May 2014 07:29:06 +0000 (UTC) Received: from mail.rlwinm.de (mail.rlwinm.de [IPv6:2a01:4f8:140:72e1::ac16:e45e]) by mx1.freebsd.org (Postfix) with ESMTP id 020DC2AC3 for ; Thu, 15 May 2014 07:29:06 +0000 (UTC) Received: from hexe.rlwinm.de (p57A7CE24.dip0.t-ipconnect.de [87.167.206.36]) (using TLSv1 with cipher ECDHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by mail.rlwinm.de (Postfix) with ESMTPSA id EFCF6470FB for ; Thu, 15 May 2014 09:29:03 +0200 (CEST) Message-ID: <53746CBE.1040908@rlwinm.de> Date: Thu, 15 May 2014 09:29:02 +0200 From: Jan Bramkamp User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; 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 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit 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: Thu, 15 May 2014 07:29:06 -0000 On 13.05.2014 22: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.) > > First question: is anyone working on something like this already? > > Second question: Any objections to it in principal? > > Merci beaucoup, > > Sean. It is my understanding that pkgng keeps the old packages in /var/cache/pkg. Wouldn't it be easier to implement delta packages as binpatches between the decompressed tar streams of the two package versions?