0 votes

Puis-je générer un package binaire autonome à partir d'une source HomeBrew, MacPorts, Fink?

L'idée est la suivante : Avoir un Mac dédié à la construction des ports. Ce Mac a HomeBrew, ou MacPorts, ou Fink installé. Compiler un port sur ce Mac, et produire un package binaire qui peut être distribué à d'autres Mac (de la même architecture). Le binaire distribué devrait fonctionner sur le Mac cible sans que HomeBrew, ou MacPorts, ou Fink ne soit jamais présent.

Pour clarification : quand je dis "produire un package binaire", je ne me soucie pas vraiment du type de ce "package". Ça n'a pas besoin d'être un PKG propre. Je suis content avec un archive tgz ou zip aussi, tant qu'elle contient tout ce qui est livré pour les bons répertoires pour que l'outil fonctionne correctement (y compris fichier de configuration, exemple, manuel, bibliothèques, etc) et rien d'autre. Les sources et en-têtes ne sont pas nécessaires pour exécuter l'outil, donc ceux-ci devraient être exclus du package si possible.

Assembler manuellement tous les fichiers nécessaires pour un tel package est quelque chose que je n'essaierais pas. Je me demande donc s'il existe une recette dans l'un des HomeBrew/MacPorts/Fink pour faire quelque chose comme ça.

Prenons Midnight Commander comme exemple. Le but est de le construire sur un ordinateur, puis de le distribuer et de l'utiliser sur de nombreux Mac cibles. Cependant, ces Mac cibles n'auraient pas HomeBrew/MacPorts/Fink, ni Xcode ou gcc. Ce ne sont que des Mac réguliers avec macOS installé, rien d'autre. Mais j'aimerais exécuter ma version de Midnight Commander sur chacun d'eux. Une semaine plus tard, je pourrais aussi vouloir ajouter MariaDB, ou tout autre outil qui peut être construit à partir des sources en utilisant HomeBrew/MacPorts/Fink. Encore une fois, je le construirais sur un Mac, mais j'ai l'intention de l'exécuter sur beaucoup d'autres.

Les Macs cibles sont des ordinateurs gérés. Leurs utilisateurs ne sont que ça, des utilisateurs. Les outils nécessaires seraient construits à partir des sources sur le Mac dédié, et fournis sous forme binaire pour les Mac cibles. Oui, je pourrais aussi installer MacPorts ou HomeBrew sur ces Macs et compiler ce qui est nécessaire, sur place. Mais j'espère que cela peut être évité. Si je me souviens bien, MacPorts propose quelque chose comme "make package" ou "make pkg". Ce qui m'a donné l'idée d'approfondir cette possibilité.

Toutes suggestions ou recommandations sont les bienvenues.


Supplémentaire : J'ai trouvé la documentation ci-dessous très utile. Si vous pouvez me diriger vers des lectures similaires, veuillez le faire. Particulièrement si cela couvre une fonction similaire dans HomeBrew ou Fink. Guide de MacPorts - CreateInstallers
Instructions sur github

L'accent n'est PAS mis sur comment créer un package. L'accent est mis sur QUELS fichiers vont dans le package.

1voto

Oskar Points 1242

Bien sûr, il existe des tonnes d'outils pour empaqueter des fichiers sur macOS et vous pourriez choisir celui qui correspond à vos points douloureux spécifiques.

Le meilleur guide que j'ai vu à ce sujet du point de vue du "comment empaqueter" est

À moins que vous ayez une grande flotte de machines à gérer, MDM et des outils pour orchestrer le ciblage / le déploiement / l'installation et le patching peuvent être excessifs. Voici une piste sur une option open source.

Il y a des avantages à ne pas installer des ports ou brew sur toutes les machines comme commencer à gérer les problèmes de chaîne d'approvisionnement des logiciels et être capable de contrôler quand et quoi installer et désinstaller.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X