From owner-freebsd-arch@FreeBSD.ORG Thu Mar 31 10:30:27 2005 Return-Path: Delivered-To: freebsd-arch@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1AB5416A4CE for ; Thu, 31 Mar 2005 10:30:27 +0000 (GMT) Received: from pd2mo3so.prod.shaw.ca (shawidc-mo1.cg.shawcable.net [24.71.223.10]) by mx1.FreeBSD.org (Postfix) with ESMTP id 22FFB43D55 for ; Thu, 31 Mar 2005 10:30:26 +0000 (GMT) (envelope-from colin.percival@wadham.ox.ac.uk) Received: from pd4mr7so.prod.shaw.ca (pd4mr7so-qfe3.prod.shaw.ca [10.0.141.84])2004))freebsd-arch@freebsd.org; Thu, 31 Mar 2005 03:30:01 -0700 (MST) Received: from pn2ml10so.prod.shaw.ca ([10.0.121.80]) by pd4mr7so.prod.shaw.ca (Sun ONE Messaging Server 6.0 HotFix 1.01 (built Mar 15 2004)) with ESMTP id <0IE700NOTP6135E0@pd4mr7so.prod.shaw.ca> for freebsd-arch@freebsd.org; Thu, 31 Mar 2005 03:30:01 -0700 (MST) Received: from [192.168.0.60] (S0106006067227a4a.vc.shawcable.net [24.87.209.6]) by l-daemon (iPlanet Messaging Server 5.2 HotFix 1.18 (built Jul 28 2003)) with ESMTP id <0IE70005UP60CW@l-daemon> for freebsd-arch@freebsd.org; Thu, 31 Mar 2005 03:30:01 -0700 (MST) Date: Thu, 31 Mar 2005 02:29:50 -0800 From: Colin Percival In-reply-to: <20050331101621.GL10485@submonkey.net> To: Ceri Davies Message-id: <424BD11E.1090007@wadham.ox.ac.uk> MIME-version: 1.0 Content-type: text/plain; charset=ISO-8859-1 Content-transfer-encoding: 7bit X-Accept-Language: en-us, en X-Enigmail-Version: 0.90.1.0 X-Enigmail-Supports: pgp-inline, pgp-mime References: <424B3AAB.6090200@wadham.ox.ac.uk> <20050331101621.GL10485@submonkey.net> User-Agent: Mozilla Thunderbird 1.0.2 (X11/20050326) cc: freebsd-arch@freebsd.org Subject: Re: Adding bsdiff to the base system X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 31 Mar 2005 10:30:27 -0000 Ceri Davies wrote: > On Wed, Mar 30, 2005 at 03:47:55PM -0800, Colin Percival wrote: >> I'd like to add bsdiff/bspatch into the base system. > > While it's probably easy to guess from the names, can you explain what > they are? Oops. bsdiff constructs a "binary diff", and is designed to produce particularly small patches when the two files differ by a large number of substitutions relative to the number of insertions and deletions (this is significant since executable files tend to change in this manner, as a result of linking object files together). Compared to other "binary diff" tools, bsdiff often produces patches 3-5 times smaller; however, it has the disadvantage of being slower and rather more memory-intensive than other tools. bspatch is the opposite of bsdiff -- it takes the "old" file, the binary diff file, and produces the "new" file. Colin Percival