1.\"- 2.\" Copyright 2003-2005 Colin Percival 3.\" All rights reserved 4.\" 5.\" Redistribution and use in source and binary forms, with or without 6.\" modification, are permitted providing that the following conditions 7.\" are met: 8.\" 1. Redistributions of source code must retain the above copyright 9.\" notice, this list of conditions and the following disclaimer. 10.\" 2. Redistributions in binary form must reproduce the above copyright 11.\" notice, this list of conditions and the following disclaimer in the 12.\" documentation and/or other materials provided with the distribution. 13.\" 14.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 15.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 16.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 17.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY 18.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 22.\" STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 23.\" IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 24.\" POSSIBILITY OF SUCH DAMAGE. 25.\" 26.\" $FreeBSD$ 27.\" 28.Dd December 22, 2022 29.Dt BSPATCH 1 30.Os 31.Sh NAME 32.Nm bspatch 33.Nd apply a patch built with 34.Xr bsdiff 1 35.Sh SYNOPSIS 36.Nm 37.Ar oldfile newfile patchfile 38.Sh DESCRIPTION 39The 40.Nm 41utility 42generates 43.Ar newfile 44from 45.Ar oldfile 46and 47.Ar patchfile 48where 49.Ar patchfile 50is a binary patch built by 51.Xr bsdiff 1 . 52.Pp 53The 54.Nm 55utility 56uses memory equal to the size of 57.Ar oldfile 58plus the size of 59.Ar newfile , 60but can tolerate a very small working set without a dramatic loss 61of performance. 62.Sh SEE ALSO 63.Xr bsdiff 1 64.Sh AUTHORS 65.An Colin Percival Aq Mt cperciva@FreeBSD.org 66.Sh BUGS 67The 68.Nm 69utility does not verify that 70.Ar oldfile 71is the correct source file for 72.Ar patchfile . 73Attempting to apply a patch to the wrong file will usually produce 74garbage; consequently it is strongly recommended that users of 75.Nm 76verify that 77.Ar oldfile 78matches the source file from which 79.Ar patchfile 80was built, by comparing cryptographic hashes, for example. 81Users may also wish to verify after running 82.Nm 83that 84.Ar newfile 85matches the target file from which 86.Ar patchfile 87was built. 88