通常の Firefox ベースのブラウザを Developer Edition に変えるユーティリティ

未署名のアドオンのインストールや WebExtensions Experiments API の使用に関するロック解除された機能を持つ Firefox ビルドを配布しないという Mozilla およびディストリビューションのポリシーに同意できないため、通常の Firefox ビルドを「Developer Edition」バリアントに変換するツールが開発されました。デジタル署名なしでアドオンを使用できるようにします。

このツールの開発は、Firefox に必要な機能が ECMAScript コードで実装されており、どのバージョンの Firefox にも含まれていますが、設定された定数値に応じて実行時に有効になるという事実によって容易になりました。定数 (「MOZ_DEV_EDITION」、「MOZ_REQUIRE_SIGNING」) は、zip アーカイブ「/usr/lib/firefox/omni.ja」にある 1 つのファイル (「modules/addons/AddonSettings.jsm」) で定義されます。

提案されたユーティリティは、esprima-python を使用して必要なファイルを解析し、AST にパッチを適用し、jscodegen.py を使用してシリアル化します。 zip 形式の操作は、libzip へのバインディングである libzip.py によって提供されます。指定したライブラリは、対応する git リポジトリから手動でインストールすることをお勧めします。

さらに、unpin.py スクリプトに注目してください。このスクリプトを使用すると、多くのユーザーが使用する Wheel 形式の事前構築済みパッケージ内の依存関係のバージョンに対する制限「{」、「==」、および「~=」をアンバインドできます。これにより、デフォルト設定で pip 経由で目的のパッケージをインストールする際の自動ダウングレードを回避できます。

出所: オープンネット.ru

コメントを追加します