先日、さるクライアントに納品したMac OS X用アプリをCD-ROMにプレスする機会があった。かなり特殊かつ限定的な用途のアプリケーションなので、広く誰にでもおすすめ……という種類のものではないのだが、このアプリケーションの開発プロジェクトは、自分がプロジェクト管理者としてすすめた仕事でもあり、感慨もひとしお。開発チームにひたすら感謝である。
そこに、ひとつの厄介な作業が発生した。プレスCD-ROMマスターの承認作業である。
こちらからプレス業者に渡したCD-Rと、それを元にプレス業者が複製したCD-ROMマスターの内容が等しいことを検証して「承認」するという作業だ。編集者時代にも、雑誌付録CD-ROMの承認という作業があり……その頃は手作業でファイルの確認を行って承認していた記憶がある(というか、プレス業者様をひたすら信じていた)。
個人的に、その時代と同じことを行っていたのでは進歩がない。いまはプログラムでファイル同士の比較を行うのである(当時も、ツールを使って確認していた人もいることだろう)。
取扱説明書のPDFとか使用許諾書などのRTFのファイルやらはフラットな構造なので、そのままMD5などのチェックサムを求めれば、互いの内容が等しいことは証明できる。そういうAppleScriptを作成してあるので、そいつにドラッグ&ドロップするだけでMD5チェックサム(SHA-1だったか)を求められる。なにげに、メール経由やFTPサーバー経由の納品で、納品ファイル内容の同一性を保証するために頻繁に使っているツールだ。
だが、アプリケーションはそのかぎりではない。
アプリケーションはその中にフォルダ構造を持ちつつ1つのファイルとして扱われる「バンドル」であるため、そのままチェックサムを求めることができない。仕方なく、起動して主要な機能の検証を行ったりしてアプリケーションが等しいことを検証した。昨今のCD-ROMプレスの技術的な成熟度を鑑みれば、だいたいは、起動して動かして問題がなければ大丈夫と言ってよいものなのだが……根拠としては薄弱だ。
少々考えて、Zipで圧縮してフラットなファイルにしてからチェックサムをとってみたのだが、チェックサムが合わない(ーー;;; 少々ギョッとしたのだが、同一のアプリケーションファイルをコピーして試し、微妙にアーカイブ容量が変化してチェックサムが合わないというのはあり得ることだと分かった(ファイルを配置したHDDの容量が違ったからか? それとも乱数要素を元に何らかの圧縮を行っているのか)。いま思えば、Zipではなくtarで固めればよかったような気もするのだが……。
話を検証作業に戻そう。
その検証作業時には、結局アプリケーションの起動および実行確認を経てマスター承認したのだが、今後このような作業が発生した場合に、同様に手作業で承認するというのも、「えー、本当にこれでいいのかなー」という疑念が払拭できず、精神衛生上いまひとつよろしくない。
場合によっては、検証ツールの自作もやむなし……と思っていたのだが、よくよく調べたらAppleのサイトでそういうツールが配布されていた。それが、pcxapp2だ(PowerComp Xの略らしい)。何かの盆栽をイメージしたアイコンが非常にエキセントリックな印象を与えるが、Appleの開発系ツールのアイコンには変なものが多いので、その類いだろう。ファイルのツリー構造を比較するという意味で盆栽アイコンなのかもしれない。
もともとは、アプリケーションのローカライズ関連のツールであるらしい。ただ、CD-ROMマスタの承認作業にも当然のように使える。早く気付けばよかった。