Gentoo Logo

Overlay Gentoo: Guida per gli Sviluppatori

Indice:

1.  Introduzione

I destinatari

Questo documento è stato scritto per gli sviluppatori e utenti di Gentoo che vogliono dare il proprio contributo. Se si vuole semplicemente iniziare a scaricare ed usare gli overlay, è meglio consultare la Guida utente agli Overlay di Gentoo.

Chi può usare overlays.gentoo.org?

Ogni progetto Gentoo, o ogni sviluppatore Gentoo, può avere un proprio overlay ospitato su (git.)overlays.gentoo.org, con un RSS alimentato dal changelog incluso sul planet di overlays.gentoo.org.

Qualsiasi utente può scaricare e usare i contenuti di qualunque overlay ospitato. Se uno sviluppatore lo desidera, può concedere il diritto di scrittura sul proprio overlay agli utenti.

Cosa può offrire overlays.gentoo.org?

Il servizio (*.)overlays.gentoo.org attualmente offre:

  • Trac (un ambiente wiki con navigatore di versioni incorporato), per creare e mantenere rapidamente documentazione per il proprio overlay basato su Subversion
  • La pubblicazione del changelog per il proprio overlay sulla homepage di o.g.o, in modo che chiunque sia interessato può vedere come si sviluppa il progetto
  • gitweb - fornisce un'interfaccia web completamente matura per visualizzare i repository Git.

... tutto ospitato sulla sicura, protetta da backup, infrastruttura Gentoo, amministrata dal team Infrastruttura Gentoo (hardware / base OS) e dal team Gentoo Overlays (wiki / VCS / ACL).

Ciascun overlay ha liste di autenticazione separate per Trac, Subversion e Git. Non è assolutamente un problema dare a qualcuno l'accesso in scrittura solo per Trac (ad esempio per scrivere documentazione) senza dare l'accesso in scrittura a Subversion.

Perché si dovrebbe usare overlays.gentoo.org?

Non è necessario. Non è assolutamente necessario avere un overlay, e, nel caso lo sviluppatore ne avesse già uno, è assolutamente libero di ospitarlo altrove. Non è necessario ospitare un overlay su o.g.o affinché questo sia considerato "ufficiale".

Il vantaggio di usare overlays.gentoo.org è che tutti gli strumenti sono già pronti all'uso. Non è necessario amministrare un proprio server o preoccuparsi degli aggiornamenti software, in quanto ci pensano i responsabili degli Overlay.

Quando overlays.gentoo.org non si dovrebbe usare?

Lo scopo di o.g.o è aiutare a colmare il divario tra sviluppatori e utilizzatori. Gentoo è una distribuzione basata sulla comunità, ed come tale crede che i propri utenti siano una parte fondamentale della comunità così come lo sono gli sviluppatori.

Tutti gli overlay ospitati su o.g.o sono disponibili per il download e l'uso da parte di tutti gli utenti. Sta agli utenti scegliere quale software installare sui propri computer, e la scelta include la possibilità di scegliere l'overlay di uno dei sviluppatori. Qualche utente prenderà decisioni sbagliate, che porteranno al crash del suo computer. Potranno persino finire con l'incolpare Gentoo come risultato. Ciò è normale; questa gente probabilmente va comunque in giro a incolpare tutti tranne loro stessi per i loro errori, e probabilmente non c'è nulla da fare per cambiare questa situazione. Ma questo non dà comunque a nessuno degli sviluppatori il diritto di scegliere per loro.

Gli utenti sono liberi (di fatto sono incoraggiati) a fornire riscontri costruttivi su qualsiasi cosa che abbia a che fare con Gentoo, inclusi tutti gli overlay ospitati su o.g.o.. I feedback possono arrivare tramite bugs.g.o, via email al team del proprio progetto o direttamente allo sviluppatore, tramite i forum, o tramite IRC. Non si sta parlando di utenti "fraudolenti"; non c'è tempo per loro, e nessuno si aspetta che ne abbiano gli sviluppatori.

