Safari 4と3を共存させたい
Safari 4の正式版が出た。
Safari 3から4にバージョンアップしない理由はあんまりないけれども、一応3を残しておきたい。
システムに異常が発生する可能性があるので、以下自己責任で。なお、Mac OS X 10.5(Leopard)以外は未検証。
基本的には前にやったのとほとんど同じ。ただし、Safari 3のスタンドアロン版を作ることにする。そのためには、Safari 4によって上書きされるフレームワークのバックアップを取っておく必要がある。
上書きファイルの確認
まず、Safari 4をインストールすることでどのファイルが更新されるのかを確認する。
パッケージファイルをダブルクリックしてインストーラを起動したあと、ファイルメニューから「ファイルを表示」を選択すれば、どんなファイルがインストールされるのかがわかる。
上書きされるフレームワークは以下のような感じ。
- JavaScriptCore.framework
- JavaScriptGlue.framework
- PubSub.framework
- SyndicationUI.framework
- Symbolication.framework
- Safari.framework
- WebKit.framework
- WebCore.framework
Safari 3.appの作成
続いて、/Applications/Safari.appを適当な場所にコピーして、名前をSafari 3.appにしておく。
Safari 3.appのパッケージ内を表示させて、Contents/Frameworksにフォルダを作り、前述のフレームワークをコピーしてくる。フレームワークは/System/Library/Frameworksと/System/Library/PrivateFrameworksに格納されている。WebCoreはWebKitの中に入っているので、そこから持ってくる。
続いて、Contents/MacOS/SafariをSafari 3にリネーム。
Contents/MacOS/Safariを新たに作って、中に↓のようなシェルスクリプトを書く。
#!/bin/sh APPROOT=${0}/../.. export DYLD_LIBRARY_PATH="$APPROOT/lib" export DYLD_FRAMEWORK_PATH="$APPROOT/frameworks" exec "$APPROOT/MacOS/Safari 3" "$@"
Contents/MacOS/Safariにはchmodとかで実行権限をつけておく。
これでスタンドアロン版が完成。一応できあがったものを別のディスクとかに待避しておく。
Safari 4インストール
インストールは普通にやるだけ。要再起動。