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
Copyright (C) 1993-2025 Ken'ichi Fukamachi mail:< fukachan at fml.org >