Avvertenza: Se non si vuole che gli altri utenti usino il proprio overlay, e / o non si vuole essere contattati da altri utenti in merito ai contenuti del proprio overlay, allora non usare o.g.o per ospitarlo, oppure rimuovere il proprio overlay dall'elenco degli overlay (repositories.xml).

o.g.o. aveva delle restrizioni per quanto riguardo all'impossibilità di essere $UPSTREAM per i pacchetti. Questa restrizione è stata corretta. Ora viene offerto l'hosting come $UPSTREAM, ma solo per pacchetti che sono specifici per Gentoo o importanti per il suo funzionamento. Altri servizi di hosting risultano essere più adatti, per esempio SourceForge.net, Berlios, GentooExperimental.org di Patrick, GitHub o Gitorious.

2.  Richiedere un Overlay

Introduzione

Ci sono tre tipi di overlay - overlay per "progetti", overlay per "sviluppatori" e overlay per utenti. La sola differenza tra di loro è la responsabilità e il tipo di account.

Importante: Prima di chiedere un overlay, assicurarsi di aver letto il Documento delle Politiche d'utilizzo. In esso si precisa chiaramente cosa è permesso e cosa no, e quali saranno le proprie responsabilità.

Overlay per i Progetti

Gli overlays per "progetti" sono overlay per i progetti ufficiali Gentoo. Un esempio è l'Overlay PHP.

Un progetto ufficiale Gentoo è un progetto che ha una pagina su www.gentoo.org, e ha un capo eletto. (Questa definizione viene dal documento di metastruttura). I(l) capo(i) progetto sono responsabili per l'overlay del progetto stesso, inclusi i suoi contenuti, e per ogni altro problema che esso causi ad altri progetti e sviluppatori Gentoo.

Per richiedere un overlay SVN di progetto il capo progetto deve solo entrare dentro #gentoo-overlays su IRC e chiedere la creazione di un overlay. Oppure, se lo preferiscono, devono inviare una email a overlays@gentoo.org. Il team Overlays curerà tutto il resto, incluso il garantire l'accesso in scrittura a tutti i membri del proprio progetto (così come elencati nella propria pagina di progetto).

Per richiedere un overlay Git di progetto, basta visitare il sito git.overlays, e seguire le istruzioni di configurazione, inviando via e-mail il template completato a chi di dovere.

Per un overlay SVN Il team Overlays:

  • creerà l'overlay per il progetto (sito trac + svn)
  • aggiungerà il feed RSS dell'overlay del progetto all'homepage o.g.o.
  • creerà un account o.g.o per lo sviluppatore che ha fatto la richiesta, se non ne ha già uno
  • gli darà accesso in scrittura al Trac wiki e al repository Subversion, se necessario
  • darà accesso in scrittura a tutti i membri del progetto che già hanno un acconto o.g.o.

Per un overlay Git Il team Overlays:

  • creerà l'overlay per il progetto (git, gitweb, no trac)
  • aggiungerà il feed RSS dell'overlay del progetto all'homepage o.g.o.
  • creerà un account git o.g.o per lo sviluppatore che ha fatto la richiesta, se non ne ha già uno
  • gli darà accesso in scrittura al repository degli overlay Git
  • darà accesso in scrittura a tutti i membri del progetto che già hanno un acconto o.g.o.

Overlay per lo Sviluppatore

Gli overlay per "sviluppatori" sono proprietà degli sviluppatori Gentoo individuali. Un esempio è l'overlay di beandog.

Se si possiede un indirizzo email @gentoo.org, e se si ha superato il quiz sull'ebuild, allora è possibile avere il proprio overlay personale per sviluppatori su o.g.o.

Per richiedere un overlay SVN come sviluppatore, basta entrare in #gentoo-overlays su IRC e chiedere che venga creato un overlay per sé. Oppure, se lo si preferisce, inviare un email a overlays@gentoo.org.

