Domanda correlata su Unix / Linux: Come dovrei installare il software dal sorgente in modo da poter rendere la mia configurazione gestibile e riproducibile? Tuttavia, ho ulteriormente adattato questa domanda all'ecosistema Mac OS X.
Lavoro con molti software scientifici su Mac OS X (attualmente 10.7, ma anche 10.6). Al fine di massimizzare le prestazioni e accedere alle funzionalità più recenti, è spesso preferibile compilare il software dal sorgente.
Tuttavia, farlo è disordinato e può portare a problemi di configurazione. Da quando ho sviluppato anche in Linux, ho esaminato tutti i suggerimenti in Unix & Domanda Linux "Come compilare e installare programmi dalla fonte" e Unix & Domanda su Linux Dove devo inserire il software che compilo dalla fonte? per qualche consiglio. Queste domande sono un buon punto di partenza, ma non mi è chiaro come sia possibile gestire facilmente le dipendenze e la configurazione. Ad esempio, se costruisco il ramo di sviluppo di NumPy dall'origine, come devo rilevare, gestire e risolvere le dipendenze in modo che possa gestire la mia configurazione? Un gestore di pacchetti come MacPorts, Homebrew o Fink è un'opzione, ma se seguo questa strada per gestire la mia configurazione, come faccio a compilare i pacchetti in modo che possa usare quei gestori di pacchetti per gestire le dipendenze? C'è qualcosa di simile a qualcosa come checkinstall per questi gestori di pacchetti? Il mio obiettivo qui è rendere l'installazione e la disinstallazione del software relativamente indolore senza ingombrare la mia configurazione.
Mi piacerebbe anche rendere la mia configurazione riproducibile. Con ciò intendo che mi piacerebbe impostare un flusso di lavoro per l'installazione del software sulla mia macchina in modo da poterlo ripetere esattamente su una nuova installazione del sistema operativo. Esiste una best practice per questo? Quando si tratta di pacchetti standard in un gestore di pacchetti Linux, il metodo più semplice per ripetere un'installazione software consiste nel creare uno script contenente il apt-get install <package>
appropriato (o equivalenti). Tuttavia, durante l'installazione del software dal sorgente, ho potuto vedere questo metodo molto complicato. C'è un modo migliore?
Inoltre, per Mac OS X, molte applicazioni sono installate copiando un file *.app
in /Applications
o facendo doppio clic su un file *.pkg
. Posso installare questi da una riga di comando e scriptare l'installazione di questi pacchetti? Inoltre, c'è un buon modo per disinstallare questi pacchetti?