Comment créer un programme d'installation pour une application macOS?

4

Je souhaite créer un programme d'installation pour Apache Mesos for Mac. Je ne veux pas utiliser d'infusion car cela nécessite plusieurs étapes et une connexion Internet et un emballage permettent de créer une version définitive que nous pouvons utiliser, ainsi que de l'isoler des modifications de version.

De plus, Mesos a des dépendances sur java, git, autoconf, automake, libtool, subversion et maven.

Comment commencer à empaqueter toutes ces dépendances?

nouveau
la source
Je vais aborder la mécanique de ce que fait un paquet et les aspects bonus d'une réponse (ou modifier la réponse) - laissons la question comme un point fort - procurez-moi un paquet pour cet outil.
bmike
En outre - vous pouvez voir que ma réponse est juste un aperçu général dans lequel vous devrez approfondir, assimiler et peut-être poser une question de suivi si vous vous engagez dans l'une des voies. Espérons que cela sera utile si vous ne pouvez vraiment pas utiliser brasser pour faire les installations. C'est vraiment assez étonnant, sauf si vous devez faire beaucoup de paquets, cela pourrait être la solution pragmatique.
bmike

Réponses:

3

Pour un paquet simple dans lequel vous voulez juste emballer un dossier (ou trois) de fichiers, vous pouvez utiliser un outil rapide et facile et souvent faire de bons paquets.

Pour quelque chose de plus compliqué, vous aurez peut-être besoin d'un livre ou de deux didacticiels, ainsi que de la possibilité de disposer d'un système d'exploitation virtuel pour pouvoir tester votre package sur un MacOS vierge ou à tester.

Le meilleur livre que je connaisse sur l'emballage est celui-ci d'Armin Briegel

Les paquetages sur macOS peuvent contenir des scripts de pré-installation, plusieurs couches de fichiers et des scripts de post-installation. Le deuxième chapitre du livre traite de tous ces détails.

Dans votre cas, j'essaierais d'utiliser une ressource de packaging communautaire telle que la recette AutoPKG pour chaque dépendance que vous pouvez trouver et, espérons-le, mesos elle-même:

Voici une très belle liste de recettes de base que vous pouvez examiner et inspecter pour apprendre à superposer de nombreux fichiers ou à démonter un simple package par rapport à un complexe:

Si tout ce git, script et outils est trop d'apprentissage (pour toujours ou juste pour l'instant), vous pourriez aussi faire bien pire que de vous procurer un excellent outil pour vous aider à simplement construire le paquet manuellement en utilisant une application pour vous guider dans le processus:

bmike
la source