Patch Howto Last revised: March 04, 2003 _________________________________________________________________ Patch Howto The purpose of this document is to show you what a patch is and how you can create, apply, download, and submit a patch. Contents: 1. Terms 2. Applying a patch 3. Creating and submitting a patch 4. Downloading a patch 1. Terms The following are some common terms used in this document: Patch 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! 2. Applying a patch To apply a patch to an Eggdrop, you have to first obtain the Eggdrop sourcecode. 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.16/) and type the following command: patch -p1 < ../path.to.the/patch Once this is complete, execute the following command: find . -name "*.rej" -print 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. If the patch applied properly, the only thing left to do is to recompile your Eggdrop and install the new modules and binaries. 3. Creating and submitting a patch 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 they can possibly apply it to next release of Eggdrop. There are several steps to submit a patch to the eggdev team: 1. Create a directory with original source tree and one with modified source tree. 2. Run the following: diff -urN eggdrop1.6.original eggdrop1.6.modified > patchname.patch DO NOT add any other diff options. 3. Send an email to patches@eggheads.org 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 botversion for which your patch was made. You should also include the nick/handle/name you would like to be used in the UPDATES1.6 file (if applicable). Never modify src/patch.h or one of the UPDATES files. We will do it. If your patch includes changes related to autotools (./configure, etc), do NOT run autoconf, autoheader, etc; we will do this as well. Also, please don't add credit lines all over the source when patching. Patch contributers will receive credit in UPDATES1.6 and ChangeLog. 4. Downloading a patch Many patches for eggdrop1.6.x can be found at the following location: ftp://ftp.eggheads.org/pub/eggdrop/patches/1.6 _________________________________________________________________ Copyright (C) 1999, 2000, 2001, 2002, 2003 Eggheads Development Team