Per una richiesta SVN il team Overlays:

  • creerà l'overlay dello sviluppatore (sito trac + svn)
  • aggiungerà il feed RSS del suo overlay all'homepage o.g.o.
  • creerà un account o.g.o per lo sviluppatore, se non ne possiede già uno
  • gli darà accesso in scrittura al Trac wiki e al repository Subversion

Per una richiesta Git il team Overlays:

  • creerà l'overlay dello sviluppatore (git, gitweb, no trac)
  • aggiungerà il feed RSS del suo overlay all'homepage o.g.o.
  • creerà un account o.g.o per lo sviluppatore, se non ne possiede già uno
  • gli darà accesso in scrittura al repository degli overlay Git

Una parola sugli account

Siccome o.g.o è strutturato per supportare una miscela di sviluppatori e semplici utenti Gentoo, non vengono creati account 'reali' a livello di sistema sull'host o.g.o.

Importante: Gli sviluppatori *non* hanno accesso a o.g.o tramite SSH.

3.  Lavorando con il proprio overlay

Introduzione

È possibile accedere al proprio overlay subito dopo la sua creazione. Gli overlay di progetto e di sviluppatore hanno diversi URL, così ognuno può distinguere l'uno dall'altro, ma sono identici per qualsiasi altro aspetto.

*Non* ci sono restrizioni in lettura per overlay o wiki. Ognuno ha pieni diritti di accesso in lettura su tutti gli overlay e i wiki. Se si necessita di un overlay 'segreto' di qualche tipo, allora o.g.o non fa per voi.

Accedere agli Overlay dei Progetti

Se il proprio progetto è chiamato 'foo', il proprio sito Trac wiki avrà il seguente indirizzo: http://overlays.gentoo.org/proj/foo/

Per effettuare il checkout del proprio repository di Subversion, usare:

Codice 3.1: Effettuare il checkout del proprio overlay per progetti

svn co https://overlays.gentoo.org/svn/proj/foo/

Nonstante sia possibile effettuare azioni in sola lettura tramite l'insicuro protocollo HTTP, bisogna effettuare tutti i commit tramite HTTPS. Se si necessita di passare da una modalità all'altra, usare:

Codice 3.2: Passare il proprio overlay di progetto da HTTP a HTTPS

svn sw --relocate http://overlays.gentoo.org/svn/proj/foo/ https://overlays.gentoo.org/svn/proj/foo/

Il team Overlays mantiene , una lista completa di overlay per progetti ospitati su overlays.gentoo.org.

Accedere agli Overlay per Sviluppatori

Se la propria email Gentoo è 'foo@gentoo.org', il proprio sito Trac wiki è disponibile al seguente indirizzo: http://overlays.gentoo.org/dev/foo/

Per effettuare il checkout del proprio repository Subversion, usare:

Codice 3.3: Effettuare il checkout del proprio overlay per sviluppatori

svn co https://overlays.gentoo.org/svn/dev/foo/

Nonstante sia possibile effettuare azioni in sola lettura tramite l'insicuro protocollo HTTP, bisogna effettuare tutti i commit tramite HTTPS. Se si necessita di passare da una modalità all'altra, usare:

Codice 3.4: Passare il proprio overlay di sviluppatore da HTTP a HTTPS

svn sw --relocate http://overlays.gentoo.org/svn/dev/foo/ https://overlays.gentoo.org/svn/dev/foo/

Il team Overlays mantiene , una lista completa di overlay per sviluppatori ospitati su overlays.gentoo.org.

Come iniziare con Trac

Nel proprio overlay viene messo a disposizione Trac. Trac è un wiki, un browser di repository subversion, e un sistema per il tracking dei bug molto popolare tra gli sviluppatori open source.

È stato disabilitato il sistema di bug tracking in Trac. Usare il bugzilla di Gentoo per il bug tracking del proprio overlay.

Il feed RSS del proprio overlay - quello mostrato sull'homepage di o.g.o - deriva dalla pagina Timeline di Trac o dal sommario di GitWeb.

