Flujo de trabajo/herramientas para instalar la aplicación de línea de comandos en OS X (Yosemite o posterior)

Mantengo un conjunto de herramientas bioinformáticas de línea de comandos que distribuimos como fuente y binarios para Linux, Windows y OS X. Actualmente, la distribución binaria para OS X es solo un archivo zip que contiene directorios para los binarios y la documentación. Nuestra guía de instalación indica al usuario que descomprima el archivo, copie los archivos binarios en la ubicación deseada y actualice su RUTA para apuntar a los archivos binarios. Eso está bien para los usuarios expertos en línea de comandos, pero algunos usuarios nunca han oído hablar de /usr/local/bin y mucho menos de PATH. Nos encantaría tener un instalador que se parezca más al lenguaje OS X.

Crear un paquete de aplicaciones no parece funcionar porque nuestras herramientas son estrictamente de línea de comandos y necesitarán una sesión de terminal para usarlas. Parece que podríamos haber usado PackageMaker para crear un instalador, pero ahora está obsoleto.

¿Existe un instalador estándar actual para herramientas de línea de comandos en OS X, preferiblemente uno compatible con CPACK?

Respuestas (2)

El formato de paquete estándar es el formato "pkg". No se usa a menudo para aplicaciones, pero está bien para una utilidad solo para terminales.

Solo asegúrese de no tocar nada fuera de las rutas estándar ( /Library, /Applicationso /usr/local/) y estará bien.

Lo siento, tuve un error tipográfico en mi pregunta, quise decir PakageMaker no PackageManger. Sí, CMake es compatible con PackageMaker, pero PackageMaker está obsoleto desde Yosemite. Gracias por indicarme pkgbuild. Puede que tenga que crear mis propios scripts de CMake para usar pkgbuild.
Otra posibilidad: stackoverflow.com/a/33043862/2454476 (creando archivos .pkg en Linux).
O podría escribir una secuencia de comandos, Applescript sería bueno para la entrada del usuario, pero la secuencia de comandos de shell podría ser suficiente.

Es posible que desee echar un vistazo a EPM , Easy Package Manager.

Puede empaquetar Mac OS X pkg, así como RedHat RPM, Debian deby luego algunos formatos de paquete más, todos desde los mismos archivos fuente, inmediatamente después del paso de compilación.

Fue escrito originalmente por Michael Sweet, el autor de CUPS (que ahora trabaja para Apple), y aún lo mantiene.

La documentación está aquí:

EPM está disponible a través de MacPorts (aunque en una versión anterior, v4.1, mientras que la actual es v4.3).

Para usarlo en su Makefile, es tan fácil como agregar un objetivo adicional como este:

osx:
    epm -f osx -v -s doc/epmlogo.tif $(MY_PROJECT) 

Por supuesto, también puede usarlo de forma independiente (no desde Makefile) para empaquetar su software.

Requiere que cree una lista de archivos con sus rutas, permisos y alguna otra información meta que debe empaquetarse.