Firefox や Thunderbird などの Mozilla アプリケーションの拡張機能は、基本的に ZIP アーカイブであるXPI 形式で配布されます。そのため、unzip
ユーティリティはそれを抽出できます。bsdtar
そうすることもできます。
META-INF
ただし、通常は署名ファイルが保存されるディレクトリがアーカイブに含まれている場合、ファイルの内容は正しく解凍されません。で解凍した場合にのみunzip
、拡張機能は Firefox にサインインしたものとして正しく表示されます。
テスト ケースを再作成する場合は、Hide Tab Bar With One Tabなどの署名付き拡張機能を両方のツールでダウンロードして解凍します。Firefox でこのリンクをクリックすると、拡張機能のインストールが提案されるので、代わりにcurl
orを使用することをお勧めします。wget
$ curl -LO 'https://addons.mozilla.org/firefox/downloads/latest/429664/addon-429664-latest.xpi'
$ mkdir bsdtar unzip
$ bsdtar -C bsdtar -xf addon-429664-latest.xpi
$ unzip -d unzip addon-429664-latest.xpi
$ diff -r bsdtar unzip
Files bsdtar/META-INF/manifest.mf and unzip/META-INF/manifest.mf differ
Files bsdtar/META-INF/mozilla.rsa and unzip/META-INF/mozilla.rsa differ
Files bsdtar/META-INF/mozilla.sf and unzip/META-INF/mozilla.sf differ
とは何がbsdtar
違うのですunzip
か? これはバグですか?