Come iniziare con Subversion

Il vantaggio di Subversion su CVS include il versioning reale delle directory, completo supporto al changeset, ed è molto più semplice eseguire branching all'occorrenza. Lo svantaggio principale è che è più lento di CVS, e che un controllo locale di Subversion richiede più spazio su disco.

Se non si ha mai usato Subversion precedenza, il manuale in linea è un buon metodo per imparare ad usarlo. È possibile anche comprarlo in formato cartaceo, se lo si preferisce.

Qui di seguito ci sono alcuni comandi di base per iniziare.

Codice 3.5: Effettuare il checkout del proprio overlay

svn co https://overlays.gentoo.org/proj/php

Codice 3.6: Vedere per quali file bisogna fare il commit

svn status

Codice 3.7: Aggiungere un file al proprio overlay

svn add my.ebuild

Codice 3.8: Effettuare il commit dei cambiamenti

svn commit -m 'La mia voce di Changelog'

Layman

Si raccomanda ad ogni utente di usare layman per scaricare e gestire il proprio overlay. Layman è una utilità scritta da Gunnar Wrobel che rende molto semplice lavorare sugli overlay.

Per iniziare ad usare layman, vedere la documentazione nell'homepage, la Newsletter Settimanale Gentoo del 22 Maggio, o consultare man layman.

Auto-Sync da Portage

I propri pacchetti nell'albero del Portage sono sempre a rischio di essere cambiati senza preavviso. I team Arch devono poter associare keyword ai pacchetti (e correggere incongruenze specifiche per alcune architetture), il team QA deve correggere le violazioni degli standard rilevate, e occasionalmente gli sviluppatori modificano pacchetti che non dovrebbero.

Bisogna essere sicuri che i cambiamenti fatti in Portage non vadano perduti la prossima volta che verranno copiati i pacchetti dall'overlay al Portage.

Il PHP team ha risolto questo problema copiando automaticamente i loro pacchetto dal Portage a un branch del loro overlay chiamato 'portage' ogni notte. Ciò permette loro di usare Subversion (o la timeline di Trac) per vedere le modifiche giornaliere.

4.  Usare git sugli overlay

Inizializzare il proprio overlay

Prima di fare uploading bisogna creare un repository git locale e copiare in esso tutti gli oggetti:

Codice 4.1: spostarsi nel proprio overlay

cd ~/my-overlay

Codice 4.2: create un nuovo repo git

git init
git add .
git commit -m "popolare l'overlay"

Notare che questa operazione è solo locale, e con essa il server inizia ad operare.

Codice 4.3: specificare l'url a git

git-config remote add origin git+ssh://git@git.overlays.gentoo.org/(proj o dev)/(nome)/

Codice 4.4: caricare definitivamente i dati

git push origin master

Sorgente: http://www.kernel.org/pub/software/scm/git/docs/tutorial.html

Effettuare il checkout dell'overlay con git

Codice 4.5: clonalo!

git clone git://git@git.overlays.gentoo.org/(proj o dev)/(name)/

5.  Dare ad altri l'accesso al proprio Overlay

Introduzione

Una delle caratteristiche chiave di o.g.o è che chi non ha accesso in scrittura all'albero dei pacchetti del Portage Gentoo può avere accesso in scrittura a uno o più overlay. Diversi progetti Gentoo hanno dimostrato che questo è un ottimo metodo per valutare potenziali sviluppatori Gentoo in un ambiente sicuro.

Overlay dei progetti: come dare accesso in scrittura ai membri del team

Ogni sviluppatore elencato sulla pagina di progetto di un dato team su www.g.o può avere accesso in scrittura all'overlay del team. Il capo progetto può richiederlo in loro vece, o può farlo ogni sviluppatore per conto proprio.

Se lo sviluppatore Gentoo non ha ancora un account su o.g.o, lo dovrà richiedere scrivendo su #gentoo-overlays in modo che i responsabili possano creare il relativo account.

