Gentoo Logo

[ << ] [ < ] [ 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

(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.xml
 Non è 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 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

[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

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 ] [ > ] [ >> ]


Stampa

Visualizza tutto

Aggiornato il 7 dicembre 2011

Oggetto: Questa sezione fornisce aiuto ed istruzioni ai nuovi sviluppatori.

Sven Vermeulen
Autore

Seemant Kulleen
Autore

Shyam Mani
Autore

Karl Trygve Kalleberg
Autore

Mike Frysinger
Autore

Alastair Tse
Autore

Paul De Vrieze
Autore

Nicholas D. Wolfwood
Autore

Marius Mauch
Autore

Daniel Black
Autore

Wernfried Haas
Autore

Chrissy Fullam
Autore

Łukasz Damentko
Autore

Daniel Robbins (Ritirato)
Autore

Markos Chandras
Autore

John P. Davis (Ritirato)
Autore

Tim Yamin (Ritirato)
Autore

Jorge Paulo (Ritirato)
Autore

Zack Gilburd (Ritirato)
Autore

Benny Chuang (Ritirato)
Autore

Erwin (Ritirato)
Autore

Jon Portnoy (Ritirato)
Autore

Carl Anderson (Ritirato)
Autore

Donny Davies (Ritirato)
Autore

Peter Gavin (Ritirato)
Autore

Dan Armak (Ritirato)
Autore

Owen Stampflee
Autore

Ciaran McCreesh (Ritirato)
Autore

Davide Cendron
Traduzione

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.