Domanda

Ho un programma (creato da un collega, portato da Linux ma compila con successo su Mac) che ho bisogno di dispiegare su molte workstation Mac. Attualmente lo facciamo spingendo i file PKG (non quelli che abbiamo creato).

La mia domanda generale (che altri potrebbero trovare le risposte a utili) è come faccio a fare il confezionamento di un programma / script della riga di comando in un file PKG che installa il programma? Il solito metodo per confezionare un file .App sembra documentato abbastanza bene, ma ci sono dettagli di scarso prendendo un programma arbitrario e avvolgerlo in un programma di installazione PKG.

Le pagine man per PKGBUILD (ecc) fanno molte ipotesi - che hai già costruito un'app con XCode, che hai intenzione di usare un .App e può generare plist, ecc. Tutto ciò che vogliamo fare è consentire al server Mac installare un programma non app e vuole utilizzare PKG.

Sarebbe meglio se la soluzione fosse scrittable in modo che ogni volta che aggiorniamo il programma possiamo facilmente creare un nuovo file PKG. Se una risorsa decente che ha già spiegato questo processo può essere collegato che ovviamente funzioni anche bene. La domanda qui: Effettuare pacchetti di installazione di OS X come un ID Pro - Xcode ID Developer Ready PKG non corrisponde alla necessità di installare semplicemente Un programma di base CLI

È stato utile?

Soluzione

Consiglierei pacchetti .

È scriptable in modo che possa diventare parte del tuo processo di costruzione e genera un bel mpkg per te.

Lo stiamo utilizzando per automatizzare il download di librerie di terze parti, quindi l'invocazione di marca per compilare, nonché l'installazione di file compilati.

come una nota, anche se questo genererà un MPKG, la maggior parte delle distribuzioni viene eseguita con le immagini del disco, quindi utilizziamo anche HDIUTIL per creare un'immagine scarsa, copiare il MPKG in esso, convertirlo in un DMG di sola lettura compresso e quindi distribuirlo.

Un esempio di questa procedura sarebbe:

1) Creare il file DMG RW sparse.

hdiutil create -size 100M -type SPARSE -volname "MyInstaller" -fs HFS+ MyInstaller.dmg.sparseimage
.

2) Attacca all'immagine. Nota Disco Disco e nome del volume montato dall'output (ex / dev / disk2s1 e / volumi / myinstaller)

hdiutil attach MyInstaller.dmg.sparseimage
.

3) Copia in MPKG Installatore

cp -R Packages/build/My_Packages.mpkg /Volumes/MyInstaller/
.

4) Detech dall'immagine.

hdiutil detach -force {mounted disk} (ex. hdiutil detach -force /dev/disk2s1)
.

5) Creare l'immagine di sola lettura compressa dall'immagine sapografica scrivibile.

hdiutil convert "MyInstaller.dmg.sparseimage" -format UDZO -o "MyInstaller.dmg" -ov -imagekey zlib-level=9
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top