Archive for the ‘iconv’ tag
proftpd 1.3.2rc1 iconv パッチ
proftpd 1.3.1 に mod_clamav をインストールしようとしたら、rpmbuild 時にエラー発生。
ためしに、パッチを当てたソースから configure を行うも以下のような同様のエラー。
error: Installed (but unpackaged) file(s) found:
調べたら、proftpd.pc というファイルや libsupp.a が新たに生成されていたので、そのインストール先が spec ファイルにねぇということで怒られていました。そこを下のように %files に追加して rpmbuild 完了。
%files
・・・
%{_libdir}/proftpd/libsupp.a
%{_libdir}/pkgconfig/proftpd.pc
.mo .po ファイルも –enable-nls オプションで生成されるけど、nls オプションが微妙だし、–disable-nls にしますた。
ついでに、調べている時に ProFTPD のサイトで 1.3.2rc1 のリリースがあったので、1.3.2rc1 版の iconv パッチを作っておきました。
- 1.3.2rc1 用
proftpd-1.3.2rc1.patch.gz
RPM と SRPM は現在動作確認中です 作成完了しました。mod_clamav / NLSTパッチ付ですが。
proftpd 1.3.1 iconv パッチ
UTF-8 な日本語ファイルを FFFTP などでみると思いっきり文字化けしてる。
OS からも FFFTP からもやっぱり日本語ファイル名は文字化けなくみたいわけで・・・。
ということで、ProFTPD iconv() 文字コード変換パッチを使用していたのですが、Fedora 8 の ProFTPD の最新 Ver が 1.3.1 になり、1.3.1 では –enable-nls オプションをつけ、proftpd.conf に
UseUTF8 on
をつけたら UTF-8 の文字コードであっても表示はされるのだが、日本語ファイル名は文字化けのまま。
上記サイトの patch を当てようとおもったが、src/netio.c modules/mod_ls.c の部分が変更になっていてそのままでは当てられなくなっているので、patch に記述している分を手動で変更してみた。
変更後、rpmbuild で自分用 RPM を作成しインストール。問題なく UTF-8 な日本語ファイルも FFFTP で表示されますた。
rpmbuild で RPM を作るまでの行程は以下のとおり。
# mkdir /usr/src/redhat
# cd /usr/local/src
# yumdownloader –source proftpd
# rpm -Uvh proftpd-1.3.1-1.fc8.src.rpm
# cd /usr/src/redhat# cd SPEC
# vi proftpd.spec
※ %configure 部分を以下のように変更
<変更前>
–with-modules=mod_readme:mod_auth_pam:mod_tls \
<変更後>
–with-modules=mod_readme:mod_auth_pam:mod_tls:mod_codeconv:mod_df \# cd ../SOURCE
# bunzip2 proftpd-1.3.1.tar.bz2 ; tar xvf proftpd-1.3.1.tar
# cp ~/proftpd-1.3.1-iconv.patch ./
# patch -p0 < ./proftpd-1.3.1-iconv.patch
# tar cvf proftpd-1.3.1.tar proftpd-1.3.1 ; bzip2 -z proftpd-1.3.1.tar# cd ../SPEC
# rpmbuild -bb –target i686 proftpd.spec# cd ../RPM/i686
# rpm -Uvh proftpd-1.3.1-1.fc8.i686.rpm
これで、あとは proftpd.conf を編集。表示は SJIS 書き込み/読み込みは UTF-8 なので、
CharsetLocal UTF-8
CharsetRemote CP932
を追記。
一応、今回作った SRPM / RPM / patch をおいておきます。お好きにどぞ。
RPM
- proftpd-1.3.1-1.fc8.i686.rpm
proftpd-ldap-1.3.1-1.fc8.i686.rpm
proftpd-mysql-1.3.1-1.fc8.i686.rpm
proftpd-postgresql-1.3.1-1.fc8.i686.rpm
SRPM
patch
そして、今回 ProFTPD iconv() 文字コード変換パッチ を製作したT.Tsujikawa 氏に感謝。