Mutt: Debian Package


Mutt 1.4.2.1i-ja.1 を Debian GNU/Linux 用のパッケージにしました。

Mutt の一般的な情報は、本家(www.mutt.org) や、ja パッチ配布元(www.emaillab.org) から辿ってください。

目次


ダウンロードとインストール

安定版(Mutt 1.4.x) を使う場合は、以下のapt line を/etc/apt/sources.list に追加してください。

# for mutt-j 1.4.x
deb http://www001.upp.so-net.ne.jp/mab-jp mutt14/
#deb-src http://www001.upp.so-net.ne.jp/mab-jp mutt14/

開発版(Mutt 1.5.x) を使う場合は、以下のapt line を/etc/apt/sources.list に追加してください。

# for mutt-j 1.5.x
deb http://www001.upp.so-net.ne.jp/mab-jp mutt15/
#deb-src http://www001.upp.so-net.ne.jp/mab-jp mutt15/

その後、「apt-get update && apt-get install mutt-j」 を実行すれば、 必要なライブラリと共にインストールできます。

なお、source パッケージをapt-get するには、「deb-src」の行を有効にしてください。 個々のファイルが必要な場合は、ファイルの一覧からダウンロードできます。

設定に関するメモ

muttrc 以外の設定

環境変数 LANG、$HOME/.signature の文字コード、エディタの文字コードは、とりあえずeuc で統一しておきましょう。

環境変数 COLORFGBG="default;default" を設定しておいたほうがよいでしょう。

mkdir $HOME/tmp」しておく必要があります。(muttrc で設定してある場合)

muttrc の設定

個人の設定ファイルは、$HOME/.mutt/muttrc がよいでしょう。 最初は、/usr/share/doc/mutt-j/examples/sample.muttrc-tt 等を元に修正を加えていくと楽だと思います。

POP のパスワードを書いたファイルやアドレス帳は、別ファイルにして 「chmod 600」としておくべきです。 この場合、$HOME/.mutt/muttrc に「source $HOME/.mutt/aliases」 のように書いておきます。

個々の設定については /usr/share/doc/mutt-j/ 内の文書を参照してください。 日本語のマニュアルもあります。 まずは、/usr/share/doc/mutt-j/html/usage-japanese.ja.html に目を通しておきましょう。

自分の使っているmuttrc も参考にまでに。


以下は、パッケージを再構築する場合や自分でMutt をコンパイルする場合の関連情報です。 バイナリパッケージを使用する場合には気にする必要はないでしょう

パッケージの再構築

ソースパッケージの3つのファイルを同一のディレクトリに置いて、 以下のようなコマンドを実行します。

% dpkg-source -x mutt-j_1.4.2.1-2.dsc
% cd mutt-j-1.4.2.1
% dpkg-buildpackage -rfakeroot -us -uc

修正が必要な場合は、dpkg-buildpackage の前にやっておきます。

"-rfakeroot" のかわりに"-rsudo" とかでもOKです。

1つ上のディレクトリにdeb ファイルができているはずです。

参考:Debian 便利ワザ集 「5. とりあえずやってみよう - カスタムパッケージ作成」
( http://www.linux.or.jp/JF/JFdocs/debiantips.html#s5 )

Mutt 1.5.x のパッケージについて

mutt-j_1.4-2 からの主な変更点。

slang1-utf8-dev を使う際の注意点

UTF-8 な環境でMutt を使ってみようと思って、slang1-utf8-dev パッケージを使ってMutt をコンパイルしてみましたが、若干苦労したので、注意点等を載せておきます。

なお、以下の修正は、mutt-j_1.5.x のdebian/rules に含まれています。

1. libslang.so について

共有ライブラリ(libslang.so) の利用に関しては、問題はない。 slang1-utf8-dev パッケージをインストールし、./configure のオプション "--with-slang" を指定すれば、/usr/lib/libslang.so にリンクしてくれる。

2. slang.h について

ヘッダファイル /usr/include/slang.h の使い方には、少し工夫が必要。

2-a. 症状 :

slang1-utf8-dev とslang1-ja-dev の両方がインストールされたシステムで、 slang1-utf8-dev を使いたくてもslang1-ja-dev のslang.h をインクルードしてしまう

2-b. 原因 :

configure スクリプトは、(詳細な条件分岐を省略すれば、)/usr/include/slang/slang.h を見て、存在しなければ、/usr/include/slang.h を使うようになっている (たぶん)。

これに対して、debian では、slang1-utf8-dev は/usr/include/slang.h をインストールし、slang1-ja-dev は/usr/include/slang/slang.h をインストールする。

その結果、configure は、先に見つかった、/usr/include/slang/slang.h を使おうとしてしまう。

2-c. 対処法 :

make 時に「make "CPPFLAGS=-Iほげ -Iふが"」のようにするとか、あらかじめconfigure.in を修正してautoconf を実行するとか、いろんな方法が考えられるが、ここでは安直にMakefile を直接修正してみる。

  1. 必要なオプションをつけて./configure を実行し、Makefile を生成する。
  2. find . -name Makefile -exec grep -l "include/slang" {} \;」 のようなコマンドで、修正が必要なMakefile を確認する。
  3. リストアップされたMakefile それぞれについて、CPPFLAGSXCPPFLAGS の「-I/usr/include/slang」を削除する。
  4. これでmake 時にslang1-utf8-dev の/usr/include/slang.h をインクルードするようになるはず。

ソースツリー直下のMakefile を例にすれば、以下のような修正になる。

--- mutt-1.5.2.old/Makefile     Sun Dec 22 21:46:27 2002
+++ mutt-1.5.2.new/Makefile     Sun Dec 22 21:59:13 2002
@@ -146,7 +146,7 @@
 
-CPPFLAGS =  -I/usr/include/slang -I$(top_srcdir)/intl -I$(includedir)
+CPPFLAGS =  -I$(top_srcdir)/intl -I$(includedir)

3. make 時のエラーについて

woody では、上記の修正をしても、make 途中でエラーで終了する。 これは、/usr/include/slang.h 使うためには、UTF8 をdefine しておく必要があるため。

この点についても、CFLAGS"-DUTF8" を追加してmake するとか、いろいろな方法で回避できるが、ここでは、config.h を直接修正してみる。

config.h に「#define UTF8 1」を追加すればよいので、以下のようなコマンドを実行すればOK。

% echo "#define UTF8 1" >>config.h

なお、sarge のslang1-utf8-dev に含まれるslang.h はUTF8 をdefine していなくても利用できるので、この修正は不要。

4. その他

以上で修正はおしまい。あとは普通に、makemake install ができるはず。

上記の方法では、configure を実行するたびに、手作業でこれらの修正をしなければならない。 それが面倒な人は、以下のようなスクリプトを使えばよいだろう。

#!/bin/bash

for f in `find . -name Makefile -exec grep -l "include/slang" {} \;`
do
   echo -n "fixing $f ..."
   mv $f $f.bak
   cat $f.bak | sed "s# -I/usr/include/slang##" >$f
   rm -f $f.bak
   echo "done."
done

echo -n "fixing config.h ..."
echo "#define UTF8 1" >>config.h
echo "done."

TERADA Manabu: terada@mab-jp.com
2004-04-08