Linee Guida di Rilascio di Gentoo Linux
1.
Introduzione
Obbiettivi principali
Un rilascio di Gentoo Linux dovrebbe impegnarsi a dare due cose: alta qualità
e poco stress. Le linee guida illustrate in questo documento sono un tentativo
di promuoverle entrambe seppur mantenendole all'interno di una scadenza.
Panoramica sul Rilascio
Per i Coordinatori di Rilascio delle Architetture, il processo di rilascio è
binario; c'è il tempo speso nello sviluppo e nel Controllo Qualità ("QA",
ovvero "Quality Assurance", ndt) e quello del processo finale di rilascio speso
facendo gli ultimi controlli di qualità per il rilascio. Durante l'intero
processo, i Coordinatori dell'Ingegneria del Rilascio (Release Engineering,
ndt) e del Rilascio di Architettura (Architecture Release, ndt) lavoreranno in
stretto contatto su ogni aspetto del rilascio. Un aspetto critico del processo
di rilascio è la comunicazione. Se ci sono domande o commenti riguardanti
qualsiasi parte del processo di rilascio, i Coordinatori del Rilascio di
Architettura dovranno contattare i Responsabili delle Operazioni di Rilascio, i
cui indirizzi email possono essere sempre trovati nella pagina del progetto Release
Engineering (in inglese, ndt). Informazioni specifiche sul rilascio
possono sempre essere trovate sulla pagina delle informazioni di rilascio, che è
http://www.gentoo.org/proj/en/releng/release/${relver}/releng/${relver}.xml
(in inglese, ndt),dove ${relver} è la versione del rilascio (es. 2005.1).
2.
Fase di Sviluppo/Controllo Qualità
Processo della Fase di Sviluppo/Controllo Qualità
I Coordinatori di Rilascio di Architettura spenderanno molto del loro tempo in
questa fase perchè la fase finale di rilascio prende solo una piccola
percentuale del tempo impiegato su un rilascio. La differenza di tempo non è
un'indicazione che il processo finale di rilascio sia meno importante della fase
di sviluppo/controllo qualità, ma piuttosto una comprensione che molti dei
Controlli per la Qualità del rilascio saranno fatti nella fase di
sviluppo/controllo qualità. La fase finale di rilascio ha i propri Controlli
Qualità necessari che saranno coperti più avanti in questa guida.
Nell'intera fase di sviluppo/Controllo Qualità si dovranno correggere e chiudere
i bug, affrontare la lista di Richiesta di funzionalità per l'imminente
rilascio, e assicurarsi costantemente che il rilascio sia conforme alle linee
guida del Controllo Qualità disposte dall'Ingegneria di Rilascio. È fortemente
raccomandato che il Coordinatore di Rilascio di Architettura imposti un ciclo di
build programmato in modo che i bug e i Controlli Qualità possano essere
effettivamente gestiti durante l'intero processo. Per esempio, build settimanali
o bi-settimanali danno al Coordinatore di Rilascio di Architettura un "allarme"
su cosa stia succedendo con il loro rilascio.
Durante questa fase, l'Ingegneria di Rilascio è disponibile tutte le volte per
qualsiasi cosa. Se ci sono domande o preoccupazioni, richieste di hardware o di
risorse, o qualsiasi altra cosa, si prega di contattare il Responsabile delle
Operazioni di Rilascio.
Linee Guida della fase di Sviluppo/Controllo Qualità
Le seguente linee guida del Controllo Qualità dovranno essere osservate
costantemente durante questa fase del rilascio. Fare questo assicurerà che
l'architettura da rilasciare sarà infatti rilasciata per tempo e completa.
L'Ingegneria di Rilascio si riserva il diritto di bloccare il rilascio se una
qualsiasi delle architetture non sia conforme a queste linee guida di Controllo
Qualità. Questo assicura un aspetto consistente per la distribuzione alla base
dell'utenza.
| Linee Guida |
Descrizione |
| C'è l'architettura nella lista di rilascio? |
Contattare il Responsabile delle Operazioni di Rilascio se non c'è. La lista
di rilascio sarà inviata dal Responsabile delle Operazioni all'inizio del
processo di rilascio. È disponibile anche nella pagina delle informazioni
di rilascio per il rilascio specificato.
|
|
Le funzionalità che sono state progettate nella Roadmap delle funzionalità
del rilascio applicabile all'architettura sono state completate?
|
Tutte le funzionalità che sono relative all'architettura devono essere
complete per il rilascio. Contattare il Responsabile delle Operazioni se ci
sono giustificate circostanze che bloccano il completamento di queste
funzionalità.
|
|
I pacchetti base applicabili elencati nella pagina delle informazioni di
rilascio sono utilizzati?
|
Se applicabili all'architettura, certi pacchetti base devono essere
utilizzati per mantenere la consistenza.
|
| La documentazione di Installazione è aggiornata? |
Il Coordinatore di Rilascio di Architettura deve essere sempre in contatto
con il Referente per la Documentazione dell'Ingegneria di Rilascio per
assicurare che la documentazione rilasciata sia sincronizzata con il
rilascio.
|
|
Tutti i bug del rilascio precedente sono stati risolti in questo rilascio?
|
Ripulire il bugzilla dai bug dell'ultimo rilascio. Risolverne quanti più
possibile. Lo scopo è la perfezione. I bug saranno assegnati all'alias
release@gentoo.org. I bug di un rilascio non dovranno essere marcati
come RESOLVED finchè un rilascio con la correzione viene resa disponibile.
|
| Test di Regressione |
Le immagini dei CD e gli stage compilano e girano come ci si aspetta su
ognuna delle sottoarchitetture supportate? Riferirsi alla sezione Guida ai Test di Regressione per istruzioni su
come far girare propriamente un test di regressione di Gentoo.
|
|
Il Progetto di Documentazione Gentoo (GDP-Gentoo Documentation Project, ndt)
ha tutte le informazioni necessarie richieste per la documentazione del
rilascio?
|
Il GDP richiede una lista di tutti i kernel avviabili di ogni CD avviabile,
una lista di tutte le opzioni di avvio di ogni CD avviabile, l'output di
find su un CD montato per ogni categoria (sia i CD avviabili che
quelli contenenti Pacchetti), e l'output difind su un CD di
installazione Universale/Minimale avviato. Le informazioni possono essere
inviate al Referente per l'Ingegneria di Rilascio del GDP, che è elencato
nella Pagina del Release
Engineering Project (ndt in inglese), o al Responsabile delle
Operazioni di Rilascio.
|
|
I formati degli specfile dei CD di Installazione e dei Pacchetti sono
seguiti?
|
I formati per i CD di installazione
avviabili e i CD dei pacchetti non avviabili specificano un essenziale
gruppo base di pacchetti che mantengono la compatibilità e la consistenza
tra tutte le architetture. È essenziale che il gruppo base di pacchetti
specificato venga usato.
|
3.
La Transizione da Sviluppo/Controllo Qualità a Rilascio Finale
Il Processo di Transizione
La transizione dalla fase di sviluppo/Controllo Qualità alla fase finale di
rilascio non può considerarsi interamente definibile da una data. La transizione
ha luogo quando le linee guida del Controllo Qualità per la fase di
sviluppo/Controllo Qualità sono state conseguite pienamente. In quel momento,
l'architettura da rilasciare è pronta per lo spostamento alla fase finale di
rilascio.
4.
La Fase Finale di Rilascio
Il Processo Finale di Rilascio
La fase finale di rilascio del processo di rilascio è la parte più raffinata di
tutto ciò che si è fatto fino a questo punto. Lo scopo finale di questa fase è
avere i componenti di rilascio di alta qualità sul principale mirror almeno
cinque giorni prima della data di rilascio così che i componenti di rilascio
abbiano abbastanza tempo per essere organizzati, o propagati, sugli altri
mirror.
La lista di controllo finale del Controllo Qualità consiste nei seguenti punti:
| Linee Guida |
Descrizione |
|
I requisiti della lista di controllo della fase di sviluppo/Controllo
Qualità sono completi?
|
Tutti i requisiti specificati nella lista di controllo della fase di
sviluppo/Controllo Qualità sono completi, come specificati e in forma
corretta?
|
| Tutti i componenti necessari per il rilascio sono presenti? |
Si prega di fare riferimento alla lista
dei componenti necessari per il rilascio.
|
| Layout |
I CD di Installazione,i CD dei Pacchetti, e gli stage sono tutti conformi
alle convenzioni nelle attribuzioni dei nomi e
di layout impostate dall'Ingegneria di Rilascio?
|
|
Le note di rilascio sono in forma corretta e disponibili sia online che nel
CD di Installazione?
|
Assicurarsi che le note di rilascio siano presenti nelle posizioni
specificate dalla convenzione di layout.
|
Quando il Coordinatore del Rilascio di Architettura ritiene che i propri
componenti di rilascio soddisfino o superino le linee guida del Controllo
qualità, li caricherà sulla macchina temporanea dell'Ingegneria di Rilascio e
informerà l'Ingegneria di Rilascio in modo che il processo di approvazione
finale possa iniziare. L'approvazione finale dall'Ingegneria di Rilascio
consiste nel riesaminare punto per punto la lista di controllo finale di
Controllo Qualità e un controllo del digest di ogni componente del rilascio.
Supponendo che i componenti del rilascio passino l'approvazione finale
dall'Ingegneria di Rilascio, saranno firmati dalla chiave GPG dell'Ingegneria di
Rilascio, e posizionati nell'appropriata locazione che si trova nella macchina
dell'Ingegneria di Rilascio per dare spazio al Referente per l'Infrastruttura
di Rilascio per la propagazione al mirror principale.
Solo quando i componenti di rilascio soddisfano sia il Controllo Qualità della
fase di sviluppo/Controllo Qualità che i Controlli Qualità finali, essi saranno
caricati sui mirror per essere rilasciati. Se un qualsiasi componente non è a
posto, l'Ingegneria di Rilascio lavorerà con il Coordinatore del Rilascio di
Architettura per riparare il componente difettoso. Per avere un rilascio
puntuale, è imperativo che il Coordinatore del Rilascio di Architettura si
assicuri che tutti i Controlli Qualità siano soddisfatti prima dell'approvazione
dell'Ingegneria di Rilascio. L'approvazione dell'Ingegneria di Rilascio dovrà
essere l'ultimo controllo a cui i componenti sono sottoposti, non il primo.
5.
Risorse
Componenti Necessari per un Rilascio
I seguenti componenti sono necessari per un rilascio ufficiale:
| Componenti |
Descrizione |
| CD di Installazione Avviabili |
Questo include sia l'immagine del CD di Installazione Universale che quella
Minimale che gli utenti possono usare per avviare una vasta varietà di
hardware per lo scopo finale di installare Gentoo Linux. Ci sono due
tipologie per i CD di Installazione avviabile, quello Universale e quello
Minimale. Un CD di installazione Universale contiene un insieme di stage3
per tutte le sottoarchitetture supportate così come i distfile necessari
all'installazione da stage3 senza una connessione di rete. Un CD di
Installazione Minimale contiene solamente i componenti necessari per avviare
un sistema. Fare riferimento alle specifiche di layout e al formato dello specfile di Catalyst per il
layout richiesto e ai pacchetti base di entrambi i CD. Entrambe le immagini
sono necessarie per un rilascio ufficiale.
|
| CD dei Pacchetti |
Un CD non avviabile che contiene un insieme di pacchetti Gentoo Reference
Platform (GRP) usati per un'installazione senza collegamento alla rete. Un
utente non deve aver bisogno di una connessione a Internet per installare
quando si usa questo disco. Prego riferirsi alle specifiche di layout per il layout del CD dei Pacchetti, e
al formato dello specfile di Catalyst per
una lista dei pacchetti richiesti.
|
| CD Live Avviabile |
Un'Immagine di un CD Live avviabile con l'Installer Gentoo Linux può essere
un sostituto per l'esigenza di un CD di Installazione Universale e un CD dei
Pacchetti. Questo è il solo caso nel quale un CD di Installazione Universale
e un CD dei Pacchetti possono non essere presenti in un rilascio di una data
architettura pur considerandola completa e ufficiale.
|
| Stage di Installazione |
Gli archivi degli Stage 1, 2, e 3 possono essere usati per installare Gentoo
Linux.
|
| Note di Rilascio |
Le Note che seguono il formato specificato dall'Ingegneria di Rilascio che
particolareggiano aspetti importanti riguardanti il rilascio.
|
| DIGEST e CONTENTS (contenuti, ndt) |
È necessario che sia l'hash MD5 che quello SHA1 vengano generati per tutti i
supporti di rilascio. Questi hash sono creati automaticamente da catalyst, e
devono essere inclusi nel supporto. Un file CONTENTS deve essere generato
per i seguenti supporti: CD di Installazione Minimale (avviato), CD di
Installazione Universale (sia avviato che non avviato), CD dei Pacchetti,
e CD Live.
|
Guida ai Test di Regressione
I test di Regressione sono un aspetto chiave del Controllo Qualità. Il processo
dei test di regressione è svolto facendo girare un insieme completo di test che
emulano scenari di mondo reale. Fare i test di regressione non è necessariamente
difficile, ma impiega molto tempo. Una buona porzione del processo di rilascio
deve esser spesa facendo i test di regressione in quanto è il modo migliore per
identificare bug ed errori di scrittura.
La procedura dei test di regressione è piuttosto diretta. Per ogni CD di
Installazione/CD Live, seguire le istruzioni di installazione alla lettera. Una
volta completa, provare una completa installazione GRP usando il Manuale di
Installazione. Una volta completa, riavviare il processo usando una differente
sottoarchitettura o insieme di GRP. Lo scopo è percorrere il Manuale di
Installazione tante più volte possibile. Più è la casualità introdotta dai
pacchetti, dai metodi e sottoarchitetture, maggiori sono le possibilità che i
bug siano identificati prima del rilascio finale.
Convenzioni nell'Attribuzione dei Nomi e Layout dei CD di
Installazione/CD Live/CD dei Pacchetti
CD di Installazione/CD Live/CD dei Pacchetti e gli stage devono aderire alle
seguenti convenzioni sull'attribuzione dei nomi, dove ${arch} è la
principale architettura, ${subarch} è la sottoarchitettura,
${reltype} è uno speciale identificatore di tipo, e ${relver} è il
numero di versione del rilascio.
| Nome del Componente |
Convenzione di Attribuzione Nome |
Esempio |
| CD di Installazione Universale Avviabile |
install-${arch}-universal-${relver}.iso |
install-x86-universal-2005.1.iso |
| CD di Installazione Minimale Avviabile |
install-${arch}-minimal-${relver}.iso |
install-alpha-minimal-2005.1.iso |
| CD Live Avviabile |
livecd-${arch}-${relver}.iso |
livecd-x86-2005.1.iso |
| CD dei Pacchetti |
packages-${subarch}-${relver}.iso |
packages-pentium4-2005.1.iso |
| Stage di Installazione |
stage{1,2,3}-${subarch}-${relver}.tar.bz2 |
stage3-ppc-2005.1.tar.bz2 |
|
Gli Stage di Installazione che sono di differente tipo di rilascio, come
quelli hardened o quelli selinux.
|
stage{1,2,3}-${subarch}-${reltype}-${relver}.tar.bz2 |
stage2-athlon-xp-selinux-2004.0.tar.bz2 |
| Note di Rilascio |
${arch}-release-notes.xml |
sparc-release-notes.xml, situato nel CVS a
gentoo/xml/htdocs/proj/en/releng/release/${relver}/${arch} (in inglese, ndt)
Il formato corrente e i tool di autogenerazione possono essere trovati nel
CVS a gentoo/src/relnotes.
|
Il CD di installazione Universale Avviabile deve aderire al seguente standard
di layout:
| Directory |
Descrizione |
| /distfiles |
Directory dove tutti i distfile necessari sono immagazzinati per installare
da un archivio stage3 senza connessione di rete.
|
| /docs |
Directory dove risiedono le note di rilascio e il Manuale. Il Manuale ha la
propria struttura di directory,/docs/handbook/{html,pdf,txt},
poichè ogni sottodirectory sta al posto del rispettivo formato del Manuale.
Le versioni finali sia delle note di rilascio sia del Manuale saranno
linkate nella pagina delle informazioni di rilascio.
|
| /boot (/isolinux on x86/amd64) |
Directory autogenerata per il bootloader. |
| /snapshots |
Directory contenente la snapshot usata per compilare i componenti di
rilascio.
|
| /stages |
Directory contenente gli archivi di stage3 per ogni sottoarchitettura
supportata.
|
| /zisofs (facoltativa) |
Directory autogenerata per il runtime di zisofs. Applicabile solamente alle
architetture che usano lo schema di compressione zisofs. Considerare l'uso
di zisofs solamente se squashfs non è disponibile per l'architettura a causa
di problemi tecnici, come kernel panic.
|
Il CD di Installazione Minimale avviabile deve aderire al seguente standard
di layout:
| Directory |
Descrizione |
| /boot (/isolinux on x86/amd64) |
Directory autogenerata per il bootloader. |
| /zisofs (facoltativa) |
Directory autogenerata per il runtime di zisofs. Applicabile solamente alle
architetture che usano lo schema di compressione zisofs. Considerare l'uso
di zisofs solamente se squashfs non è disponibile per l'architettura a causa
di problemi tecnici, come kernel panic.
|
Entrambi i CD di Installazione possono usare un'ampia varietà di kernel per
assicurare la compatibilità all'utente. I kernel saranno chiamati
gentoo-${kver}-${special_opt}, dove ${kver} è la principale
versione del kernel, come 2.6, e ${special_opt} è un identificativo
speciale e opzionale, come nofb. Un esempio di un nome di kernel con un
identificativo speciale saràgentoo-2.6-nofb.
Entrambi i CD di Installazione avviabili conterranno uno standard motd
(Messaggio del Giorno) nel filesystem avviato sul CD. Il motd sarà la prima cosa
che un utente vedrà dopo aver ottenuto un prompt del loro ambiente del CD, e
conterrà importanti informazioni. Questo file è generato da catalyst.
Il CD dei Pacchetti deve aderire al seguente standard di layout:
| Directory |
Descrizione |
| /${categoria}/${pacchetto} |
Il CD dei Pacchetti sarà fatto nello stesso modo di
/usr/portage/packages.
|
Il comando per creare la iso del CD dei Pacchetti è:
Codice 5.1: Package CD |
# cd grp-${subarch}-${relver}/cd2
# mkisofs -R -J -l -V "${subarch} Packages" -o ../packages-${subarch}-${relver}.iso .
|
Formato degli Specfile di Catalyst del CD Live e del CD dei
Pacchetti
Formatodello specfile di
Catalyst livecd-stage1 sia per i CD di Installazione Universali avviabili che
per quelli Minimali.
Formatodello specfile di
Catalyst livecd-stage2 sia per i CD di Installazione Universali avviabili che
per quelli Minimali.
Formatodello specfile di Catalyst
per il CD dei Pacchetti.
I contenuti di questo documento sono rilasciati sotto la licenza Creative
Commons - Attribution / Share Alike.
|