[ << ]
[ < ]
[ Home ]
[ > ]
[ >> ]
4. Aiuto per i nuovi sviluppatori
Indice:
4.a. Utilizzo del CVS
Introduzione
Questa guida non vuole essere un manuale sull'utilizzo di CVS, per il quale è
preferibile consultare la relativa pagina info oppure
/doc/it/cvs-tutorial.xml. Invece essa si focalizza in modo specifico
sull'uso di CVS e di Repoman nell'ebuild tree di Gentoo.
Configurazione
Tipicamente, nel proprio ~/.cvsrc dovranno esserci delle
voci simili a queste:
Codice 1.1: ~/.cvsrc |
cvs -q -z0
diff -u -B
checkout -P
update -d -P
|
Infine, ad alcuni utilizzatori di CVS piace usare la compressione (-z#).
Si chiede agli sviluppatori che non hanno una connessione dialup di usare -z0 -
con il contenuto del repository CVS Gentoo ed il carico di lavoro sullo stesso,
si noterà un effettivo incremento della velocità senza compressione.
Recuperare i moduli CVS/SVN
Ci sono alcuni moduli utili nel repository di CVS di Gentoo. Gli ebuild sono
contenuti nel modulo gentoo-x86. gentoo contiene i
file XML per il sito web, la documentazione, le cartelle e le immagini degli
sviluppatori, e altro ancora. gentoo-projects contiene diversi
progetti e generalmente rimpiazza il modulo cvs gentoo-src.
gentoo-src viene mantetenuto per ragioni storiche, per cui se lo si
sta ancora utilizzando si prega di migrare ad un modulo differente.
Codice 1.2: Recuperare gentoo-x86 |
# cvs -d username@cvs.gentoo.org:/var/cvsroot co gentoo-x86
|
Ogni volta, prima di lavorare nella struttura, è sempre una buona idea eseguire
un'aggiornamento per controllare i cambiamenti e prevenire eventuali conflitti.
È possibile aggiornare ogni singola sottocartella dell'albero nel caso non si
voglia attendere l'aggiornamento completo, però ogni tanto è buona prassi
aggiornare tutta la struttura:
Codice 1.3: Aggiornamento di gentoo-x86 |
# cd gentoo-x86
# cvs update
|
Inoltre Gentoo offre servizi subversion per tutti coloro che preferiscono SVN
rispetto a CVS. Diversi progetti fondamentali come portage e
baselayout adesso sono ospitati lì.
Codice 1.4: Recuperare il modulo portage |
# svn co svn+ssh://username@cvs.gentoo.org/var/svnroot/portage
|
Aggiornare Portage
Se si vuole usare CVS come albero primario per Portage, aggiungere le seguenti
linee al proprio /etc/make.conf, rimpiazzando you con il
proprio nome utente:
Codice 1.5: Cambiamenti al /etc/make.conf per usare CVS |
SYNC="cvs://you@cvs.gentoo.org:/var/cvsroot"
CVSROOT=":ext:you@cvs.gentoo.org:/var/cvsroot"
|
Sia che CVS venga utilizzato come albero primario di Portage, sia che non venga
utilizzato, è importante che cvs sia incluso nella variabile
FEATURES in /etc/make.conf. Ciò assicura che Portage
scarichi tutti i file elencati in SRC_URI all'interno dell'ebuild nel
momento in cui si effettua un digest.
Nota:
Siccome il checkout cvs non ha una cache dei metadati, il proprio portage
potrebbe diventare veramente lento.
|
Nelle architetture supportate, bisogna anche avere sandbox nella propria
variabile FEATURES per assicurarsi che gli ebuild non modifichino
direttamente il filesystem root.
Aggiungere/Rimuovere pacchetti
Si presume di essere pronti per aggiungere un nuovo pacchetto, foo, in
app-misc:
Codice 1.6: Aggiungere un pacchetto |
# cd $CVSROOT/app-misc
# cvs update
# mkdir foo
# cvs add foo
# cd foo
# cp /path/to/foo-1.0.ebuild ./
# repoman manifest
# ${EDITOR} metadata.xml
# cvs add foo-1.0.ebuild ChangeLog files
# echangelog "New ebuild for foo. Ebuild written by me. Fixes bug#XXXXXX."
|
Guardare la sezione Gentoo Metadata per
maggiori informazioni su metadata.xml.
A questo punto, è possibile effettuare il commit (guardare la successiva sezione
Commit). Ma volendo rimuovere foo-1.0 nel momento in cui è disponibile foo-1.1?
Codice 1.7: Rimuovere le vecchie versioni |
# cd $CVSROOT/app-misc/foo
# cvs update
# cvs remove -f foo-1.0.ebuild
|
Ora è possibile effettuare il commit (guardare la successiva sezione Commit).
Commit
Usare sempre repoman commit piuttosto che cvs commit. Repoman è
un'utilità di controllo della qualità (QA) che esegue controlli di base e crea i
file Manifest. Se una qualsiasi parte dell'output di repoman non è chiara,
consultare man repoman. In più, se si è stanchi di digitare la propria
password ripetutamente, keychain
(http://www.gentoo.org/doc/it/keychain-guide.xml) può essere d'aiuto.
Codice 1.8: Uso di repoman |
# repoman scan
# repoman commit
|
Velocizzare CVS up
Se si riscontra un'evidente latenza verso il server cvs, è possibile usare la
configurazione master slave di ssh, dove ci si connette all'altro server ssh
una volta sola e si fa in modo che esso esegua i comandi successivi su tale
connessione. In questo modo si risparmia l'overhead dovuto all'handshake
incrementando in toto le operazioni di checkout/commit di quasi 3 volte. Basta
aggiungere il pezzo di codice seguente alla propria configurazione
Codice 1.9: ~/.ssh/config |
Host cvs.gentoo.org
ControlMaster auto
ControlPath ~/.ssh/master-%r@%h:%p
ControlPersist 3600
|
4.b. Informazioni varie
Posizionare i file sui mirror
I distfile sono automaticamente prelevati dal sistema di Mirror di Gentoo.
Bisogna solamente tenere sotto controllo i propri distfile per eventuali errori
di scaricamento degli stessi. Leggere Distfiles Overview
Guide per esaurienti istruzioni a riguardo.
Mail e Web
L'infrastruttura di Gentoo permette agli sviluppatori di gestire le proprie
email. http://www.gentoo.org/proj/it/infrastructure/dev-email.xml
contiene le istruzioni per la configurazione della propria email @gentoo.org.
Gli sviluppatori hanno accesso ad uno spazio web,
http://dev.gentoo.org/~$PROPRIONOME. Per ulteriori dettagli leggere Configurazione dello spazio web
su dev.gentoo.org.
[ << ]
[ < ]
[ Home ]
[ > ]
[ >> ]
I contenuti di questo documento sono rilasciati sotto la licenza Creative
Commons - Attribution / Share Alike.
|