Guida all'installazione ed all'uso di Gentoo per Mac OS X

Contenuti:

1.Installazione

Requisiti di sistema 

Per installare Gentoo per Mac OS X si richiesti i seguenti programmi:

  • Mac OS 10.3 o seguenti
  • XCode Tools 1.2 o seguenti

Nota: Il programma XCode Tools può essere scaricato dall'Apple Developer Connection, previa registrazione gratuita.

Importante: Si consiglia caldamente d'installare l'X11 SDK contenuto in XCode.

Il programma d'installazione 

Per prima cosa è necessario scaricare il programma d'installazione di Gentoo per Mac OS X. Una volta terminato il download si dovrà fare doppio clic sull'icona del file dmg appena scaricato. In questo modo i suoi contenuti saranno mostrati all'interno di una finestra di finder e sarà visibile l'icona del programma d'installazione. Cliccare quindi sull'icona del programma d'installazione e seguire le istruzioni che compariranno sullo schermo.

Terminal.app 

Dopo che il programma d'installazione avrà completato il suo lavoro è necessario eseguire il programma Terminal.app (o un qualsiasi emulatore di terminale). Se Terminal.app è già in esecuzione sarà opportuno aprire una nuova shell/finestra affinchè siano trovati i programmi appena installati.

Attenzione: L'uso di una shell diversa dalla bash non è attualmente supportato, molto probabilemente essa non funzionerà. Per cambiare la shell predefinita usata da Terminal.app è necessario seguire il seguente percorso: Terminal->Preferences (nella barra del menu), selezionare l'opzione "Execute this command" e impostare come valore /bin/bash.

Aggiornare il Portage 

E' indispensabile mantenere aggiornate le informazioni relative ai programmi forniti dal portage; esse sono contenute all'interno di una struttura (chiamata portage-tree) posta all'interno della directory /usr/portage. Queste informazioni indicano al portage i programmi disponibili e le loro modalità d'installazione. Per essere sempre aggiornati sugli ultimi programmi disponibili è quindi importante mantenere sincronizzato il portage-tree.

Per continuare l'installazione è necessario ottenere i privilegi di root. Per farlo basta essere un amministratore del computer ed eseguire sudo.

Esempio 1: Acquisire i privilegi di root

$ sudo su
Password:

Per essere sicuri d'avere le ultime informazioni sui programmi disponibili sarà necessario sincronizzare il portage-tree con quello messo a disposizione da uno dei server di gentoo.

Esempio 2: Aggiornamento del portage

# emerge --sync

Configurazione 

Per prima cosa si deve indicare al portage la versione di OSX che è in uso. Il portage usa i file contenuti in /etc/make.profile per determinare quali programmi siano già forniti da Mac OS X, quali siano masked per la versione di OSX in esecuzione e per conoscere le opzioni di configurazione di default. Basterà scegliere uno dei profili forniti dal programma d'installazione creando il collegamento simbolico /etc/make.profile che punterà ad un profilo pre-costruito. Questa operazione è facile quanto l'esecuzione dello script di bootstrap.

Esempio 3: Esecuzione dello script di bootstrap

# sh /usr/portage/scripts/bootstrap-macos.sh

Per collegare il file di profilo manualmente si digiti il seguente comando, precisando il profilo che più si adatta al sistema.

Esempio 4: Creare un link simbolico al profilo per Jaguar/Panther

# ln -s /usr/portage/profiles/default-darwin/macos/10.3 /etc/make.profile

Esempio 5: Creare un link simbolico al profilo per Tiger

# ln -s /usr/portage/profiles/default-darwin/macos/10.4 /etc/make.profile

Nota: Degli utenti esperti possono anche azzardarsi a configurare ulteriormente il portage modificando le opzioni contenute in /etc/make.conf. Tutto ciò è altamente sconsigliato per gli utenti di livello medio.

Installare i programmi di sistema 

A questo punto è necessario fare un emerge dei programmi di sistema. In questo modo saranno installati i programmi che permetteranno al portage di funzionare correttamente.

Esempio 6: Installare il sistema

# emerge system

Ora Gentoo per Mac OS X dovrebbe essere pronto per l'uso.

2.Installare applicazioni usando il Portage

Installare applicazioni 

Per installare un programma presente nel portage si deve semplicemente fare il suo emerge. Il portage si preoccuperà di risolvere tutte le dipendenze richieste dal programma. In conclusione l'unica cosa da sapere è il nome del programma.

Esempio 7: Installare Lynx

# emerge lynx

Pacchetti masked 

Sarà possibile installare una qualsiasi combinazione di programmi che siano già stati testati ed aggiornati per macos. Attualmente solo un piccolo numero di programmi non sono masked. Se l'ebuild di un programma non ha ancora la parola chiave ppc-macos aggiunta si otterrà un messaggio simile a questo:

