/usr/share/doc/eggdrop-data/html/patch-howto.html is in eggdrop-data 1.6.20-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<!-- $Id: patch-howto.html,v 1.14 2010/01/03 13:27:23 pseudo Exp $ -->
<html>
<head>
<title>Eggdrop Documentation: Patch Howto</title>
</head>
<body>
<div align="center">
<p><strong>Patch Howto</strong></p>
</div>
<hr>
<p>The purpose of this document is to show you what a patch is and how you
can create, apply, download, and submit a patch.</p>
<hr>
<p><strong>Contents</strong></p>
<blockquote>
<ol>
<li><a href="#sect1">Terms</a></li>
<li><a href="#sect2">Applying a patch</a></li>
<li><a href="#sect3">Creating and submitting a patch</a></li>
<li><a href="#sect4">Downloading a patch</a></li>
</ol>
</blockquote>
<hr>
<p><a name="sect1"></a><strong>Terms</strong></p>
<blockquote>
<p>The following are some common terms used in this document:</p>
<dl>
<dt><strong>Patch</strong></dt>
<dd>
<p>A patch is an update to the sourcecode of a program (here
Eggdrop). Be careful, every patch is designed for a special
Eggdrop version and cannot be applied on every bot!</p>
</dd>
</dl>
</blockquote>
<p><a name="sect2"></a><strong>Applying a patch</strong></p>
<p>To apply a patch to an Eggdrop, you have to first obtain the Eggdrop
source code. You should always keep a tar.gz archive with the source of
your current Eggdrop on your shell. In the next step, you have to change
to your source directory (i.e.: /home/user/eggdrop1.6.20/) and type
the following command:</p>
<blockquote>
<p>patch -p1 < ../path.to.the/patch</p>
</blockquote>
<p>Once this is complete, execute the following command:</p>
<blockquote>
<p>find . -name "*.rej" -print</p>
</blockquote>
<p>If it returns a list with filenames ending with .rej extension, then the
patch didn't apply properly. Ensure that the patch is intended for your
version and that you have the original source. You should also try to
re-download the patch to ensure that the patch is not corrupted.</p>
<p>If you get an error such as this:</p>
<blockquote>
<pre>
|Index: Makefile.in
|===================================================================
|RCS file: /usr/local/cvsroot/eggdrop1.6/Makefile.in,v
|retrieving revision 1.38
|diff -u -r1.38 Makefile.in
|--- Makefile.in 17 Jun 2004 05:43:28 -0000 1.38
|+++ Makefile.in 23 Jul 2004 21:58:23 -0000
--------------------------
File to patch:
</pre>
</blockquote>
<p>Then you should try using a different '-p' option. Try -p0
first, and then -p2, -p3, etc.</p>
<p>If the patch applied properly, the only thing left to do is to recompile
your Eggdrop and install the new modules and binaries.</p>
<p><a name="sect3"></a><strong>Creating and submitting a patch</strong></p>
<p>If you fixed a bug and/or changed something in Eggdrop's source code,
it would be really nice to let the dev team know about it, so we can
possibly apply it to next release of Eggdrop.</p>
<p>There are several steps to submit a patch to the eggdev team:</p>
<blockquote>
<ol>
<li>
<p>Create a directory with original source tree and one with modified
source tree.</p>
</li>
<li>
<p>Run the following:</p>
<blockquote>
<pre>
diff -urN eggdrop1.6.original eggdrop1.6.modified > patchname.patch
</pre>
</blockquote>
<p><strong>DO NOT</strong> add any other diff options.</p>
</li>
<li>
<p>Send an e-mail to <a href="mailto:patches@eggheads.org">
patches@eggheads.org</a> with the patch attached. The body should
contain a detailed description of what you changed and why you
changed it. Don't forget to include the Eggdrop version for which
your patch was created.</p>
<p>It helps if you include the major release number that the patch
is for in the subject line. For the 1.6.x series, the subject line
should look like this:</p>
<blockquote>PATCH1.6: my-patch-filename.patch</blockquote>
<p>You should also include the nick/handle, name, and email
address you would like used for attribution in the Changes1.6 and
THANKS files.</p>
</li>
</ol>
<p>Never modify src/patch.h or one of the Changes files. We will do it.
If your patch includes changes related to autotools (./configure, etc),
do <strong>NOT</strong> run autoconf, autoheader, etc; we will do this
as well.</p>
<p>Also, please don't add credit lines all over the source when
patching. Patch contributors will receive credit in Changes1.6 and
THANKS.</p>
<p>CVS diff's are also perfectly fine (and actually, prefered, as the
patch will be against the most current version of Eggdrop). To create a
CVS diff, simply make the changes in your currently checked-out copy of
the Eggdrop source, and then run:</p>
<blockquote>
<pre>
cvs diff -R -uN > patchname.patch
</pre>
</blockquote>
</blockquote>
<p><a name="sect4"></a><strong>Downloading a patch</strong></p>
<p>Many patches for eggdrop1.6.x can be found at the following
location:</p>
<blockquote>
<p><a href="ftp://ftp.eggheads.org/pub/eggdrop/patches/1.6/">
ftp://ftp.eggheads.org/pub/eggdrop/patches/1.6/</a></p>
</blockquote>
<hr>
<p><em>Copyright © 1997 Robey Pointer<br>
Copyright © 1999 - 2010 Eggheads Development Team
<a href="http://www.eggheads.org/"> Eggheads Development Team</a></em></p>
</body>
</html>
|