.\" $NetBSD: mkpatches.1,v 1.9 2016/02/10 16:00:10 wiz Exp $ .\" .\" Copyright (c) 2000-2016 by Thomas Klausner .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR .\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED .\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR .\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR .\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR .\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF .\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS .\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN .\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" .Dd February 10, 2016 .Dt MKPATCHES 1 .Os .Sh NAME .Nm mkpatches .Nd create patch files appropriate for pkgsrc .Sh SYNOPSIS .Nm .Op Fl hvw .Oo Fl c | Fl r Oc .Op Fl D | Fl d Ar dir .Sh DESCRIPTION .Nm is a perl script that simplifies creating patches from a changed work tree if for each changed file the original was kept with an added extension .Dq .orig . .Pp .Nm must be called from the package's main directory, that is .Pa ${PKGSRC}/category/program . It then proceeds to find all files that match the pattern .Dq *.orig . Each of these is then compared to the changed file of the same name (with no .Dq .orig extension) using .Xr pkgdiff 1 . .Pp The resulting patches are saved in the package's patches directory (usually .Pa patches/ ) and can be easily compared to the currently existing set using .Xr patchdiff 1 or .Ic "cvs diff" . .Pp If the new patch differs from an existing patch only due to line numbers or RCS Ids, the old patch will be kept unchanged. .Pp Supported options are: .Bl -tag -width 3n .It Fl c Clean up backup patches of previous runs. Use this after you're finished working on the patch set and committed it. .It Fl D Use .Pa $WRKDIR/.newpatches for patches. See .Fl d for more details. .It Fl d Ar dir Use .Ar dir for patches. Copies any existing patches there on the first run and then creates or updates patches only there. Use this e.g. if you have a read-only pkgsrc. .It Fl h Show a short usage. .It Fl r Revert the changes. Removes the new patches and puts the original patches back. .It Fl v More verbose output. .It Fl w Look for changes in .Pa $WRKDIR instead of the default .Pa $WRKSRC . Usually not needed and slower. .El .Sh SEE ALSO .Xr cvs 1 , .Xr patchdiff 1 , .Xr pkgdiff 1