Esempio 8: Esempio di un programma masked

# emerge -p cowsay

 These are the packages that I would merge, in order:
 
 Calculating dependencies
 !! all ebuilds that could satisfy "cowsay" have been masked.
 !! possible candidates are:
 - games-misc/cowsay-3.03 (masked by: missing keyword)

Testare dei programmi 

E' possibile ignorare lo stato di masked di un programma, controllando di persona se è in grado di funzionare. Si sconsiglia agli utenti medi di eseguire queste operazioni, sono invece raccomandate alle persone che intendono aiutare gli sviluppatori testando personalmente dei programmi masked. Per farlo si deve semplicemente aggiungere la parola chiave "ppc-macos" all'interno dell'ebuild del programma. Per aggiungere la parola chiave "ppc-macos" ad un ebuild basta usare il comando 'ekeyword', fornito all'iterno del pacchetto 'gentoolkit-dev'.

Esempio 9: Installare gentoolkit-dev

# emerge gentoolkit-dev

Esempio 10: Aggiungere la parola chiave ppc-macos a un ebuild

# cd /usr/portage/games-misc/cowsay
# ekeyword ppc-macos cowsay-3.03.ebuild
# ebuid cowsay-3.03.ebuild digest

Se il programma si compila e funziona correttamente è buona norma segnalarlo su Gentoo Bugzilla (previa registrazione gratuita). La procedura consiste nell'apertura di un bug, assegnandolo al team di sviluppo di Gentoo per Mac OS X. Nel caso in cui il programma non funzionasse si consiglia comunque di seguire la medesima procedura, specificando gli errori riscontrati (solitamente si ottengono molti messaggi d'errore, si consiglia di copiare tutto il testo a partire dalla prima segnalazione d'errore).

Per la maggior parte dei programmi il cui funzionamento richiede X11 è necessario installare il pacchetto di sviluppo di X11. Se non lo si vuole installare durante la procedura d'installazione di XCode si può comunque effettuare l'operazione in seguito: esso è infatti installabile facendo doppio clic sul file X11SDK.pkg contenuto nella directory Packages del cdrom di XCode. Non è ancora possibile fare un emerge del portage usando il relativo ebuild. Per l'installazione di programmi che dipendono dal portage (come gentoolkit) è presente un metodo per aggirare il problema.

Attenzione: La keyword "macos" è obsoleta e ne è sconsigliato l'uso.

Programmi già installati 

Nel caso sia trovato un programmi già installato da Mac OS X si consiglia di segnalare il fatto aprendo un bug su Gentoo Bugzilla (previa registrazione gratuita). Sul proprio sistema è possibile aggiungere il nome del programma a /etc/portage/profile/package.provided, in questo modo il portage realizza che il programma è già installato.

Esempio 11: Aggiungere un programma a package.provided

# mkdir -p /etc/portage/profile/
# echo cat-name/package-x.y.z >> /etc/portage/profile/package.provided

Nota: Per vedere un elenco dei programmi che sono già installati dalla propria versione di Mac OS X si può consultare il file /etc/make.profile/package.provided.

Attenzione: La modifica di /etc/make.profile/package.provided non è consigliata, dato che il file è sovrascritto ogni volta che si aggiorna il portage-tree (usando il comando 'emerge --sync').

3.Usare il CVS

Problemi con i file system HFS 

