Namazu 2.0.22 pre4 公開2013年12月01日 06時11分57秒


Namazu 2.0.22 pre4 を以下に置きました。

・アーカイブファイル      1373022 バイト
  http://www.namazu.org/test/namazu-2.0.22pre4.tar.gz

・署名ファイル
  http://www.namazu.org/test/namazu-2.0.22pre4.tar.gz.sig

・MD5sumファイル
  http://www.namazu.org/test/namazu-2.0.22pre4.tar.gz.md5
  (66bf4472b6c4945e355915fa8d2cad42 *namazu-2.0.22pre4.tar.gz)

・sha1sumファイル
  http://www.namazu.org/test/namazu-2.0.22pre4.tar.gz.sha1
  (1a452a0be85770de75033b580e9273ad8def5eac *namazu-2.0.22pre4.tar.gz)

配布アーカイブには PGP による電子署名を行なっています。
署名は寺西忠勝の個人の鍵
(Key fingerprint =  474E 4D93 8E97 11F6 662D  8A42 17F5 52F4 10E7 D14E)
にて行なわれています。
この鍵は以下の PGP 公開鍵サーバ他より検索/取得が可能です。

http://pgp.nic.ad.jp/pgp/
http://pgp.mit.edu/
http://www.cl.cam.ac.uk/PGP/pks-commands.html

	
<<< 2.0.22pre3 からの主な変更箇所 >>>

- list/namazu.el, gnus-nmz-1.el のコーディング指定を追加
- pl/extzip.pl の Compress/Zip.pm チェック削除
- EPUB フィルタおよびサンプルデータの追加
- File::MMagic の削除と configure のメッセージ変更
- pltests の env.pl に File::MMagic のバージョン出力を追加
- OLE フィルタの Office 2013 対応の見直し
  - x64 版 Office 2013 の対応を見送り(Visio 2013 を除く)
 - PowerPoint 2013 の対応を見送り(x86, x64 版共に)
- tutorial 更新

pltests のサブテストを逐次実行に変更2013年12月01日 07時31分43秒

ActivePerl のバージョンが変わったためか、pltests のサブテストが並列に実行されてることに気づきました。

pltests のサブテストは順番に実行しないとまずいので、pltests/pltests.pl.in を修正し、逐次実行するようにしました。

Namazu for Windows 2.0.22 pre4 公開2013年12月01日 08時19分18秒

Namazu for Windows 2.0.22 を公開するにあたり、Namazu for Windows
2.0.22 pre4 を公開します。

(アーカイブファイル)
http://www.namazu.org/test/nmz2.0.22pre4.001-x64.zip

(署名ファイル)
http://www.namazu.org/test/nmz2.0.22pre4.001-x64.zip.sig

(MD5sumファイル)
http://www.namazu.org/test/nmz2.0.22pre4.001-x64.zip.md5
(32aa2d56e68abac0290b38a9f605fda2 *nmz2.0.22pre4.001-x64.zip)

(sha1sumファイル)
http://www.namazu.org/test/nmz2.0.22pre4.001-x64.zip.sha1
(06522fccdf4204d6e529c912c4be51696f282b7f *nmz2.0.22pre4.001-x64.zip)

配布アーカイブには PGP による電子署名を行なっています。
署名は寺西忠勝の個人の鍵
(Key fingerprint =  474E 4D93 8E97 11F6 662D  8A42 17F5 52F4 10E7 D14E)
にて行なわれています。
この鍵は以下の PGP 公開鍵サーバ他より検索/取得が可能です。

http://www.openpksd.org/
http://pgp.nic.ad.jp/pgp/
http://pgp.mit.edu/
http://pgp.dtype.org/

<<< 備考 >>>
* 本アーカイブに含まれるバイナリは、x64 版です。x86 では動作しません
  ので、ご注意ください。
* ActivePerl x64 版のビルド 1600 番台(Perl 5.16)専用です。
  x86 版や 1600番台以外では動作しませんので、ご注意ください。
* 本アーカイブのバージョンは 2.0.22pre4 ですが、2.0.22pre4 に対して
  以下の修正を加えています。
  - epub.pl フィルタの追加
  - テストデータの追加
  - pltests のサブテストが並列に実行されないように修正

PGP 公開鍵サーバ2013年12月01日 08時32分56秒

PGP 公開鍵サーバは、いろいろと閉鎖されていますね。

今、生きている公開鍵サーバを以下にリストアップしておきます。

Namazu for Windows 2.0.22 pre4 x64版の諸注意2013年12月02日 04時19分38秒

公開している Namazu for Windows 2.0.22 pre4 のバイナリは x64 版ですが、フィルタから呼び出す外部コマンドは、x86 版でも x64 版でも問題ありません。

ただし、ActivePerl 1600 番台 x64 版 を使うため、Perl モジュールはピュアPerl モジュールか、1600 番台の x64 版のものでなければなりません。 (x86 版、1600番台以外の Perl モジュールは動作しません。)

Perl 5.8.1 と 5.18.X 対応2013年12月15日 20時25分49秒

Perl 5.18 系だと make check で fail することがわかりました。

Perl 5.18 ではハッシュ周りに修正が入っているようです。

 > ハッシュのランダム化
 >
 > Perl のハッシュ関数が使う種はランダムになりました。 これは、
 > keys(), values(), each() のような関数が返すキー/値の
 > 順序は実行毎に異なるということです。

この修正の影響を受けており、Perl 5.8.1 の時のように環境変数 PERL_HASH_SEED に 0 を指定すると pass します。

PERL_HASH_SEED = 0 の有無の違いを調べたところ、 mhonarc.pl の each を使う部分があるのですが、

   # Format MHonArc X comment extracted headers as regular headers
   my $mha_header = "";
   my($fld_name, $fld_value);
   while (($fld_name, $fld_value) = each %$mha_fields) {
      $mha_header .= join('', $fld_name, ': ', $fld_value, "\n");
   }

each が返すキー/値の順番が実行毎に異なるため、$mha_header の 内容が変わってしまいます。

内容が変わるといっても、フィールドと値のペアの出現順が変わる だけですが、これによってフレーズが変わることになります。

ここのフィールドと値のペア間でのフレーズは、本来意味をなさない ものではありますが。

とりあえず実行毎に $mha_header の内容が変わらないようにすれば make check は通るようです。

mhonarc.pl のバグとは言えませんが、例えば以下のように修正しました。

   for my $key (sort keys %$mha_fields) {
       $mha_header .= join('', $key, ': ', $mha_fields->{$key}, "\n");
   }

なお、$mha_header の内容は実行毎に同じになりますが、ソートしているため、修正前のものを 5.18 より前の Perl で動かして作成した インデックスとは内容が異なるものと思います。

が、前述のように意味のないフレーズ部分ですので、大きな問題では ないものと思います。

この修正で PERL_HASH_SEED = 0 は 5.8.1 でも不要となりましたので、mknmz の 5.8.1 チェックも外しました。

これらの修正を行い、コミットしました。