pkgsrc/mail/p5-Mail-IMAPClient

pkgsrc でインストールした imapsync (pkgsrc/mail/imapsync) を動かしていたら、下のようなエラーが出ていた。

Use of uninitialized value $_ in uc at /usr/pkg/lib/perl5/vendor_perl/5.12.0/Mail/IMAPClient.pm line 2630.

調べてみると、imapsync が依存する Perl module である Mail-IMAPClient-3.23 (pkgsrc/mail/p5-Mail-ImapCleint) のバグで、3.24 では修正済みの問題らしい。

pkgsrc-2011Q1、pkgsrc-HEAD のどちらもこの問題に対する対応はされていないようだ。

いずれ pkgsrc/mail/p5-Mail-ImapCleint でインストールされるバージョンが上がれば解決する問題なので、手元にインストールされているファイルを修正して対応することにした。

--- IMAPClient.pm.orig
+++ IMAPClient.pm
@@ -2627,7 +2627,7 @@
if ( ref($v) eq "SCALAR" ) {
push( @ret, $$v );
}
-        elsif ( exists $SEARCH_KEYS{ uc($_) } ) {
+        elsif ( exists $SEARCH_KEYS{ uc($v) } ) {
push( @ret, $v );
}
elsif ( @args == 1 ) {

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です