Gli script nel CVS hanno problemi con i file system che non fanno distinzioni tra maiuscole e minuscole (detti quindi case insensive, l'opposto del case sensity). Si consiglia quindi di creare un file immagine con un file system case sentity in cui provare il portage tree del CVS (si consiglia di riservagli almeno 750 Mb di spazio). Per creare questa immagine di file system si può usare uno dei seguenti comandi:

Esempio 12: Creazione di un file immagine con file system UFS case-sensitive

(Sostituire 'gentoo-cvs.dmg' con il nome del file desiderato,
e 'Gentoo-CVS' con il nome del volume desiderato.)
$ hdiutil create -size 750m gentoo-cvs.dmg -volname Gentoo-CVS -fs UFS

Esempio 13: Creazione di un file immagine con file system HFS+ case-sensitive

(Sostituire 'gentoo-cvs.dmg' con il nome del file desiderato,
e 'Gentoo-CVS' con il nome del volume desiderato.)
$ hdiutil create -size 750m gentoo-cvs.dmg -volname Gentoo-CVS -fs HFSX

Attenzione: Per gli sviluppatori: repoman non funzionerà se ci sono degli spazi ne percorso del portage tree, non è consigliato l'uso di spazi nel nome del volume dell'immagine del CVS.

4.Disinstallazione

Script di disinstallazione 

Per disinstallare Gentoo per Mac OS X si può usare uno script di disinstallazione che permette di scegliere se rimuovere o meno i programmi installati con il portage di Gentoo per MacOs.

Esempio 14: Uninstalling Gentoo for Mac OS X

# sudo perl uninstall.pl

Nota: Per eseguire lo script di disinstallazione sono richiesti i privilegi di root.

5.Programmi disponibili

Panoramica 

Ci sono molti modi per vedere la lista dei programmi che sono stati marcati con la parola chiave 'ppc-macos', e che sono quindi considerati stabili su Mac OS X. Dato che lo sviluppo del portage per Mac OS X è molto attivo si consiglia di controllare frequentemente questa lista.

Ebuild recenti per Gentoo Mac OS X 

Presso il sito Gentoo Linux Fresh Mac OS X Ebuilds (che è fa parte del sito ufficiale Fresh Gentoo Ebuilds) si possono trovare svariate informazioni. Sono infatti disponibili, oltre alle informazioni di ogni ebuild, uno strumento di ricerca (con vari filtri applicabili) ed un servizio RSS che riporta gli ultimi ebuild disponibili (una lista dei possibili file RSS è disponibile presso Fresh Gentoo Ebuilds Feeds List).

Gentoo-Portage.com 

Gentoo-Portage.com è un sito non ufficiale che fornisce informazioni relative al portage tree (proprio come Fresh Gentoo Ebuilds), ma soprattutto mostra informazioni ancora più dettagliate per ogni pacchetto (come tutte le sue dipendenze).

6.Caratteristiche avanzate e problematiche

Protezione delle collisioni 

Gentoo per Mac OS X fornisce automaticamente una protezione dalle collisioni che evita al portage di sovrascrivere i file che non ha creato. Questa caratteristica può essere disattivata con la variabile d'ambiente FEATURES="-collision-protect".

Esempio 15: Consentire al portage di sovrascrivere file appartenenti a Mac OS X

# FEATURES="-collision-protect" emerge autoconf

Attenzione: Disattivare la protezione alle collisioni è molto pericoloso e può portare al non funzionamento dell'intero sistema.

emerge: command not found 

Il programma d'installazione di Gentoo per Mac OS X aggiorna il file /etc/profile aggiungendo /usr/lib/portage/bin alla variabile d'ambiente PATH. Per potere digitare emerge ... è necessario digitare source /etc/profile oppure, più semplicemente, uscire dalla shell e rientrarvi. Solo in questi modi sarà possibile eseguire tutti i programmi basilari del portage.

Errori con <library>.a 

Mentre si installano i file di <library>.a, è eseguito runlib per garantire che tutti i riferimenti alla libreria siano nel percorso appropriato. Quando un ebuild esegue il make install, tutti i files sono installati in /var/tmp/portage<package>/image piuttosto che nel file system principale (livefs). Questo significa che le librerie installate da un programma fanno riferimento a dei percorsi sbagliati. Questo problema sussiste solo con il kernel darwin e con i sui file <library>.a, attualmente il team di Gentoo per Mac OS X sta cercando una soluzione al problema.

Secondo la politica di sviluppo di Gentoo per Mac OS X, gli ebuild che installano librerie devono essere analizzati accuratamente prima di ricevere la parola chiave 'ppc-macos'. La maggior parte delle volte se una libreria non funziona ciò è dovuto a dei percorsi di riferimento errati. Per gli utenti più esperti ed intraprendenti c'è un piccolo trucco che risolve il problema: il comando ranlib. Esso infatti si preoccupa di sistemare, tra le altre cose, anche i riferimenti errati illustrati precedentemente.

Esempio 16: Usare ranlib per fare funzionare una libreria corrotta

(Sostituire '/usr/lib/libjpeg.a' con la libreria corrotta)
# ranlib /usr/lib/libjpeg.a

Le dipendenze del portage 

Alcuni programmi per essere installati richiedono la presenza del portage. Attualmente c'è un problema che impedisce al portage di riconoscersi come programma installato. Mentre il team di sviluppo di Gentoo per Mac OS X lavora per risolvere questo problema, c'è una soluzione temporanea. Infatti è possibile fare l'emerge di un programma senza installare le sue dipendenze; questo permette quindi di risolvere il problema indicato precedentemente. Si tratta però di un'operazione sconsigliata per qualsiasi altra dipendenza che non sia il portage.

Esempio 17: Ignorare le dipendenze durante un emerge

# emerge --nodeps gentoolkit


Ultimo aggiorn.:
2005-06-20
Alexander Plank
Author, Editor

Hasan Khalil
Author, Editor

Patrick Tescher
Author

Clément Varaldi
Author

Robin Perkins
Editor

Flavio Castelli
Traduzione

Sommario:  Questa guida illustra i passaggi necessari all'installazione ed all'uso del portage all'interno di Mac OS X.
- 2002 Gentoo.it - Domande, commenti e/o correzioni? Email gentoo-dev@gentoo.it.