Annotation of src/usr.bin/patch/README, Revision 1.1.1.1
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:
53: You may copy the patch kit in whole or in part as long as you don't try to
54: make money off it, or pretend that you wrote it.
55: --------------------------------------------------------------------------
56:
57: Please read all the directions below before you proceed any further, and
58: then follow them carefully. Failure to do so may void your warranty. :-)
59:
60: After you have unpacked your kit, you should have all the files listed
61: in MANIFEST.
62:
63: Installation
64:
65: 1) Run Configure. This will figure out various things about your system.
66: Some things Configure will figure out for itself, other things it will
67: ask you about. It will then proceed to make config.h, config.sh, and
68: Makefile.
69:
70: You might possibly have to trim # comments from the front of Configure
71: if your sh doesn't handle them, but all other # comments will be taken
72: care of.
73:
74: If you don't have sh, you'll have to rip the prototype of config.h out
75: of Configure and generate the defines by hand.
76:
77: 2) Glance through config.h to make sure system dependencies are correct.
78: Most of them should have been taken care of by running the
79: Configure script.
80:
81: If you have any additional changes to make to the C definitions, they
82: can be done in the Makefile, or in config.h. Bear in mind that they may
83: get undone next time you run Configure.
84:
85: 3) make
86:
87: This will attempt to make patch in the current directory.
88:
89: 4) make install
90:
91: This will put patch into a public directory (normally /usr/local/bin).
92: It will also try to put the man pages in a reasonable place. It will not
93: nroff the man page, however.
94:
95: 5) Read the manual entry before running patch.
96:
97: 6) IMPORTANT! Help save the world! Communicate any problems and
98: suggested patches to me, lwall@netlabs.com (Larry Wall),
99: so we can keep the world in sync. If you have a problem, there's
100: someone else out there who either has had or will have the same problem.
101:
102: If possible, send in patches such that the patch program will apply them.
103: Context diffs are the best, then normal diffs. Don't send ed scripts--
104: I've probably changed my copy since the version you have.
105:
106: Watch for patch patches in comp.sources.bugs. Patches will generally be
107: in a form usable by the patch program. Your current patch level
108: is shown in patchlevel.h.