Location and modes for installed library files |
Build macro |
Beginning with V8.12, one library, the libmilter
library, is now installed centrally for your use in designing you own
filter programs. The library file, libmilter.a,
is installed by default in the /usr/lib
directory. Two corresponding #include files,
mfapi.h and mfdef.h, are
installed by default in the
/usr/include/libmilter directory. No Unix manual
pages are installed. Instead you must read HTML files located under
the sendmail source tree, in
libmilter/docs, to learn how to use this
library.
A number of build-time macros can be used to modify the ownership,
location, and modes of the installed library (installation of the
#include files is described in confINC...):
- confLIBDIR
-
The confLIBDIR macro determines where the created
library file will be installed. For most sites, the correct directory
will be defined in your devtools/OS file
(usually /usr/lib). But if you decide to put
that library in a different directory, you can do so by defining this
macro:
define(`confLIBDIR', `/usr/local/lib')
- confLIBGRP
-
This macro sets the group that will own the installed library. The
group defaults to bin. If you wish to use a
different group you can do so like this:
define(`confLIBGRP', `mbin') use a group name
define(`confLIBGRP', `343') use a group number
If you use a positive number that is not too large, it will be
accepted no matter what. If you use a name that is not defined in the
/etc/group file, you might see the following
error and the build will fail:
chgrp: mbin: unknown group
- confLIBMODE
-
This macro defines the permissions that the installed library will be
assigned. The default is mode 0444, which is readable by the owner,
group, and world. One reason to change this default might be to
prohibit ordinary users from reading these files. You would make such
a change like this:
define(`confMBINMODE', `0440') remove world read permission
If you use an illegal permission value, such as 991, you will see the
following error and the build will fail:
chmod: invalid mode
- confLIBOWN
-
This macro defines who will own the library. The default owner is
root. You can set its ownership to a different
owner if you prefer, with an m4
Build macro such as this:
define(`confLIBOWN', `mbin') use a username
define(`confLIBOWN', `9') use a user number
If you use a positive number that is not too large, it will be
accepted no matter what. If you use a name that is not defined in the
/etc/passwd file (or related file such as
/etc/master.passwd), you might see the following
error and the build will fail:
chown: unknown user id: mbin
|