# -*- rd -*-

= その他のプラットフォームへインストール --- その他のプラットフォームへのmilter managerのインストール方法

== このドキュメントについて

((<Ubuntu Linux|install-to-ubuntu.rd.ja>))、
((<CentOS|install-to-centos.rd.ja>))、
((<FreeBSD|install-to-freebsd.rd.ja>))以外のプラットフォーム
にmilter managerをインストールときのヒントを示します。プラッ
トフォームに依存しない一般的なインストール情報は((<インストー
ル|install.rd.ja>))を見てください。

== パッケージプラットフォームの検出

milter-managerはシステムにインストールされているmilterを自動
検出します。どのように検出するかはconfigure時に判断します。
configureの最後に出力される"Package Platform"が判断した検出
方法です。

  % ./configure
  ...
  Configure Result:

    Package Platform : debian
    Package Options  :
  ...

この例だと"debian"系のプラットフォーム用の検出方法を用います。

"unknown"となっている場合は、configureが判断に失敗したか、
milter-managerがサポートしていないプラットフォームかのどちら
かです。

もし、configureが判断に失敗しているのであれば、明示的に
"--with-package-platform"を指定することができます。

  % ./configure --with-package-platform=freebsd
  ...
  Configure Result:

    Package Platform : freebsd
    Package Options  :
  ...

また、--with-package-optionsを指定することで、付加情報を指定
することができます。付加情報は「名前1=値1,名前2=値2,...」と
いうように指定します。例えば、pkgsrcプラットフォームで起動ス
クリプトを/usr/pkg/etc/rc.d/以下ではなく、/etc/rc.d/以下にイ
ンストールしている場合は以下のようになります。

  % ./configure --with-package-platform=pkgsrc --with-package-options=prefix=/etc
  ...
  Configure Result:

    Package Platform : pkgsrc
    Package Options  : prefix=/etc
  ...

pkgsrcのために、特別に--with-rcddirオプションが用意してありま
す。このオプションを使うと、上述の設定は以下のようなオプショ
ンになります。

  % ./configure --with-package-platform=pkgsrc --with-rcddir=/etc/rc.d
  ...
  Configure Result:

    Package Platform : pkgsrc
    Package Options  : rcddir=/etc/rc.d
  ...

現在サポートしているプラットフォームはdebian, redhat,
freebsd(, pkgsrc)ですが、独自のプラットフォームを指定するこ
ともできます。

例えば、新しくsuseプラットフォームに対応するとします。

  % ./configure --with-package-platform=suse
  ...
  Configure Result:

    Package Platform : suse
    Package Options  :
  ...

これでsuseプラットフォームを使用することになりました。後は、
suseプラットフォーム用のmilter自動検出スクリプトをRubyで書く
だけです。スクリプトは
$prefix/etc/milter-manager/defaults/以下に"#{プラットフォー
ム名}.conf"という名前で作成します。今の例でいうと"suse.conf"
になります。

$prefix/etc/milter-manager/defaults/suse.confの中では、
milterを検出し、define_milterで検出したmilterを登録します。
milterの登録方法の詳細は((<設定|configuration.rd.ja>))を見て
ください。

また、インストール後に現在のプラットフォームを確認する場合は、
以下のようにします。

  % /usr/local/sbin/milter-manager --show-config
  ...
  package.platform = "debian"
  package.options = nil
  ...

この場合は、プラットフォームはdebianで、付加情報は指定されて
いないということになります。
