2.2 Building sendmail

2.2 Building sendmail

Unpacking the tar bundle will create a directory called sendmail-version / (e.g., sendmail-8.12.2). Under this directory, several subdirectories will appear. This layout has changed somewhat over time, but here is an explanation of some of the more important pieces of the source bundle:

sendmail This directory contains the source for the sendmail MTA itself. This directory is not self-contained; rather, information and source code in other parts of the distribution are necessary to compile the MTA.

mail.local This directory contains the source for the mail.local Local Delivery Agent (LDA). It also depends on other parts of the source distribution.

cf This directory contains all information necessary to build sendmail configuration files. This directory tree is self-contained and can be copied to another location on the computer.

doc This directory contains one subdirectory, op, which houses an nroff and PostScript version of the Sendmail Installation and Operation Guide.

The source distribution includes a number of files that contain important information:

README This file contains general information about the sendmail package in question. Read it thoroughly before attempting to build any sendmail distribution.

INSTALL This file contains information on the installation of the sendmail package. Read it thoroughly before attempting to build the distribution. Don't assume that significant changes haven't occurred to the installation process. For example, in sendmail version 8.11, the default was to install the sendmail binary set-user-ID root. Starting in version 8.12, the default is to install it set-group-ID smmsp using two different queues and two different configuration files, depending on whether a message was submitted for delivery on the command line or via SMTP. Blindly upgrading between these two versions of sendmail without understanding the instructions in this file may break an email server.

Build This script is used to build the sendmail distribution. The binaries should be compiled with this mechanism. Anyone who finds that they've made modifications such that running the Build script no longer builds the distribution should reconsider what they've done. The build environment used by sendmail may be nontraditional and seem baroque at times, but it is all done for a reason. There is almost certainly a mechanism to effect any desired change within the build process. Circumventing it may have unintended consequences. Build is explained in the file devtools/README.

RELEASE_NOTES This file contains a list of changes to the sendmail distribution. All significant changes are logged dating back to sendmail version 8.1, so this file contains important information. When upgrading, the list of changes between the version that one is running and the version that one is installing should at least be browsed, although most people do not need to read it thoroughly.

sendmail/README This file contains information for modifying the sendmail compilation process. Anyone who wants to change the details of how sendmail is built would be well advised to read this file carefully.

Building sendmail is generally as easy as changing to the top of the distribution directory and running sh ./Build. The object and executable files will be created in a directory named obj.osname.architecture (e.g., obj.FreeBSD.4.4-RELEASE.i386 or obj.SunOS.5.6.sun4). In this manner, if the package is built on a filesystem that is shared between multiple operating systems, builds for different operating systems can coexist in the same directory hierarchy.

It may become necessary to modify the standard build environment so as to support some nonstandard compile-time features. These modifications should be added to the file site.config.m4 in the devtools/Site directory. For example, the following lines should be written to site.config.m4 to compile in support for Wietse Venema's TCP Wrapper [VEN92]:

 APPENDDEF('conf_sendmail_ENVDEF', '-DTCPWRAPPERS')  APPENDDEF('conf_sendmail_LIBS', '-lwrap') 

After these changes have been made, then from the top of the distribution one should run sh ./Build clean and then run sh ./Build again. The README files in devtools/Site and devtools contain information on how to alter this file so as to make arbitrary compile-time modifications.



sendmail Performance Tuning
sendmail Performance Tuning
ISBN: 0321115708
EAN: 2147483647
Year: 2005
Pages: 67

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net