[BACK]Return to README CVS log [TXT][DIR] Up to [local] / src / usr.bin / patch

Annotation of src/usr.bin/patch/README, Revision 1.2

1.1       deraadt     1: this version modified to fit in with the 386bsd release.
                      2: this isn't gnu software, so we're not obligated to give
                      3: you the original sources -- if you want them, get them
                      4: from prep.ai.mit.edu:pub/gnu/patch-2.0.12u8.tar.z
                      5:
                      6:                                        -- cgd
                      7:
                      8: #######################################################################
                      9:
                     10:
                     11: This version of patch contains modifications made by the Free Software
                     12: Foundation, summarized in the file ChangeLog.  Primarily they are to
                     13: support the unified context diff format that GNU diff can produce, and
                     14: to support making GNU Emacs-style backup files.  They also include
                     15: fixes for some bugs.
                     16:
                     17: There are two GNU variants of patch: this one, which retains Larry
                     18: Wall's interactive Configure script and has patchlevels starting with
                     19: `12u'; and another one that has a GNU-style non-interactive configure
                     20: script and accepts long-named options, and has patchlevels starting
                     21: with `12g'.  Unlike the 12g variant, the 12u variant contains no
                     22: copylefted code, for the paranoid.  The two variants are otherwise the
                     23: same.  They should be available from the same places.
                     24:
                     25: The FSF is distributing this version of patch independently because as
                     26: of this writing, Larry Wall has not released a new version of patch
                     27: since mid-1988.  I have heard that he has been too busy working on
                     28: other things, like Perl.
                     29:
                     30: Here is a wish list of some projects to improve patch:
                     31:
                     32: 1.  Correctly handle files and patchfiles that contain NUL characters.
                     33: This is hard to do straightforwardly; it would be less work to
                     34: adopt a kind of escape encoding internally.
                     35: Let ESC be a "control prefix".  ESC @ stands for NUL.  ESC [ stands for ESC.
                     36: You need to crunch this when reading input (replace fgets),
                     37: and when writing the output file (replace fputs),
                     38: but otherwise everything can go along as it does now.
                     39: Be careful to handle reject files correctly;
                     40: I think they are currently created using `write', not `fputs'.
                     41:
                     42: 2.  Correctly handle patches produced by GNU diff for files that do
                     43: not end with a newline.
                     44:
                     45: Please send bug reports for this version of patch to
                     46: bug-gnu-utils@prep.ai.mit.edu as well as to Larry Wall (lwall@netlabs.com).
                     47:  --djm@gnu.ai.mit.edu (David MacKenzie)
                     48:
                     49:                        Patch Kit, Version 2.0
                     50:
                     51:                    Copyright (c) 1988, Larry Wall
                     52:
1.2     ! niklas     53: Redistribution and use in source and binary forms, with or without
        !            54: modification, are permitted provided that the following condition
        !            55: is met:
        !            56:  1. Redistributions of source code must retain the above copyright
        !            57:     notice, this condition and the following disclaimer.
        !            58:
        !            59: THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
        !            60: ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
        !            61: IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
        !            62: ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
        !            63: FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
        !            64: DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
        !            65: OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
        !            66: HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
        !            67: LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
        !            68: OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
        !            69: SUCH DAMAGE.
1.1       deraadt    70: --------------------------------------------------------------------------
                     71:
                     72: Please read all the directions below before you proceed any further, and
                     73: then follow them carefully.  Failure to do so may void your warranty. :-)
                     74:
                     75: After you have unpacked your kit, you should have all the files listed
                     76: in MANIFEST.
                     77:
                     78: Installation
                     79:
                     80: 1)  Run Configure.  This will figure out various things about your system.
                     81:     Some things Configure will figure out for itself, other things it will
                     82:     ask you about.  It will then proceed to make config.h, config.sh, and
                     83:     Makefile.
                     84:
                     85:     You might possibly have to trim # comments from the front of Configure
                     86:     if your sh doesn't handle them, but all other # comments will be taken
                     87:     care of.
                     88:
                     89:     If you don't have sh, you'll have to rip the prototype of config.h out
                     90:     of Configure and generate the defines by hand.
                     91:
                     92: 2)  Glance through config.h to make sure system dependencies are correct.
                     93:     Most of them should have been taken care of by running the
                     94:     Configure script.
                     95:
                     96:     If you have any additional changes to make to the C definitions, they
                     97:     can be done in the Makefile, or in config.h.  Bear in mind that they may
                     98:     get undone next time you run Configure.
                     99:
                    100: 3)  make
                    101:
                    102:     This will attempt to make patch in the current directory.
                    103:
                    104: 4)  make install
                    105:
                    106:     This will put patch into a public directory (normally /usr/local/bin).
                    107:     It will also try to put the man pages in a reasonable place.  It will not
                    108:     nroff the man page, however.
                    109:
                    110: 5)  Read the manual entry before running patch.
                    111:
                    112: 6)  IMPORTANT!  Help save the world!  Communicate any problems and
                    113:     suggested patches to me, lwall@netlabs.com (Larry Wall),
                    114:     so we can keep the world in sync.  If you have a problem, there's
                    115:     someone else out there who either has had or will have the same problem.
                    116:
                    117:     If possible, send in patches such that the patch program will apply them.
                    118:     Context diffs are the best, then normal diffs.  Don't send ed scripts--
                    119:     I've probably changed my copy since the version you have.
                    120:
                    121:     Watch for patch patches in comp.sources.bugs.  Patches will generally be
                    122:     in a form usable by the patch program.  Your current patch level
                    123:     is shown in patchlevel.h.