1 votos

¿Puedo generar un paquete binario independiente a partir de una fuente HomeBrew, MacPorts, Fink?

La idea es la siguiente: Tener un Mac dedicado para construir los puertos. Este Mac tiene instalado HomeBrew, o MacPorts, o Fink. Compilar un port en este Mac, y producir un paquete binario que pueda ser distribuido a otros Macs (de la misma arquitectura). El binario distribuido debe funcionar en el Mac de destino sin que HomeBrew, o MacPorts, o Fink estén presentes.

Para aclarar: cuando digo "producir un paquete binario" No me importa el tipo de eso. "paquete" . No es necesario que sea un PKG . Estoy contento con un tgz o zip siempre y cuando contenga todo lo necesario para que la herramienta funcione correctamente (incluyendo el archivo de configuración, sample, man, libs, etc) y nada más. Las fuentes y las cabeceras no son necesarias para ejecutar la herramienta, por lo que deberían excluirse del paquete si es posible.

Yo no intentaría ensamblar manualmente todos los archivos necesarios para un paquete de este tipo. Así que me pregunto si hay una receta en cualquiera de HomeBrew/MacPorts/Fink para hacer algo así.

Tomemos como ejemplo el Midnight Commander. El objetivo es construirlo en un ordenador, y luego distribuirlo y utilizarlo en muchos Macs de destino. Sin embargo, esos Macs de destino no tendrían HomeBrew/MacPorts/Fink, ni Xcode o gcc. Son sólo Macs normales con MacOS instalado, nada más. Pero me gustaría ejecutar mi versión de Midnight Commander en todos ellos. Una semana más tarde puede que quiera añadir MariaDB, o cualquier otra herramienta que pueda ser construida desde el código fuente usando HomeBrew/MacPorts/Fink. De nuevo, lo construiría en un Mac, pero tengo la intención de ejecutarlo en muchos otros.

Los Macs de destino son ordenadores gestionados. Sus usuarios son sólo eso, usuarios. Las herramientas necesarias se construirían desde el código fuente en el Mac dedicado, y se proporcionarían como binario para los Macs de destino. Sí, podría instalar MacPorts o HomeBrew en esos Macs también y compilar lo que se necesita, en el lugar. Pero espero que esto se pueda evitar. Si no recuerdo mal, MacPorts ofrece algo como "make package" o "make pkg". Que es lo que me dio la idea de investigar más esta posibilidad.

Cualquier indicación o sugerencia es bienvenida.


Suplemento: La siguiente documentación me ha resultado muy útil. Si puedes indicarme lecturas similares, por favor hazlo. Especialmente si eso cubre una función similar en HomeBrew o Fink. MacPorts howto - CreateInstallers
Instrucciones en github

La atención NO se centra en cómo crear un paquete. El enfoque es en QUÉ archivos van en el paquete.

2voto

Oskar Puntos 1242

Claro, hay toneladas de herramientas para empaquetar archivos en MacOS y podrías elegir la que se ajuste a tus puntos de dolor específicos.

El mejor escrito que he visto sobre esto desde el punto de vista de "cómo empaquetar" es

A menos que tenga una gran flota de máquinas para gestionar, MDM y herramientas para orquestar el alcance / puesta en escena / instalación y Parcheando puede ser excesivo. Aquí hay una pista sobre una opción de código abierto.

No instalar puertos o brebajes en todas las máquinas tiene sus ventajas, como empezar a gestionar los problemas de la cadena de suministro de software y poder controlar cuándo y qué se instala y desinstala.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X