The Order of mc Lines
As you have seen, some mc lines must precede others. This is necessary partly because m4(1) is a one-pass program, and partly because the order of items in the final sendmail.cf file is also critical. The recommended order is:
VERSIONID( ) ← see §17.2.3.1 on page 593 OSTYPE( ) ← see §17.2.2.1 on page 590 DOMAIN( ) ← see §17.2.2.3 on page 591 option definitions ← see §24.4 on page 953 FEATURE( ) ← see §17.8 on page 611 macro definitions ← see §21.7 on page 796 MAILER( ) ← see §17.2.2.2 on page 590 ruleset definitions ← see §19.1.7 on page 688
If in doubt about where some particular item should go, look in the many example files in cf/cf. Some of them (especially the file knecht.mc) will also give you good ideas about how you can improve your own mc file.
VERSIONID m4 macro
The VERSIONID m4 macro is used to insert an identifier into each mc and m4 file that becomes a part of your final .cf file. Each file that is supplied with sendmail already has such an identifier. You should include a similar identifier in each of your mc files:
VERSIONID(`$Id$')
Here, the VERSIONID m4
macro is used to insert an RCS-style revision
number. The $Id$
becomes an actual version number when the file is
checked in with ci(1).
Arbitrary text can appear between the single
quotes. You can use RCS, SCCS, or any other kind
of revision identification system. The text cannot
contain a newline because the text appears in the
.cf file as a comment:
##### $Id$ #####
Use of VERSIONID and revision control ...
Get sendmail, 4th Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.