Mozilla Firefoxの覚え書き(2009/7/1現在)
ここではバージョンチェックによってFirefox 3.5上で動かなくなった拡張に関してを扱う。ビルド設定や新機能などは「Mozilla Firefoxの覚え書き(2009/6/29現在)」で書いている。
ものによっては近い内に対応版が出る可能性があるが、対処できたものについてはメモしておくことにする。
Moonlight
バージョン1.0系はそのままではインストールできないがwww.go-mono.com/moonlight-preview/
にあるバージョン2.0系のプレビュー版はそのままインストールできた。
Tab Mix Plus
tmp.garyr.net/forum/viewtopic.php?t=9864に対応版がある。
Personal Menu
addons.mozilla.org/ja/firefox/addons/versions/3895から3.5対応版がインストールできる...と思ったが、実際にはinstall.rdf内の記述が3.5対応でないためにインストールできなかった。*1
以下のシェルスクリプトにより修正作業を自動化する。実行に必要なコマンドは「FirefoxのLink And Forminfo拡張でリンク一覧から項目をダブルクリックしたときにそのURLを開かないようにする」のスクリプトと同様。
[任意]ファイル名: personalmenu-4.1.4-fx3.5-patch.sh
#! /bin/bash # Personal Menuの対応Firefoxバージョンを3.5系までにした.xpiファイルを生成 # 必要なコマンド: wget,unzip,zip,patch,zenity ADDON_URL=https://addons.mozilla.org/ja/firefox/downloads/file/48476/personal_menu-4.1.4-fx.xpi cd /tmp TEMPDIR=$(mktemp -d ${PATCH_NAME}.XXXXXXXXXXXX) cd ${TEMPDIR} die() { zenity --error --text "${1}" cd - > /dev/null rm ${TEMPDIR} -fr exit 1 } wget -O orig.xpi ${ADDON_URL} || die "Download failed" unzip orig.xpi || die "unzip failed" cat <<EOF | sed 's:$:\r:' > patch diff -ur personalmenu-4.1.4.orig/install.rdf personalmenu-4.1.4/install.rdf --- personalmenu-4.1.4.orig/install.rdf +++ personalmenu-4.1.4/install.rdf @@ -6,7 +6,7 @@ <Description> <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id> <em:minVersion>1.5</em:minVersion> - <em:maxVersion>3.2a1pre</em:maxVersion> + <em:maxVersion>3.6a1pre</em:maxVersion> </Description> </em:targetApplication> EOF patch -p1 < patch || die "patch failed" rm patch orig.xpi find -print0 | xargs -0 zip -9 out.xpi -@ OUTFILE=$(zenity --file-selection --save --confirm-overwrite --title "Output file" --filename ${HOME}/) if [ ${?} -eq 0 ]; then cp out.xpi ${OUTFILE} || zenity --error --text "copy failed" zenity --info fi cd - > /dev/null rm ${TEMPDIR} -fr
スクリプト中の「 | sed 's:$:\r:'」というのは(標準入力のデータに対して)改行コードをLFからCR+LFに変換する処理となる(対象のファイルはCR+LF改行で、catコマンドによりパッチを書き出しただけではLFの改行となるために記述)。
goo辞書
対応バージョンから外れているが、動作に問題はない。以下のシェルスクリプトにより修正作業を自動化する。[任意]ファイル名: goodic-1.0.3-fx3.5-patch.sh
#! /bin/bash # goo辞書の対応Firefoxバージョンを3.5系までにした.xpiファイルを生成 # 必要なコマンド: wget,unzip,zip,patch,zenity ADDON_URL=https://addons.mozilla.org/ja/firefox/downloads/file/49535/goo_dictionary-1.0.3-fx.xpi cd /tmp TEMPDIR=$(mktemp -d ${PATCH_NAME}.XXXXXXXXXXXX) cd ${TEMPDIR} die() { zenity --error --text "${1}" cd - > /dev/null rm ${TEMPDIR} -fr exit 1 } wget -O orig.xpi ${ADDON_URL} || die "Download failed" unzip orig.xpi || die "unzip failed" cat <<EOF > patch diff -ur goodic-1.0.3.orig/install.rdf goodic-1.0.3/install.rdf --- goodic-1.0.3.orig/install.rdf +++ goodic-1.0.3/install.rdf @@ -37,7 +37,7 @@ <!-- Firefox --> <RDF:Description em:id="{ec8030f7-c20a-464f-9b0e-13a3a9e97384}" em:minVersion="2.0" - em:maxVersion="3.5b4pre" /> + em:maxVersion="3.6a1pre" /> </em:targetApplication> </RDF:Description> </RDF:RDF> EOF patch -p1 < patch || die "patch failed" rm patch orig.xpi find -print0 | xargs -0 zip -9 out.xpi -@ OUTFILE=$(zenity --file-selection --save --confirm-overwrite --title "Output file" --filename ${HOME}/) if [ ${?} -eq 0 ]; then cp out.xpi ${OUTFILE} || zenity --error --text "copy failed" zenity --info fi cd - > /dev/null rm ${TEMPDIR} -fr
使用したバージョン:
- Mozilla Firefox 3.5
- Moonlight 2.0 Preview 6 (1.9.5)
- Tab Mix Plus 0.3.7.4pre.090516
- Personal Menu 4.1.4
- goo辞書 1.0.3
*1:ページ内の記述ではバージョン4.1.3について「1.5 - 3.6a1pre」と書かれているがダメだった