2004/02/10
SqWebMail への patch です。
sqwebmail-3.6.0-noflowed-1.0.patch
format=flowed 抑止。
$sysconfdir/noflowedmsg が存在すれば、既定値では format=flowed を
使わない。
sqwebmail-3.6.0-ja_jp-add.tar.gz
3.6.0対応の日本語テンプレート への追加。
TIMEZONELIST の日訳。
グローバルアドレス帳関連のテンプレートの日訳。
o いずれも UTF-8 です。
o 下記 ldap_utf8 patch への対応を含む。
sqwebmail-3.6.0-auth_charset-1.0.patch
認証モジュールから渡されるユーザ fullname の文字コード変換。
1. $sysconfdir/authcharset があれば、そこから文字コードを読む。
2. なければ、システムロケールで決まる文字コード (下記
sqwebmail-3.6.0-charsetfix.patch 参照) を認証モジュールが
返す fullname の文字コードとみなす。
3. いずれでもなければ、変換なし。
この変更は本家 CVS に入りましたので、
3.6.3 以降 (4.0?) では当 patch を適用する必要がなくなります。
sqwebmail-3.6.0-ldap_utf8-1.0.patch
入力された検索条件を UTF-8 に変換してから検索する。
中間一致と後方一致のオプションを追加。
3.6.2 でのバグフィクスを含む。
この変更は本家 CVS に入りましたので、
3.6.3 以降 (4.0?) では当 patch を適用する必要がなくなります。
sqwebmail-3.6.0-charsetfix.patch
[注意] 巨大です (gzip 圧縮 485 KB)。
これで、
o テンプレートの日付表記に "%Y年%B%d日" などと書けます。
o CHARSET に shift_jis などもつかえます (たぶん)。
o 中文やハングルのメッセージも (キャラクタセットとフォントの対応す
る範囲で) 読めます。
変更点
======
以下の変更は本家 CVS に入りましたので、
3.6.3 以降 (4.0?) は上記の patch を適用しなくても有効になります。
o 日本語と中文の Unicode 変換モジュールをかなり根本的に書き直し。
ほぼ使用にたえるようになった。
o コリアンの Unicode 変換モジュールを追加。
o ロケールのエンコーディングと HTTP コンテンツのエンコーディングの
間での相互変換。
LOCALE のエンコーディングが日本語 EUC などであっても、
日付表示に日本語が使えるようになった。
o 本家の ISO-8859-7、UTF-7(IMAP) の修正を含む。
使いかた
========
1. sqwebmail-3.6.0-charsetfix.patch を当てる。
2. 以下を実行する (configure.in などを書き換えているので):
$ cd ソースのルート/unicode
$ aclocal
$ autoheader
$ automake --add-missing --foreign --copy
$ autoconf
$ cd ソースのルート/sqwebmail
$ aclocal
$ autoheader
$ automake --add-missing --foreign --copy
$ autoconf
* ARG_GNU_SOURCE が定義されていないというエラーがでる場合があり
ますが、無視していいみたいです。
3. configure、make、make install する。
4. LOCALE ファイルと CHARSET ファイルの内容を、望みのものにする。
テンプレートのキャラクタセットは CHARSET ファイルの指定に合わ
せる。
注意
====
* システムロケールのエンコーディングを検出するのに、
nl_langinfo(CODESET) または libcharset の locale_charset() を使
います。
* configure オプションに --enable-unicode は必須です。
o 環境依存の注意点など:
FreeBSD 4.x/5.x:
nl_langinfo(CODESET) は MIME preferred name
を返さないので、libcharset を使う必要がある。
なお、libcharset は ports の converters/libiconv に含まれている。
が、ports version が 1.9.1_3 よりも前の libiconv では日本語の
エンコーディングを正しく検出できない。
o libiconv が古い場合はアップデートする。
o configure オプションに --with-libcharset=yes を追加する。
o ports を作成する場合は LIB_DEPENDS に
charset.1:${PORTSDIR}/converters/libiconv
を追加する。
2003/05/08
SqWebMail の 日本語対応版 への patch です。
以下は、sqwebmail-3.3.7-p1.japan.1.4 で試しました。 3.5.1 にも適用できるとおもいます。 o sqwebmail-3.3.7-format.patch $prefix/html/言語/ に FORMAT というファイルを次の内容で作成すると、 その言語でのメッセージ作成の形式を変更できます: "flowed"、またはファイルなし: 元の動作 --- format=flowed にする。 "hard": textarea の幅で強制改行。format=flowed にしない。 その他: 強制改行しない。format=flowed にしない。 * この patch を適用すると cache の形式が拡張されますが、拡張前の cache があってもさしあたり影響ないはずです (旧形式の cache が ある間は patch 適用前の動作をします --- たぶん)。
以下は、3.3.7-p1.japan.1.4 と 3.5.1 (3.3.3.jis-v0.31 適用) で試しました。o sqwebmail-3.3.7-japan.ldaphtml.1.0.tar.gz 日本語用テンプレート (ldaplist.html、ldapsearch.html) の翻訳。o sqwebmail-3.3.7-ldaputf8.1.1.main.patch 入力された検索条件を UTF-8 に変換してから検索する。 * --enable-unicode 必須。 o sqwebmail-3.3.7-ldaputf8.1.1.patch 上記に加え、検索条件で中間一致を指定できるようにする。 - ldaplist.html のフォームで op1、op2、op3 に <option value="*=*"> という選択肢を追加することで指定できるようになります (上のテンプ レートにはこの選択肢ははいっていません)。上3点は 3.6.0 用 を作成しました。 o sqwebmail-3.3.7-hideldappw.patch グローバルアドレス帳の bind password を隠す (ユーザの背後から覗か れることを防ぐ)。o sqwebmail-3.3.7-jis-compl.patch 個人アドレス帳への追加の際に iso-2022-jp を通す処理。Ichikawa さ んのコードを流用してしまいました。3.6.0 日本語版には必要ないです。
以下は 3.5.1 (3.3.3.jis-v0.31 適用) で試しましたが、それ以前でも 日本語対応 patch が適用されていれば適用して問題ないとおもわれま す。3.6.0 日本語版には適用できません。o sqwebmail-3.3.7-jis-compl-tz.patch ログイン時の時間帯選択で iso-2022-jp を通すための安直な修正。o sqwebmail-ja-jp-TIMEZONELIST TIMEZONELIST 翻訳。3.6.0用を作成しました。o sqwebmail-3.5.1-jis-compl-he.patch 本家 3.4.0 あたりから MIME ヘッダエンコーディングまわりがすこし 変更されたことへのその場しのぎの対処。o sqwebmail-3.5.1-jis-compl-fl.patch 一覧で iso-2022-jp などの 差出/宛先 や 件名 が切れるの修正。* --enable-unicode 必須。
nezumio sqwebmail-3.5.1-1.8.0.nezumi.9.src.rpm 以上のものなどをまとめた Source RPM。古いです。* このまま rebuild しても特定の環境でしか動きませんので、 同梱の spec ファイルを修正する必要があるとおもいます。 8.0 となっていますが、バージョンなどには依存しないとおもいます。 * また同梱の spec ファイルで prefix が /usr/share/sqwebmail にな っていますのでご注意を (私の都合です。/usr/local/share/sqwebmail に戻しても問題ありません)。なお、いずれも十分にテストしたわけではありません。おかしいところなど あったらご指摘いただければ幸いです。