Overlay dei progetti: come dare accesso ad altri sviluppatori Gentoo

Ogni sviluppatore Gentoo *non* elencato sulla pagina www.g.o di un dato progetto può avere accesso in scrittura all'overlay del team. La richiesta per l'accesso in scrittura deve venire da uno dei membri del team. Non è necessario che a richiederla sia il capo progetto.

Se lo sviluppatore non ha ancora un account o.g.o, lo dovrà richiede scrivendo su #gentoo-overlays in modo che i responsabili possano creare il relativo account.

Overlay dei progetti: come dare accesso in scrittura ai semplici utenti Gentoo

Ogni utente Gentoo può avere accesso in scrittura all'overlay di ogni team. La richiesta per accesso in scrittura deve arrivare da uno dei capi progetto. È possibile richiedere che all'utente venga dato accesso in scrittura a Trac, a Subversion, o a entrambi. (Verrà dato per scontato che il diritto di scrittura richiesto sia per entrambi, a meno che non venga esplicitamente detto altro).

Non è possibile accettare richieste di questo tipo da parte di chiunque non sia un capo progetto. Se nel proprio progetto ne esiste uno solo, si raccomanda di eleggerne un secondo. Se il proprio unico e solo capo è AWOL, considerare la possibilità di eleggere un sostituto :)

Se l'utente non ha ancora un account o.g.o,lo dovrà richiedere scrivendo su #gentoo-overlays in modo che i responsabili possano creare il relativo account.

Overlay degli sviluppatori: come dare accesso in scrittura ad altri sviluppatori Gentoo

Ogni sviluppatore Gentoo può avere accesso in scrittura al proprio overlay di sviluppatore. La richiesta può arrivare direttamente dallo sviluppatore; comunque il diritto non sarà concesso fintanto che verrà discussa la cosa con lo sviluppatore di riferimento dell'overlay. Anche quest'ultimo può chiedere che l'accesso in scrittura sia concesso a ogni sviluppatore noto.

Se lo sviluppatore non ha ancora un account o.g.o, lo dovrà richiede scrivendo su #gentoo-overlays in modo che i responsabili possano creare il relativo account.

Overlay degli sviluppatori: dare accesso in scrittura a semplici utenti Gentoo

Ogni sviluppatore Gentoo può avere accesso in scrittura al proprio overlay di sviluppatore. La richiesta del diritto di accesso in scrittura deve venire da parte dello sviluppatore stesso. Si potrà richiedere che all'utente sia dato accesso in scrittura solo a Trac, solo a Subversion, o a entrambi. (Verrà dato per scontato che il diritto di scrittura richiesto sia per entrambi, a meno che non venga esplicitamente detto altro).

Non è possibile accettare richieste di questo tipo da nessun altro tranne lo sviluppatore di riferimento dell'overlay. Se si vede chiaramente che si stanno concedendo accessi a molte altre persone, può essere che sia il caso di considerare il lancio di un nuovo progetto e trasferire il proprio lavoro lì.

Se l'utente non ha ancora un account o.g.o, lo dovrà richiedere scrivendo su #gentoo-overlays in modo che i responsabili possano creare il relativo account.

6.  Come accedere all'Overlay di qualcun'altro

Usare un'Overlay

Chiunque ha accesso in lettura a qualsiasi overlay. Si raccomanda di usare

Codice 6.1: Installate layman

emerge layman
echo 'source /var/lib/layman/layman.conf' >> /etc/make.conf

Nota: Layman creerà "/var/lib/layman/make.conf" una volta aggiunto il primo overlay. Ma se non si pensa di installare immediatamente un'overlay, assicurarsi che questo file esista e contenga la variabile vuota "PORTDIR_OVERLAY". Altrimenti portage segnalerà un errore. È possibile lanciare "echo PORTDIR_OVERLAY=\"\" > /var/lib/layman/make.conf" in maniera da creare correttamente il file.

