Now we will create a file called null.mc, which, when later processed, will create a client.cf-style configuration file. The null.mc fill will be very small, containing only these three lines:
include(`../m4/cf.m4') OSTYPE(`sunos4.1') FEATURE(`nullclient',`mail.us.edu')
These three lines do everything that the preceding 11 chapters did and more. We discuss them individually, then show how to process the file.
Naturally, a configuration is not simply plucked from thin air. Instead the master prototype configuration needs to be read and processed with the following command: [1]
[1] See ../README for a description of how to replace this line with similar information on the command line when processing. The
include
line inside your null.mc file is portable to all versions of m4. The command line form is highly version dependent, but allows you to maintain your .mc files outside the sendmail distribution.
include(`../m4/cf.m4')
Note that the expression inside the parentheses begins with a reverse apostrophe
and ends with a forward one. These opposing half quotes are used by
m4(1) to prevent a test from being interpreted as a macro.
The expression ../m4/cf.m4
is taken to be the pathname of a file.
That file is read at this point as though it were actually typed in
here.
A number of values in the configuration file will differ from operating system to operating system. The location of the queue directory, for example, is /var/spool/mqueue for IRIX 5.x but /usr/spool/mqueue for BSD 4.3 Unix. To declare the proper value for your operating system, look in the ../ostype directory:
%ls ../ostype
aix3.m4 bsdi1.0.m4 hpux10.m4 linux.m4 sco3.2.m4 ultrix4.m4 amdahl-uts.m4 bsdi2.0.m4 hpux9.m4 nextstep.m4 solaris2.m4 unknown.m4 aux.m4 dgux.m4 irix4.m4 osf1.m4 sunos3.5.m4 bsd4.3.m4 domainos.m4 irix5.m4 ptx2.m4 sunos4.1.m4 bsd4.4.m4 dynix3.2.m4 isc4.1.m4 riscos4.5.m4 svr4.m4
Pick the operating system closest to yours. For
SunOS 4.1.4 systems, for example, choose sunos4.1.m4
.
Whichever you choose, include support for it by stripping the .m4
suffix and including the resulting name in an OSTYPE
declaration:
sunos4.1.m4 becomes OSTYPE(`sunos4.1')
Remember to surround the result in a reverse and forward apostrophe pair.
The last line in our null.mc file provides the magic incantation of a client.cf-style file:
FEATURE(`nullclient',`mail.us.edu')
Two arguments inside the parentheses, separated by a comma, are
required. The first argument, nullclient
, tells m4(1)
to create a null (do-nothing) client (.cf) file. The second argument
is the canonical name of the mail hub. Just as we did for the
client.cf file, we use the hostname mail.us.edu. You
should, of course, use the canonical name of your own mail hub.