configure (by GNU autoconf) および make を実行して下さい。 configure の前に、 ユーザ fml とグループ fml を作っておく必要がありますので注意して下さい。 ここまでの作業をまとめて書くと、次のようになります。
% su root # groupadd fml # useradd -g fml -m fml # ./configure # make installconfigure が適宜 script 群や .cf 群の変数を書き換えます。
make install を実行する際には、 configure が生成した etc/fml/install.cf を元に、 configure が生成した install.pl (perl script) がインストールを行ないます。
ユーザ名や基本的なディレクトリ構成などは configure の引数で変更して下さい。 変更できる変数は以下のものです。configure --help で表示されます。 fml では各ディレクトリにさらに /fml といった suffix をつけます。 変更できるのは、その直前の prefix 部分までです。
変数 configure のデフォルト値 fml の利用するディレクトリ例
--------------------------------------------------------
prefix /usr/local /usr/local
exec_prefix /usr/local /usr/local
bindir ${exec_prefix}/bin /usr/local/bin
sbindir ${exec_prefix}/sbin /usr/local/sbin
libexecdir ${exec_prefix}/libexec /usr/local/libexec/fml
datadir ${prefix}/share /usr/local/share/fml
sysconfdir ${prefix}/etc /usr/local/etc/fml
sharedstatedir ${prefix}/com
localstatedir ${prefix}/var
libdir ${exec_prefix}/lib /usr/local/lib/fml
includedir ${prefix}/include
oldincludedir /usr/include
infodir ${prefix}/info
mandir ${prefix}/man
そして、これらの変数も configure の引数で上書きすることができます。
fmlconfdir $sysconfidr/fml /usr/local/etc/fml mlspooldir /var/spool/ml /var/spool/ml fml_owner fml fml fml_group fml fml default_domain 推測する 推測するこれらのオプションは
configure --helpで表示されます。
例
./configure --help
`configure' configures this package to adapt to many kinds of systems.
... snip ...
Installation directories:
--prefix=PREFIX install architecture-independent files in PREFIX
[/usr/local]
--exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
[PREFIX]
... snip ...
Fine tuning of the installation directories:
--bindir=DIR user executables [EPREFIX/bin]
--sbindir=DIR system admin executables [EPREFIX/sbin]
--libexecdir=DIR program executables [EPREFIX/libexec]
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
--libdir=DIR object code libraries [EPREFIX/lib]
--includedir=DIR C header files [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc [/usr/include]
--datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
--datadir=DIR read-only architecture-independent data [DATAROOTDIR]
--infodir=DIR info documentation [DATAROOTDIR/info]
--localedir=DIR locale-dependent data [DATAROOTDIR/locale]
--mandir=DIR man documentation [DATAROOTDIR/man]
--docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE]
--htmldir=DIR html documentation [DOCDIR]
--dvidir=DIR dvi documentation [DOCDIR]
--pdfdir=DIR pdf documentation [DOCDIR]
--psdir=DIR ps documentation [DOCDIR]
Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
--without-warning run perl as perl without -w
--with-fmlconfdir=DIR use DIR instead of SYSCONFDIR/fml
--with-mlspooldir=DIR use DIR instead of /var/spool/ml
--with-fml-owner=USER use USER instead of fml
--with-fml-group=GROUP use GROUP instead of fml
--with-default-domain=DOMAIN use DOMAIN as the default ML domain
--with-default-hostname=HOSTNAME use HOSTNAME as the default hostname
--without-mime-component-filter disable mime_component_filter
--with-group-writable-fmlconfdir=DIR instead of \$fmlconfdir/config.gw
--with-ml-home-prefix-map=PATH use PATH as primary_ml_home_prefix_map
--with-group-writable-ml-home-prefix-map
例: NetBSD は /usr/pkg 以下へ。
% ./configure --prefix=/usr/pkg
例: FreeBSD は全部 /usr/local 以下でいい?
% ./configure
例: main.cf の置き場所として /etc/fml を使うなら、こうする(Debian だとこうするべし?)。
# ./configure --with-fmlconfdir=/etc/fml
checking for perl... perl
checking for perl... /usr/bin/perl
"checking whether optional useful commands are available or not"
checking for cc... /usr/bin/cc
checking for install... /usr/bin/install
checking for cksum... /usr/bin/cksum
checking for sum... /usr/bin/sum
checking for md5... /usr/bin/md5
checking for digest... /usr/bin/digest
checking for ls... /bin/ls
checking for tar... /bin/tar
checking for gzip... /usr/bin/gzip
checking for zcat... /usr/bin/zcat
checking for gzcat... /usr/bin/gzcat
checking for gunzip... /usr/bin/gunzip
checking for lha... no
checking for ish... no
checking for bzip2... /usr/bin/bzip2
checking for bunzip2... /usr/bin/bunzip2
checking for uuencode... /usr/bin/uuencode
checking for compress... /usr/bin/compress
checking for sendmail... /usr/sbin/sendmail
checking for makemap... no
checking for newaliases... /usr/bin/newaliases
checking for postfix... /usr/sbin/postfix
checking for postalias... /usr/sbin/postalias
checking for postconf... /usr/sbin/postconf
checking for postmap... /usr/sbin/postmap
checking for nkf... /usr/bin/nkf
checking for kakasi... no
checking for namazu... no
checking for pgp... /usr/bin/pgp
checking for pgp5... /usr/bin/pgp5
checking for pgpe... /usr/bin/pgpe
checking for pgpk... /usr/bin/pgpk
checking for pgps... /usr/bin/pgps
checking for pgpv... /usr/bin/pgpv
checking for gpg... /usr/bin/gpg
checking for gpgv... /usr/bin/gpgv
checking for gpgsplit... /usr/bin/gpgsplit
checking for less... /usr/bin/less
checking for more... /usr/bin/more
checking for w3m... /usr/bin/w3m
checking for spamassassin... no
checking for spamd... no
checking for spamc... no
checking for bogofilter... no
checking for clamscan... /usr/bin/clamscan
checking for vi... /usr/bin/vi
checking for ng... /usr/bin/ng
checking for mule... /usr/bin/mule
checking for emacs... no
checking for xemacs... no
configure: creating ./config.status
config.status: creating install.pl
config.status: creating config.sh
config.status: creating fml/etc/install.cf
config.status: creating fml/etc/main.cf
config.status: creating fml/etc/default_config.cf.ja
config.status: creating fml/etc/default_config.cf.en
config.status: creating fml/etc/site_default_config.cf
config.status: creating fml/libexec/loader
config.status: creating fml/bin/fmladdr
config.status: creating fml/bin/fmlalias
config.status: creating fml/bin/fmlconf
config.status: creating fml/bin/fmldoc
config.status: creating fml/bin/fmlhtmlify
config.status: creating fml/bin/fmlsch
config.status: creating fml/bin/fmlproj
config.status: creating fml/bin/fmlpgp
config.status: creating fml/bin/fmlpgp5
config.status: creating fml/bin/fmlpgpe
config.status: creating fml/bin/fmlpgpk
config.status: creating fml/bin/fmlpgps
config.status: creating fml/bin/fmlpgpv
config.status: creating fml/bin/fmlgpg
config.status: creating fml/bin/fmlgpgv
config.status: creating fml/bin/fml
config.status: creating fml/bin/makefml
enabled: perl -w
fml has been configured with the following options:
prefix: /usr/local
exec_prefix: ${prefix}
bindir: ${exec_prefix}/bin
sbindir: ${exec_prefix}/sbin
lib_dir: ${exec_prefix}/lib
libexec_dir: ${exec_prefix}/libexec
mandir: ${datarootdir}/man
datarootdir: ${prefix}/share
datadir: ${datarootdir}
fml process owner: fml
fml process group: fml
fmlconfdir: /etc/fml
ml_home_prefix_map: /etc/fml/ml_home_prefix
mlspooldir: /var/spool/ml
default domain: home.fml.org
default hostname: elena.home.fml.org
mime based filter: yes
Now you must run "make install" as user "root".
補足: いや、こういうタイプの設定をする OS の場合 /usr/local ではなく /usr 直下に入れるですかね?
# ./configure --prefix=/usr --with-fmlconfdir=/etc/fml
author's homepage is www.fml.org/home/fukachan/.
Also, visit nuinui's world :) at www.nuinui.net.
For questions about FML, e-mail <fml-bugs@fml.org>.