Accueil > Développer sur Mac OS X > Trucs de pro pour PackageMaker

Trucs de pro pour PackageMaker

Par Andrew Anderson, le 16/09/2003

Traduit par Quentin, le 05/01/2004

D’un point de vue développeur, l’une des fonctionnalités les plus intéressantes de Mac OS X est la mise à disposition d’outils de développement libres et de classe mondiale par Apple. Ces outils rendent le développement de logiciels sur le Mac non seulement beaucoup plus facile que sur d’autres plates-formes, mais aussi accessibles à toute personne qui a le temps et la bande passante pour un téléchargement de 300 megabytes. L’un des moyens les plus faciles et les meilleurs pour utiliser ces outils est PackageMaker, un utilitaire qui vous aide à créer des paquetages d’installation.

Dans cet article je vous montrerai comment utiliser PackageMaker pour créer un paquetage d’installation basique. Je couvrirai aussi la manière d’améliorer le paquetage pour inclure quelques unes des fonctionnalités les plus avancées de PackageMaker.

Comment Fonctionnent les Paquetages d’Installation?

Mac OS X définit les paquetages comme une manière d’englober un nombre de fichiers en relation destinés à être utilisés ensemble plus tard. Deux des types de paquetages les plus populaires sont les paquetages d’installation et les reçus. Les paquetages d’installation sont destinés à porter des fichiers et assez d’informations pour installer ces fichiers aux endroits appropriés. Quand on double-clique sur un paquetage d’installation, il est ouvert par un programme de Mac OS X appelé Installation, qui lit les informations contenues dans le paquetage et utilise ces informations, ainsi que des informations données par l’utilisateur, pour installer le programme.

Installation crée aussi un paquetage de reçu, sauvé dans /Library/Receipt et comprenant des informations sur ce qui a été installé. Ces paquetages ont un format bien défini et pourraient être créés à la main avec un éditeur de texte et divers outils de ligne de commande, mais PackageMaker offre la plupart des fonctionnalités nécessaires à la crétion d’un paquetage d’installation dans une simple interface à base d’onglets. Cet outil est très d’une utilisation très intuitive et rend triviale la création de paquetages d’installation basiques, et beaucoup moins problématique celle des paquetages plus complexes.

L’Organisation des Fichiers

PackageMaker peut créer un paquetage d’installation à partir de tout ensemble de fichiers, même un fichier unique. Pour commencer, rassemblez quelques fichiers afin de créer un paquetage de test avec. N’importe quel ensemble de fichiers suffira. Les fichiers plus petits, cependant, sont plus faciles à manipuler.

Une fois que vous connaissez les fichiers que vous voulez utiliser, mettez-les tous dans un répertoire. Par exemple, si vous voulez avoir dix sous-répertoires chacun avec un fichier, PackageMaker gardera trace de la structure de r&eacte;pertoire exacte que vous avez créée. Souvenez-vous que vous ne devez inclure dans ce répertoire que les fichiers qui doivent être dans le paquetage et que les liens symboliques sont copiés comme liens et non comme les fichiers sur lesquels ils pointent.

Un Premier Paquetage d’Installation

Maintenant que votre répertoire de fichiers est prêt, il est temps de lancer PackageMaker, qui est livré avec les Outils de Développement d’Apple et est localisé dans /Developer/Applications. Il se lance comme toute autre application OS X et crée automatiquement un Paquetage Simple au démarrage. Afin de créer notre paquetage d’installation nous devons ajouter quelques informations au Paquetage Simple qui a été créé par PackageMaker.

Les informations dans PackageMaker sont séparées en cinq types différents, représentés par les onglets de PackageMaker:

  1. Description
  2. Files
  3. Resources
  4. Info
  5. Version

