Multi-Safari

Une nouvelle intéressante est apparue dans mon aggrégateur RSS ce matin. Le code source du Web Kit de Mac OS X est maintenant ouvert à tous. Sur le nouveau dépôt CVS public se trouve un petit script qui m’a inspiré pour faire ce que j’aurais bien aimé faire depuis longtemps: rouler deux versions de Safari en même temps sur le même ordinateur. C’est maintenant chose faite, et voici comment vous pouvez en faire autant.

WebKitTools/Scripts/run-safari

This script sets up the DYLD_FRAMEWORK_PATH environment variable, which will cause the system loader to use the frameworks you built from your Xcode build products directory instead of the ones installed in /System/Library/Frameworks, so it will start the version of Safari from the Applications directory with the WebKit frameworks you just built.

J’ai réécrit le script d’une façon qui m’a permis de créer une version 1.2.3 de l’application Safari 1.2.3 utilisant Web Kit version 125.9 provenant de Mac OS X 10.3.8. Et elle fonctionne parfaitement avec Mac OS X 10.3.9 à côté de Safari 1.3 que j’ai sur mon iBook.

Pour faire marcher tout ça, vous devez avoir un ordinateur avec la version de Safari que vous voulez dupliquer. Voici la marche à suivre:

  1. Créez une copie de l’ancienne application Safari. C’est sur cette copie qu’on travaillera.

  2. Ouvrez votre nouvelle copie de safari pour voir l’intérieur du paquet avec le menu contextuel du Finder. Ensuite, dans le dossier « Content », créez un dossier « Frameworks ».

  3. Sur le disque de démarrage ayant l’ancienne version de Mac OS X, copiez la framework « WebKit » qui se trouve à « /Système/Bibliothèque/Frameworks » dans le dossier « Frameworks » que vous venez de créer dans l’application Safari.

  4. À l’intérieur du dossier « WebKit.framework » que vous venez de copier se trouve un autre dossier « Frameworks » qui contient deux frameworks : « JavaScriptCore » et « WebCore ». Déplacez les dans le dossier « Frameworks » que vous avez créé, juste à côté de « WebKit ».

  5. Maintenant que les frameworks sont à leur place, nous devons nous assurer que le programme les utilise. À l’intérieur du paquet de l’application, renommez le fichier binaire « Safari » qui se trouve dans « Contents/MacOS » et appelez le « TrueSafari ». Ensuite, nous allons placer un script appelé « Safari » à sa place. Le script lancera le programme « TrueSafari » après avoir changé la variable d’environnement DYLD_FRAMEWORK_PATH de façon à préférer les frameworks à l’intérieur du paquet de l’application.

    Téléchargez le script ici : Safari

  6. Il n’y a pas de sixième étape, cependant vous devriez renommez cette nouvelle application Safari pour quelque chose du genre « Safari 1.2.3 » pour éviter les situations mêlantes par la suite.

Vous pouvez maintenant double-cliquer sur votre nouveau vieux Safari. Quelqu’un d’autre a réussit à le faire marcher ?

Mise à jour : J’ai maintenant les versions 1.0, 1.2, 1.2.3 et 1.3 de Safari qui fonctionnent simultanément sur mon ordinateur. J’aimerais bien les partager, mais je doit m’abstenir vu la grosseur des fichiers et la bande passante que ça prendrait si ils venait à devenir populaire.


  • © 2003–2018 Michel Fortin.