Questa guida non vuole essere un manuale sull'utilizzo di CVS, per il quale è
preferibile consultare la relativa pagina info oppure
Tipicamente, nel proprio
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
Ci sono alcuni moduli utili nel repository di CVS di Gentoo. Gli ebuild sono
contenuti nel modulo
# 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:
# cd gentoo-x86 # cvs update
Inoltre Gentoo offre servizi subversion per tutti coloro che preferiscono SVN
rispetto a CVS. Diversi progetti fondamentali come
# svn co svn+ssh://username@cvs.gentoo.org/var/svnroot/portage
Se si vuole usare CVS come albero primario per Portage, aggiungere le seguenti
linee al proprio
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
Nelle architetture supportate, bisogna anche avere
Si presume di essere pronti per aggiungere un nuovo pacchetto,
(Sostituire CVSROOT con il percorso del proprio CVS tree recuperato.) # cd $CVSROOT/app-misc(Aggiornare sempre prima di lavorare in una parte dell'albero CVS!) # cvs update # mkdir foo(A questo punto si aggiunge al repository CVS la directory per il pacchetto foo.) # cvs add foo # cd foo(È meglio mantenere gli ebuild in lavorazione esternamente all'albero CVS.) # cp /path/to/foo-1.0.ebuild ./(Assicurarsi che PORTDIR_OVERLAY sia impostato alla directory di CVS durante la creazione dei manifest.) # repoman manifest # ${EDITOR} metadata.xmlNon è più necessario avere una directory files # cvs add foo-1.0.ebuild ChangeLog files[Non dimenticarsi di creare un ChangeLog - guardare la pagina man per echangelog.] # echangelog "New ebuild for foo. Ebuild written by me. Fixes bug#XXXXXX."
Guardare la sezione
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?
# cd $CVSROOT/app-misc/foo # cvs update # cvs remove -f foo-1.0.ebuild
Ora è possibile effettuare il commit (guardare la successiva sezione Commit).
Usare sempre
[Assicurarsi che non ci siano file appartenenti a root prima di avviare repoman!] ("scan" percorre la directory corrente per gli scopi di QA. "full" è più completo.) # repoman scan("commit" esegue uno scan, poi esegue il commit, intanto aggiorna anche il Manifest. Assicurarsi di aggiungere un utile e dettagliato messaggio al ChangeLog di CVS...) # repoman commit
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
Host cvs.gentoo.org ControlMaster auto ControlPath ~/.ssh/master-%r@%h:%p ControlPersist 3600
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
L'infrastruttura di Gentoo permette agli sviluppatori di gestire le proprie
email.
Gli sviluppatori hanno accesso ad uno spazio web,
http://dev.gentoo.org/~$PROPRIONOME. Per ulteriori dettagli leggere