Pour notre premier paquetage d’indtallation nous avons juste besoin de remplir quelques champs d’information de ces onglets.

  • Dans l’onglet de Description nous devons remplir le champ de texte “Title”, dans notre cas nous mettrons “Paquetage de Test”.
  • Dans l’onglet de Files (Fichiers), nous devons remplir “Root” avec le répertoire source des fichiers que nous souhaiterions inclure dans le paquetage. Vous devriez donner à ce champ le nom du répertoire que nous avonc créé précédemment. Assurez-vous que “Compress Archive” est coché. Cette option diminuera la taille du paquetage d’installation et devrait être utilisée pour la plupart des paquetages que vous créez, en particulier si vous projetez de les distribuer sur Internet (l’exception à cette règle est le cas où la plupart de vos fichiers sont déjà; une compression supplémentaire ne vous fera pas gagner d’espace disque mais vous prendra beaucoup de temps).
  • Dans l’onglet d’Info nous devons remplir le champ de “Default Location” (Emplacement par Défaut) que l’installeur devrait utiliser. L’emplacement par défaut peut se situer n’importe où, dans le syst&aegrave;me de fichiers, tant que l’utilisateur y a les permissions, sauf dans les répertoires de travail (c’est-à-dire partout dans le répertoire /Users). Pour notre exemple nous choisirons comme emplacement par défaut
    “/Test/PackageMakerTest”.

Les autres champs sont optionnels, et nous nous y intéresserons un peu plus tard. Nous devons maintenant créer notre paquetage. Pour cela nous devons choisir “Create Package” dans le menu “Fichier”. Cela fera apparaître une boîte de dialogue qui vous demandera le nom du fichier que nous souhaiterions installer. Entrez “test1″, puis choisissez le bouton se sauvegarde. Une boîte de dialogue apparaîtra avec le statut de la construction suivi d’une confirmation que le paquetage a été construit. Notre paquetage d’installation est maintenant complet.

Tester Notre Installeur Simple

Si vous double-cliquez sur le paquetage que nous venons de créer, vous serez amené dans le programme Installation et pourrez voir les fonctionnalités que nous avons créées. Un reçu pour le paquetage evrait aussi apparaître dans /Library/Receipts avec le même nom que celui de l’installeur, dans notre cas “test1″. Vous pouvez examiner soit le paquetage d’installation soit le paquetage de reçu à partir de la ligne de commande ou en contrôle-cliquant et en choisissant “Show Package Contents”. Vous pourriez être intéressé de voir comment les fichiers des deux paquetages sont gérés.

D’Autres Fonctionnalités de l’Installeur

Pour notre paquetage d’installation simple, nous n’avons besoin que d’un sous-ensemble des fonctionnalités de PackageMaker. Il y a d’autres champs qui modifient le comportement ou affichent des caractéristiques de l’installeur, et quelques autres qui ont peu d’effet réel.

Les champs de “Version”, “Description”, et “Delete Warning” (avertissement d’effacement) dans l’onglet de “Description” ne sont pas utilisés durant le processus d’installation mais sont conservés à l’intérieur du paquetage. Bien qu’ils ne soient pas effectivement utilisés, Apple les a inclus en vue d’une possible utilisation future dans Installation ou d’autres programmes, plus que probablement un désinstalleur (d’où le “Delete Warning”).

Les champs “Display Name” (Afficher le Nom), “Identifier” (Identificateur), “Short Version” (Version Simplifiée), “Major” et “Minor” dans l’onglet de “Version” sont utilisés par l’installeur pour déterminer la version installée actuellement, quand il faut déterminer si vous installez une copie nouvelle, une mise à jour ou une version plus ancienne d’un paquetage d’installation donné. L’information du champ “Get-Info String” (champ d’information) est affichée dans le champ de version de la fenêtre “Informations” du Finder pour le paquetage. Associer des informations à la version, bien que non requis pour faire un paquetage, est utile, particulièrement si vous prévoyez d’offrir des mises à jour ou de nouvelles versions à l’avenir.

L’onglet “Info” présente le plus d’options, et des options utiles. Les options de cet onglet se réfèrent à ce que l’utilisateur doit faire, est capable de ou est autorisé à faire. Vous remarquerez probablement le comportement des champs de cet onglet par des paquetages d’installlation que vous avez utilisés dans le passé.

