COS'E` IL SISTEMA DARWINPORTS DarwinPorts e` una infrastruttura per la compilazione e l'installazione di software e per la creazione di pacchetti, progettata per abbracciare le stesse funzionalita` dei Ports di FreeBSD, mantenendo allo stesso tempo una estensibilita` per possibili futuri perfezionamenti. Attualmente DarwinPorts compila e funziona sui sistemi MacOS X 10.2 (Darwin 6.0), MacOS X 10.3 (Darwin 7.0) e MacOS X 10.4 (Darwin 8.0). Il sistema e` portabile ed e` scritto in TCL con un set limitato di estensioni in C. La guida ufficiale "DarwinPorts User Guide", attualmente solo in lingua inglese, e` disponibile presso: http://darwinports.opendarwin.org/docs Per una documentazione piu` dettagliata riguardo i processi interni all'architettura del sistema dei ports, puoi fare riferimento al file base/doc/INTERNALS. E` bene ricordare che DarwinPorts e` diviso in due componenti: la "darwin" ports infrastructure", che risiede nella subdirectory base/ ed e` l'unica componente necessaria del sistema, e la directory "dports", nella quale sono incluse tutte le descrizioni del software attualmente portato. Quest'ultima componente e` opzionale e la si puo` prelevare su richiesta tramite rete o si puo` usare la copia locale. (Leggi la documentazione su ${prefix}/etc/ports/sources.conf qui di seguito). INSTALLAZIONE Le istruzioni per l'installazione su piattaforme specifiche sono riportate in base/doc/README.platforms . Passi dell'installzione: 1. cd base/ ./configure Entra nella directory base/ ed esegui lo script di configurazione. Puoi passare anche dei parametri opzionali (leggi sotto). 2. make Esegui 'make' per compilare tutto il software necessario. 3. sudo make install Esegui 'sudo make install' per installare DarwinPorts nel sistema. 4. [opzionale] edit ${prefix}/etc/ports/ports.conf Nel file ${prefix}/etc/ports/ports.conf sono definite varie opzioni di configurazione per l'infrastruttura DarwinPorts. Se desideri cambiare i percorsi di installazione oppure la posizione dove sono contenuti i dati specifici dei vari ports, modifica le seguenti impostazioni: portdbpath Specifica il percorso contenente i dati specifici dei ports. prefix Specifica la directory di installazione dei ports. 5. [opzionale] edit ${prefix}/etc/ports/sources.conf Il file ${prefix}/etc/ports/sources.conf elenca la posizione e locale e remota delle gerarchie dei ports. Se l'argomento --with-dports-dir=DIR non e` stato specificato allo script di configurazione l'albero default dei dports (darwinports/dports, la copia dalla quale installi) verra` aggiunto a tale file. Tutto il codice necessario ed il TCL saranno compilati ed installati come segue: [Mac OS X 10.2] /System/Library/Tcl/darwinports1.0 [Mac OS X 10.3] /Library/Tcl/darwinports1.0 [Mac OS X 10.4] /Library/Tcl/darwinports1.0 [FreeBSD] /usr/local/lib/tcl8.3/darwinports1.0 - Libreria TCL per l'interfaccia con il Sistema DarwinPorts ${prefix} e` settato in /opt/local ma puo` essere cambiato posizionandosi nella directory base/ ed eseguendo ./configure specificando manualmente l'argomento --prefix ${prefix}/bin/port - Utility a riga di comando per costruire i ports ${prefix}/share/darwinports/ - Librerie TCL interne al sistema DarwinPorts I file seguenti sono utilizzati per la personalizzazione del sistema: ${prefix}/etc/ports/ports.conf - Impostazioni personalizzabili per l'utente ${prefix}/etc/ports/sources.conf - Lista dei sorgenti dei ports (luoghi da dove prelevare i dati) USO DEL COMANDO PORT Se non l'hai ancora fatto, aggiungi /opt/local/bin al tuo path (oppure ${prefix}/bin nel caso in cui hai scelto di installare DarwinPorts in un'altra destinazione). Se non sai come effettuare questa operazione e stai utilizzando Panther (OS X 10.3), aggiungi la seguente riga al file ~/.profile . Se il file non esiste, crealo. (Questa modifica e` necessaria anche se stai utilizzando una bourne shell su Jaguar.) export PATH=$PATH:/opt/local/bin Se invece stai utilizzando Jaguar (OS X 10.2), aggiungi la seguente riga al file ~/.cshrc . Se il file non esiste, crealo. (Questa modifica e` necessaria anche se stai utilizzando tcsh su Panther.) set path=($path /opt/local/bin) I cambiamenti avranno effetto solo dopo aver aperto una nuova shell. Il seguente comando crea ed installa un port: port install Per cercare un port specifico puoi digitare "port search". port search vi Per una completa documentazione puoi fare riferimento alle pagine di manuale del comando port(1). E` anche possibile effettuare operazioni su tutti i ports presenti nel sistema utilizzando il comando portall. Sostanzialmente possono essere specificati gli stessi argomenti del comando port, ma portall opera ricorsivamente su tutti i ports presenti in dports/ . CREARE NUOVI PORTS Un Port e` formato da una directory che contiene un Portfile e altri files associati ad esso. Al momento i soli files che sono inclusi nei ports sono files di patch, i quali saranno sempre mantenuti in modo tale da non occupare troppo spazio. Un Portfile e` un file di codice TCL, valutato da un interprete TCL inizializzato dal sistema DarwinPorts. I Portfiles hanno una sintassi estremamente chiara e diretta, composta da coppie di chiave/valore, che permette all'autore di utilizzare tutte le funzionalita` del TCL dove necessario. Un buon inizio e` leggere il file base/doc/exampleport e consultare le pagine di manuale di portfile(7), oppure la Guida a DarwinPorts presso: http://darwinports.opendarwin.org/docs .