COHERENT manpages
This page displays the COHERENT manpage for mkdbm [Build a data base for smail].
List of available manpages
Index
mkdbm -- Command
Build a data base for smail
/usr/lib/mail/mkdbm [-d] [-f] [-n] [-o output-file] [-v] [-y] [file ...]
The command mkdbm generates a data base for smail.
It forms the data key from the characters up to, but not including, a colon
(`:') or white-space character. The data after the colon or white-space
character forms the value associated with the key. You can use mkdbm to
produce data-base files that can then be read by a smail router pathalias
or its director alias-file. By default, the router and director are
configured to use the DBM file-access protocol. (For information on
routers and directors, see the Lexicon entries for routers and directors.)
For some data bases, you can use mkline to form single-line records whose
comments and extra white space are removed. The generated data base
contains a single NUL character at the end of each key and value. It also
generates a single record that contains a `@' as a key and value; it does
so for compatibility with the Berkeley sendmail command's alias files.
mkdbm recognizes the following command-line options:
-d Suppress writing the extra `@' record.
-f Fold the key to lower case before storing it within the data base.
-n Suppress writing a NUL character at the end of each line. Please note
that this option is incompatible with smail's method of accessing the
data-base file.
-o output-file
Write output into output-file. This option also sets the name for the
data base. If you do not use this option, mkdbm names the output data
base after its first file argument. If, in addition, the command line
does not name an input file, mkmf names the output file dbm.
-v Write statistics to the standard output.
-y Create an output file that is compatible with the Sun Yellow Pages (YP)
system. This obviates the need for keeping a copy of sendmail on your
system to maintain a YP-alias data base.
If its command line does not name an input file, mkdbm reads the standard
input. mkdbm also reads the standard input if a file is named `-'; in this
way, it can mix data read from the standard input with material read from
files.
Calling mkdbm with the arguments -ynd generates a data base that is
compatible with regular YP data bases. Using just the argument -y
generates a data base that is compatible with the YP mail.alias data base.
As it creates the data base, mkdbm builds temporary files in the same
directory in which it eventually builds the output files. When it has
completed its work, mkdbm removes all data-base files that have the target
name, sleeps for one or two seconds, then moves the newly written temporary
data-base files to the target names. This method of writing a data-base is
not compatible with the locking method used by Berkeley command sendmail.
Example
As an example of the use of mkdbm consider a file named paths, which
contains the routing information:
.COM sun!%s
Stargate.COM ames!cmcl2!uiucdcs!stargate!%s
ames ames!%s
.ATT.COM mtune!%s
mtune mtune!%s
Given this file, the command
mkdbm -f paths
produces a data base in the files paths.pag and paths.dir that contains the
above entries but with the keys shifted into lower case. For example, one
entry will contain the key stargate.com with an associated value of:
ames!cmcl2!uiucdcs!stargate!%s
Files
dbmXXXXXX.pag
dbmXXXXXX.dir
Temporary files, created in the same directory as the output files.
See Also
commands,
libgdbm,
mail [overview],
mkline,
pathalias,
smail
Notes
Copyright © 1987, 1988 Ronald S. Karr and Landon Curt Noll. Copyright
© 1992 Ronald S. Karr.
mkdbm is part of the smail package. For a full copyright statement, see
file COPYING, which is included with source code to smail, or type smail
-bc to see the distribution rights and restrictions associated with this
software.