Les options de l’onglet “Info” sont

  • Restart Action: utilisée pour spécifier s’il est nécessaire ou recommandé de redémarrer ou d’éteindre pour compléter l’installation.
  • Authorization Action: utilisée pour spécifier si l’autorisation d’Admin, de root ou bien aucune autorisation n’est requise.
  • Allows Back Rev.: si cochée, une version plus ancienne du paquetage peut remplacer une version plus récente.
  • Install Fat: si cochée, le paquetage contient des fichiers comprenant du code pour différentes plates-formes.
  • Relocatable: si cochée, permet à l’utilisateur d’installer le contenu n’importe où dans le système de fichiers.
  • Required: si cochée, c’est un paquetage requis et non une installation optionnelle. C’est utilisé quand le paquetage fait partie d’un métapaquetage plus important.
  • Root Volume Only: si cochée, ce paquetage ne peut être installé que sur le volume de boot.
  • Update Installed Languages: si cochée, ne mettra à jour que les langues qui sont installées sur le moment.
  • Overwrite Permissions: si cochée, à la mise à jour, identifiera les permissions de fichiers des fichiers cibles à celles dans le paquetage.

L'Onglet Info

L’onglet “Info” contient de nombreuses options utiles

L’utilisation de ces fonctionnalités dépend évidemment du type de programme à installer et de la maniè dont le processus d’installation procède. Il est généralement conseillé d’utiliser aussi peu de fonctionnalités que possible puisque chaque nouvelle fonctionnalité demande du temps au cours du processus d’installation.

Fonctionnalités Avancées

Jusqu’ici nous avons ignoré l’onglet “Resources” de PackageMaker. Bien que cet onglet puisse sembler très simple, il offre en fait en même temps flexibilité et programmabilité aux paquetages d’installation construits avec PackageMaker. La valeur du champ “Resources” est l’endroit où se trouve un répertoire contenant des ressources. Ces ressources peuvent être des fichiers texte, des images, et des scripts; mais ils ont tous en commun de modifier le comportement de l’installeur.

Disons par exemple que vous n’aimez pas la première page affichée quand Installation fonctionne. Vous voulez modifier cette page “Bienvenue” afin d’inclure des informations à propos du logiciel à installer et la compagnie qui l’a écrite. Pour changer ceci vous devez créer un fichier qui contient le message de bienvenue que vous préférez et nommer le fichier Bienvenue.ext,où ext peut être n’importe quel fichier de type rtfd, rtf, html, txt. Mettez ce fichier dans le répertoire Resources et vous avez maintenant une nouvelle page “Bienvenue”.

Disons que vous voudriez aussi inclure une page après celle de “Bienvenue” qui affiche des informations de type “Lisez-moi”, concernant par exemple le fonctionnement du programme ou des informations sur le projet du logiciel. VOus devez créer un fichier qui contient le message lisez-moi que vous voulez afficher et nommer le fichier ReadMe.ext et mettre ce fichier dans le répertoire Resources.

Vous pourriez être en train de vous dire “J’ai un logiciel commercial et j’ai besoin d’une license par clics, comment puis-je faire ça ?” Et bien comme vous l’avez peut-être deviné, vous devez créer un fichier avec les infos de license dedans appelé License.ext, et le mettre dans le répertoire Resources.

Une autre ressource intéressante que vous pourriez ajouter est une image de fond. Vous appelez l’image Background.imageext, où imageext peut être jpg, tif, tiff, gif, pict, eps, ou pdf, et vous la mettez dans le répertoire Resources. Cela placera une image de fond sur tous les écrans qui apparaissent dans Installation.

Des Fonctionnalités Vraiment Avancées

