Revision 2 as of 2008-07-31 14:05:47

Clear message

4.40. HowTo Patch Mailman Source Code - a basic overview

This entry is a basic overview of how to patch Mailman's source code - this applies really to any Unix source code. Patching source code is important for Mailman users: fixes and new features often come out as patches.

Patches are changes in existing code (and only the changes!). Applying a patch can affect one or more files of Mailman's source code. You only need to apply a patch once.

Most patches only work with a specific release or version of Mailman. Make sure the patch you are trying to apply will work for the version of Mailman that you are using!!! Each release of Mailman gives more features and greater stability (hopefully). Much of the source code changes with each release/upgrade, so different patches may be needed for each release.

In general patches are only written for the current version of Mailman. If you installed Mailman from rpm or apt (or from anything other than source, then patching will NOT work for you).

Patching:

 - Download the source code and expand it. It will create a directory with all sorts of files and subdirectories (this will be called the "build" directory)

 - Download the patch and gunzip it (if necessary)

 - Make the "build" directory your current directory. Apply the patch with the MM build directory as current working directory using the command:
   patch -p1 < path-to-patch-file

The patch runs through the source files and makes modifications. Now you build Mailman like normal (read the file INSTALL in the build directory):

  ./configure --any switches you need
  make install

If you keep the build directory hanging around then you can apply patches at any point, and then simply re-install.

One of the really nice features of Mailman is that you can re-install it at any time and it leaves your data/config alone, but refreshes the binaries - so applying a patch is a snap! Be sure to turn off mailmanctl before doing a rebuild or you might loose some mail that is being processed inside a queue.

If you have any more questions, don't be shy in asking on the mailman-users@python.org mailing list.

Jon Carnes - (this one is for you Paul!)

Last changed on Tue Feb 5 15:14:21 2008 by jidanni
Converted from the Mailman FAQ Wizard

This is one of many Frequently Asked Questions.