Dopo, per vedere la lista di tutti gli overlay, digitare

Codice 6.2: Elencare gli overlay noti a layman

layman -L

Per installare un overlay, digitare

Codice 6.3: Installare un overlay

layman -a <overlay-name>

Dopodiché sarà possibile installare pacchetti provenienti dall'overlay scelto.

Come richiedere l'accesso in scrittura

Se si desidera l'accesso in scrittura ad un overlay di progetto, contattare un membro del team di progetto, e chiedergli il permesso. Se la propria richiesta sarà approvata, provvederanno loro a dare l'accesso in scrittura, contattando il team Overlays.

Se si desidera accedere all'overlay di uno sviluppatore, contattarlo direttamente. Se la propria richiesta sarà approvata, provvederà lui a fornire l'accesso in scrittura, contattando il team Overlays.

7.  Domande frequenti (FAQ)

Amministrazione o.g.o

D: Come posso contattare lo staff admin di o.g.o?

  • R: Puoi entrare in #gentoo-overlays su IRC, e parlare con loro lì. Lo staff attuale proviene per la maggior parte da zone con fusi orari europei..
  • R: Puoi mandare una email a overlays@gentoo.org. Qualcuno ti risponderà il prima possibile.

D: Perché non posso modificare la lista di controllo degli accessi direttamente?

  • R: (SVN) La lista di controllo degli accessi risiede attualmente in formato htpasswd. Solo lo staff admin di o.g.o ha accesso tramite ssh alla box o.g.o.
  • R: (Git) La lista di controllo degli accessi risiede attualmente nel repository gitosis-admin, scrivibile solamente dallo staff di o.g.o.

Sicurezza

D: Si puo accedere al mio overlay via https?

  • R: Si, si può.

Overlay multipli

D: Posso avere più di un overlay?

  • R: Si, in una certa maniera. All'interno del proprio overlay, è possibile creare sub-directory, e mettere alberi di pacchetti all'interno di esse. Si consiglia osservate l'overlay del progetto PHP per avere un esempio.

Importare Overlay preesistenti

D: Io ho già un overlay, e vorrei spostarlo sotto o.g.o. Come devo procedere?

  • R: Creare un tarball del proprio repository subversion, e renderlo disponibile allo scaricamento tramite http da qualche parte. Verrà scaricato ed installato dal team Overlays su o.g.o .

Nota: Assicurarsi di archiviare tutto il proprio repository, e non un checkout!

D: Io ho un overlay, ma non uso Subversion. Cosa devo fare per spostarlo sotto o.g.o?

  • R: Chiede al team Overlays di creare un nuovo overlay vuoto. A questo punto si può usare 'svn import' per importare i propri file nel nuovo overlay. Si perderà la propria storia, ma non è possibile fare altrimenti.
  • R: Cercare su internet, e vedere se esiste uno strumento per convertire il proprio software di controllo versioni a Subversion. Se esiste usarlo, e successivamente il team Overlays potrò dare una mano a spostare tutto su o.g.o.
  • R: Se il proprio software di controllo versioni è usato da Trac, e può essere usata su HTTP, aiutare il team Overlays a creare un supporto per esso su o.g.o.

Overlay "ufficiali"

D: Quando un overlay è considerato "ufficiale"?

  • R: Un overlay "ufficiale" è un overlay gestito da un progetto Gentoo (per overlay dei progetti) o da uno sviluppatore Gentoo (per overlay degli sviluppatori).

D: Un overlay deve essere su o.g.o per essere "ufficiale"?

  • R: No.


Stampa

Aggiornato il 1 maggio 2010

Oggetto: Questa guida aiuta gli sviluppatori a capire come usare il servizio degli Overlay di Gentoo.

Stuart Herbert
Autore

Markus Ullmann
Autore

Robin H. Johnson
Autore

Theo Chatzimichos
Author

Franco Tampieri
Traduzione

Donate to support our development efforts.

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