PackageMaker a plusieurs autres fonctionnalités avancées qui donnent de la flexibilité aux paquetages d’installation. La localisation de la langue vous permet de distribuer le même paquetage en toute langue supportée par Mac OS X; l’inclusion de scripts vous permet de lancer des scripts shell durant le processus d’installation pour faire toutes sortes de choses dans le système; les métapaquetages, enfin, vous permettent de créer un paquetage de paquetages qui peuvent être installés ensemble. Bien que nous ne rentrions pas dans les moindres détails de ces fonctionnalités, voici quelques éléments sur la manière d’utiliser chacun d’eux pour créer des paquetages d’installation plus flexible.

  • Localisation de la LangueLocaliser Bienvenue, ReadMe, les pages de license et les images de fond est très direct. Créez tout d’abord vous fichiers normalement mais dans la nouvelle langue que vous voudriez voir l’installeur utiliser. Créez un répertoire appelé Language iez voir l’installeur utiliser. Créez un répertoire appelé Language.lproj dans le répertoire Resources et mettez les fichiers de cette langue dans le répertoire. Par exemple vous pourriez avoir un répertoire “English.lproj” ou “Spanish.lproj” dans le répertoire Resources principal. Si vous voulez qu’un ensemble de fichiers soit utilisé par défaut parmi les langues dont vous avez les répertoires, placez alors l’ensemble de fichiers par défaut dans le répertoire Resources de la même manière.
  • ScriptsLes scripts permettent au paquetage d’installation d’exécuter des actions avant ET après que l’installation a été lancée. Cela permet à l’installeur de faire toutes sortes de choses intéressantes, y compris trouver d’anciennes versions des programmes, trouver des versions d’autres programmes, copier des données provenant d’autres programmes, créer des utilisateurs, etc. Le mieux est que tout script shell peut être utilisé, aussi pouvez-vous avoir la flexibilité d’utilisation d’un simple script bash, d’un script Perl avancé, ou même d’un programme en ligne de commande lancé par script.Les scripts sont mis dans le réertoire Resource tout comme les licenses et les read me, et peut être de 6 types différents, variant selon qu’ils sont lancés avant (et appelés “pre”) ou après (appelés “post”) l’installation et s’ils sont lancés durant toute installation et mise à jour (appelés flights), seulement pendant les installations, ou seulement pendant les mises à jour.

    Les scripts sont appelés preflight, postflight, preinstall,
    postinstall, preupgrade et postupgrade.

    Nous ne rentrerons pas dans le détail de l’écriture de scripts dans cet article, mais ils fournissent un niveau très précis de contrôle sur votre processus d’installation, et peuvent aussi se r\’ev\’eler assez dangereux. Si vous voulez utiliser des scripts, faites attention et testez-les avant de les inclure dans votre paquetage d’installation.

  • MetaPaquetagesLes MetaPaquetages vous permettent de combiner plusieurs paquetages en un simple installeur, appelé metapaquetage. Supposons que vous avez un programme comprenant deux parties, une interface en ligne de commande (ILC) et une interface graphique utilisateur (IGU). Certains utilisateurs veulent installer l’ILC, alors que d’autres veulent l’IGU. Pour cela, nous créons deux paquetages, l’un avec l’ILC et l’autre avec l’IGU. Nous créons ensuite un “MetaPaquetage” dans PackageMaker en choisissant “File/New/MetaPackage”. Dans l’onglet “Package List”, nous pouvons alors ajouter nos paquetages ILC et IGU en cliquant sur “Add” puis en modifiant le nom du paquetage. Nous pouvons aussi modifier ce qui est installé par défaut avec le champ “Attribute”. Sélectionné, cela signifie qu’il est installé par défaut, désélectionné, il n’est pas installé par défaut, et requis signifie qu’il est requis durant l’installation du programme. Dans notr exemple, si l’IGU utilise l’ILC et que la pluaprt des utilisateurs ne veulent pas l’IGU, nous pourrions alors rendre l’ILC requise et l’IGU désélectionnée. Nous pouvons ensuite ajouter des ressources au metapaquetage de la même manière que pour un paquetage de base, y compris les licences, les fichiers read me, les messages d’accueil, les scripts et la localisation de la langue. Nous pouvons ensuite créer le metapaquetage de la même manière que nous avons créé le paquetage de base.

Produire des Metapaquetages

Produire des MetaPaquetages est une manière simple de combiner des paquetages d’installation multiples.

Les Cadeaux qui Arrivent

Comme vous pouvez le constater, PackageMaker est un outil simple mais puissant de création de paquetages d’installation. L’utilisation de PackageMaker pour les paquetages d’installation réduit le temps et le mal de crâne dus à la création d’installeurs, si vous devez les distribuer à votre utilisateur ou vos milliers d’utilisateurs. Les fonctionnalités avancées de PackageMaker rendent les installations, mais aussi les mises à jour et les patches faciles à créer et distribuer. Si vous êtes intéressés par plus d’informations sur PackageMaker et la distribution de logiciels Mac OS X en général, consultez l’article d’Apple sur la distribution de logiciels. Cet article
comprend des informations sur le placement d’images de fond, la création d’images disques, l’utilisation de scripts et de nombreux autres sujets.

Textes originaux en anglais sur O’Reilly : PackageMaker Pro Tips par Andrew Anderson

quentin Développer sur Mac OS X , ,

  1. Pas encore de commentaire
  1. Pas encore de trackbacks
Vous devez être identifié pour poster un commentaire