Indice
In questo capitolo troverete una breve mappa relativa alle mailing list Debian, delle macchine Debian che possono essere a disposizione degli sviluppatori e di tutte le altre risorse che sono a disposizione per aiutare il maintainer nel suo lavoro.
Gran parte delle conversazioni tra gli sviluppatori Debian (e gli utenti)
sono gestite attraverso una vasta gamma di mailing list che ospitiamo su
lists.debian.org
. Per saperne di
più su come iscriversi o cancellarsi, come inviare e come non inviare, dove
trovare vecchi post e come cercarli, come contattare i maintainer delle
liste e visionare varie altre informazioni sulle mailing list, leggere
https://www.debian.org/MailingLists/. Questa sezione tratterà solo gli
aspetti delle mailing list che sono di particolare interesse per gli
sviluppatori.
Quando si risponde ai messaggi della mailing list, non inviare una copia per
conoscenza (CC
) al mittente originale a meno che non lo
richiedano esplicitamente. Chiunque invii messaggi ad una mailing list
dovrebbe leggerla per vedere le risposte.
L'invio incrociato (invio dello stesso messaggio a più mailing list) è sconsigliato. Come sempre in rete, tagliare la citazione di articoli a cui si sta rispondendo. In generale, rispettare le consuete convenzioni per l'invio di messaggi.
Si prega di leggere il codice di condotta per ulteriori informazioni. Vale anche la pena di leggere le Debian Community Guidelines.
Le principali mailing list Debian che gli sviluppatori dovrebbero utilizzare sono:
<debian-devel-announce@lists.debian.org>
, usata per annunciare cose importanti per gli
sviluppatori. Tutti gli sviluppatori dovrebbero essere iscritti a questa
lista.
<debian-devel@lists.debian.org>
, utilizzata per discutere di vari problemi tecnici
legati allo sviluppo.
<debian-policy@lists.debian.org>
, dove vengono discusse e votate le Debian Policy.
<debian-project@lists.debian.org>
, utilizzata per discutere di varie questioni non
tecniche legate al progetto.
Ci sono altre mailing list disponibili per una varietà di particolari argomenti, si consulti https://lists.debian.org/ per un elenco.
<debian-private@lists.debian.org>
è una mailing list speciale per discussioni private
tra gli sviluppatori Debian. È pensata per essere utilizzata per i messaggi
che per qualsiasi ragione non dovrebbero essere pubblicati
pubblicamente. Come tale, è una lista a basso traffico, e gli utenti sono
invitati a non usare <debian-private@lists.debian.org>
a meno che non sia veramente
necessario. Inoltre, non inoltrare email da tale lista
a nessuno. Archivi di questa lista non sono disponibili sul web per ovvie
ragioni, ma è possibile vederli usando il proprio account di shell su
master.debian.org
e guardando nella directory
~debian/archive/debian-private/
.
<debian-email@lists.debian.org>
, è una mailing list speciale usata come raccogli tutto
per la corrispondenza relativa a Debian come per contattare gli autori
originali su licenze, bug, etc. o discutere il progetto con altri, nei casi
in cui potrebbe essere utile avere la discussione archiviata da qualche
parte.
Prima di richiedere una mailing list che si riferisce allo sviluppo di un
pacchetto (o di un piccolo gruppo di pacchetti correlati), prendere in
considerazione se è più appropriato utilizzare l'utilizzo di un alias
(tramite un file a.forward-aliasname su master.debian.org, che si traduce in
un indirizzo ragionevolmente bello
tu-nomealias@debian.org
) o una mailing list
autogestita su Alioth.
Se si decide che una mailing list regolare su lists.debian.org è davvero ciò che si desidera, si compilii un modulo di richiesta, seguando l'HOWTO.
Diversi canali IRC sono dedicati allo sviluppo di Debian. Essi sono
principalmente ospitati sulla rete Open and free
technology community (OFTC). La voce DNS
irc.debian.org
è un alias per
irc.oftc.net
.
Il principale canale di Debian in generale è
#debian
. Questo è un grande canale generico dove gli
utenti possono trovare le notizie recenti nel topic oltre che fornite dai
bot. #debian
è per chi parla inglese, ci sono anche
#debian.de
, #debian-fr
,
#debian-br
e altri canali con nomi simili per utenti di
altre lingue.
Il canale principale per lo sviluppo di Debian è
#debian-devel
. È un canale molto attivo; in genere avrà
un minimo di 150 persone in ogni momento della giornata. È un canale per le
persone che lavorano su Debian, non è un canale di supporto (c'è
#debian
per quello). È comunque aperto a chiunque voglia
dare un'occhiata (e imparare). Il suo topic è generalmente pieno di
informazioni interessanti per gli sviluppatori.
Siccome #debian-devel
è un canale aperto, non si dovrebbe
parlare di problemi che vengono discussi in <debian-private@lists.debian.org>
. C'è un
altro canale per questo scopo, si chiama #debian-private
ed è protetto da una chiave. Questa chiave è disponibile presso
master.debian.org:~debian/misc/irc-password
.
Ci sono altri canali aggiuntivi dedicati a temi
specifici. #debian-bugs
è usato per coordinare le feste
di bug squashing. #debian-boot
è usato per coordinare il
lavoro sul debian-installer. #debian-doc
è usato
occasionalmente per parlare di documentazione, come il documento che si sta
leggendo. Altri canali sono dedicati ad una architettura o ad un insieme di
pacchetti: #debian-kde
, #debian-dpkg
,
#debian-jr
, #debian-edu
,
#debian-oo
(pacchetto OpenOffice.org)...
Esistono anche alcuni canali di sviluppatori non inglesi, per esempio
#debian-devel-fr
per le persone di lingua francese
interessate allo sviluppo di Debian.
Canali dedicati a Debian esistono anche su altre reti IRC, in particolare
sulla rete IRC freenode, a cui
puntava l'alias irc.debian.org
fino al 4 giugno 2006.
Per ottenere un copertura su freenode, si invii a Jörg Jasper <joerg@debian.org> una email firmata dove si indica il proprio nick. Mettere la parola «cloak» da qualche parte nel campo Oggetto:. Il nick deve essere registrato: Pagina sull'impostazione dei nick. La posta deve essere firmata da una chiave nel portachiavi Debian. Si consulti la Freenode documentation per ulteriori informazioni sulla copertura.
Questo documento contiene molte informazioni utili per gli sviluppatori Debian, ma non può contenere tutto. La maggior parte degli altri documenti interessanti sono indicati nell'Angolo degli sviluppatori. Prendetevi il tempo di sfogliare tutti i collegamenti, imparerete molte più cose.
Debian ha diversi computer che lavorano come server, molti dei quali utilizzati per le funzioni critiche del progetto Debian. La maggior parte delle macchine sono utilizzate per le attività di port e tutte hanno una connessione permanente a Internet.
Alcune delle macchine sono disponibili per essere utilizzate da singoli sviluppatori, a patto che gli seguano le regole stabilite nella Policy Debian per l'utilizzo delle macchine.
In generale, è possibile utilizzare queste macchine come meglio si crede per scopi relativi a Debian. Essere gentili con gli amministratori di sistema, e di non utilizzare tonnellate e tonnellate di spazio su disco, larghezza di banda, o CPU senza prima ottenere l'approvazione degli amministratori di sistema. Di solito queste macchine sono gestite da volontari.
Fare attenzione a proteggere le proprie password e le chiavi SSH Debian installate sulle macchine Debian. Evitare il login o metodi di caricamento che inviano le password su Internet in chiaro, come Telnet, FTP, POP, etc.
Non inserire alcun materiale che non riguarda Debian sui server Debian, se non è stato prima ottenuto il permesso.
L'elenco attuale delle macchine Debian è disponibile presso https://db.debian.org/machines.cgi. Quella pagina web contiene i nomi delle macchine, informazioni di contatto, informazioni su chi può accedere, le chiavi SSH, etc.
Se si ha un problema con il funzionamento di un server Debian, e si pensa
che i gestori del sistema devono essere avvisati di ciò, è possibile
consultare l'elenco dei problemi aperti nella coda DSA del nostro sistema di
tracciamento delle richieste all'indirizzo https://rt.debian.org/ (si può
effettuare il login con user «debian», la cui password è disponibile su
master.debian.org:~debian/misc/rt-password
). Per
segnalare un nuovo problema, è sufficiente inviare una email all'indirizzo
<admin@rt.debian.org>
e fare in modo di mettere la stringa «Debian RT» in qualche
parte nell'oggetto.
Se si ha un problema con un certo servizio, non legato all'amministrazione del sistema (come ad esempio i pacchetti da rimuovere dall'archivio, suggerimenti per il sito web, etc.), generalmente si segnala un bug su uno «pseudo-pacchetto». Per informazioni su come segnalare bug si consulti Sezione 7.1, «Segnalare i bug».
Alcuni dei server centrali sono riservati, ma le informazioni sono duplicate su un altro server.
bugs.debian.org
è il percorso canonico per il Bug Tracking
System (BTS).
Se si ha intenzione di fare un po' di analisi statistiche o qualche
elaborazione dei dati sui bug Debian, questo sarebbe il posto per
farlo. Tuttavia si descrivano le intenzioni su <debian-devel@lists.debian.org>
prima di
attuare qualsiasi cosa, per ridurre inutili duplicazioni di attività o di
tempo di elaborazione sprecato.
Il server ftp-master.debian.org
contiene la copia canonica
dell'archivio Debian. In generale, il pacchetto caricato su
ftp.upload.debian.org finisce su questo server, si consulti Sezione 5.6, «Caricare un pacchetto».
È riservato; un server specchio è disponibile su
mirror.ftp-master.debian.org
.
I problemi con l'archivio FTP Debian generalmente necessitano di essere
segnalati come bug nei confronti dello pseudo-pacchetto ftp.debian.org
o attraverso una email a
<ftpmaster@debian.org>
, ma si consultino anche le procedure in Sezione 5.9, «Lo spostamento, la rimozione, la ridenominazione, l'adozione, e rendere
orfani i pacchetti».
Il server web principale è
www-master.debian.org
. Contiene le pagine web ufficiali,
il volto di Debian per la maggior parte dei neofiti.
Se si trova un problema con il server web di Debian, si dovrebbe
generalmente segnalare un bug nei confronti dello pseudo-pacchetto
www.debian.org
. Ricordarsi di
controllare se qualcun altro ha già segnalato il problema al Sistema di tracciamento dei
bug.
people.debian.org
è il server utilizzato per creare
pagine web personali degli sviluppatori su qualsiasi cosa relativa a Debian.
Se si dispone di alcune informazioni specifiche di Debian che si vuole
fornire sul web, è possibile farlo mettendo il materiale nella cartella
public_html
sotto la propria cartella home su
people.debian.org
. Questa sarà accessibile all'URL
http://people.debian.org/~
.
proprio-user-id
/
Si consiglia di utilizzare solo questa particolare posizione, perché ne verrà eseguito il backup, mentre su altri host no.
Di solito l'unica ragione per usare un host diverso è quando si ha bisogno di pubblicare materiali soggetti a restrizioni sull'esportazione degli Stati Uniti, nel qual caso è possibile utilizzare uno degli altri server situati al di fuori degli Stati Uniti.
Si invii una email a <debian-devel@lists.debian.org>
se si hanno domande.
Se è necessario utilizzare un sistema di controllo di versione per qualsiasi tipo di lavoro per Debian, è possibile utilizzare uno dei repository esistenti ospitati su Alioth oppure si può richiedere un nuovo progetto e chiedere il repository VCS che si preferisce. Alioth supporta CVS (cvs.alioth.debian.org/cvs.debian.org), Subversion (svn.debian.org), Arco (tla/baz, sia su arch.debian.org), Bazar (bzr.debian.org), Darcs (darcs.debian.org), Mercurial (hg.debian.org) e Git (git.debian.org). Controllare la pagina web https://wiki.debian.org/Alioth/PackagingProject se si prevede di mantenere pacchetti in un repository VCS. Per informazioni sui servizi forniti da Alioth si consulti Sezione 4.12, «L'installazione FusionForge di Debian: Alioth».
Su alcune macchine, ci sono chroot disponibili per differenti distribuzioni. Si possono utilizzare in questo modo:
vore$ dchroot unstable Executing shell in chroot: /org/vore.debian.org/chroots/user/unstable
In tutti i chroot, sono disponibili le normali cartelle home degli utenti. Si possono scoprire quali chroot sono disponibili tramite https://db.debian.org/machines.cgi.
Il Database degli svulippatori, su https://db.debian.org/, è una cartella LDAP per la gestione di attributi degli sviluppatori Debian. È possibile utilizzare questa risorsa per cercare nell'elenco degli sviluppatori Debian. Parte di queste informazioni sono disponibili anche attraverso il servizio finger sui server Debian, si provi finger propriologin@db.debian.org per vedere cosa riporta.
Gli sviluppatori possono autenticarsi al database per cambiare varie informazioni su se stessi, come ad esempio:
indirizzo a cui inoltrare la posta elettronica debian.org
sottoscrizione a debian-private
se si è in vacanza
informazioni personali, come il proprio indirizzo, la nazione, la latitudine e la longitudine del luogo in cui si vive per l'uso nella mappa del mondo degli sviluppatori Debian, telefono e fax, IRC nickname e pagina web
la password e la shell preferita su macchine del progetto Debian
La maggior parte delle informazioni non sono accessibili al pubblico, ovviamente. Per ulteriori informazioni leggere la documentazione online che si può trovare su https://db.debian.org/doc-general.html.
Gli sviluppatori possono inoltre inviare le loro chiavi SSH per essere utilizzate per l'autorizzazione sulle macchine ufficiali di Debian, e persino aggiungere nuove voci DNS *.debian.net. Tali caratteristiche sono documentate su https://db.debian.org/doc-mail.html.
La distribuzione Debian è composta da molti pacchetti (attualmente circa 15000 pacchetti sorgente) e alcuni file aggiuntivi (come ad esempio la documentazione e le immagini del disco di installazione).
Ecco un esempio di albero di cartelle di un archivio completo di Debian:
dists/stable/main/ dists/stable/main/binary-amd64/ dists/stable/main/binary-armel/ dists/stable/main/binary-i386/ ... dists/stable/main/source/ ... dists/stable/main/disks-amd64/ dists/stable/main/disks-armel/ dists/stable/main/disks-i386/ ... dists/stable/contrib/ dists/stable/contrib/binary-amd64/ dists/stable/contrib/binary-armel/ dists/stable/contrib/binary-i386/ ... dists/stable/contrib/source/ dists/stable/non-free/ dists/stable/non-free/binary-amd64/ dists/stable/non-free/binary-armel/ dists/stable/non-free/binary-i386/ ... dists/stable/non-free/source/ dists/testing/ dists/testing/main/ ... dists/testing/contrib/ ... dists/testing/non-free/ ... dists/unstable dists/unstable/main/ ... dists/unstable/contrib/ ... dists/unstable/non-free/ ... pool/ pool/main/a/ pool/main/a/apt/ ... pool/main/b/ pool/main/b/bash/ ... pool/main/liba/ pool/main/liba/libalias-perl/ ... pool/main/m/ pool/main/m/mailx/ ... pool/non-free/f/ pool/non-free/f/firmware-nonfree/ ...
Come si può vedere, la cartella di livello superiore contiene due cartelle,
dists/
e pool/
. Quest'ultimo è un
«punto di raccolta» in cui si trovano effettivamente i pacchetti e che è
gestito dal database di manutenzione dell'archivio e dai programmi di
accompagnamento. La prima contiene le distribuzioni,
stable
, testing
e
unstable
. I file Packages
e
Sources
delle sottocartelle di distribuzione possono
fare riferimento ai file in pool/
. L'albero delle
cartelle sotto ciascuna delle distribuzioni è disposto in modo identico. Ciò
che viene descritto qui di seguito per stable
è
ugualmente applicabile alle distribuzioni unstable
e
testing
.
dists/stable
contiene tre cartelle e cioè
main
, contrib
e
non-free
.
In ciascuna delle aree, vi è una cartella per i pacchetti sorgente
(source
) e una cartella per ogni architettura
supportata (binary-i386
,
binary-amd64
, etc.).
L'area main
contiene altre cartelle che contengono le
immagini del disco e alcuni pezzi essenziali della documentazione necessari
per l'installazione della distribuzione Debian su una specifica architettura
(disk-i386
, disk-amd64
, etc.).
La sezione main
dell'archivio Debian è ciò che
costituisce ufficiale la distribuzione
Debian. La sezione main
è ufficiale
perché soddisfa pienamente tutte le nostre linee guida. Le altre due sezioni
no, a gradi diversi; in quanto tali, esse non sono ufficialmente parte di Debian.
Ogni pacchetto nella sezione main deve soddisfare le Linee guida Debian per il sofware libero (DFSG) e tutti gli altri requisiti delle policy come descritto nel Debian Policy Manual. Le DFSG sono la nostra definizione del «software libero». Si controlli il Debian Policy Manual per maggiori dettagli.
I pacchetti nella sezione contrib
sono tenuti a
rispettare le DFSG, ma possono non soddisfare altri requisiti. Ad esempio,
possono dipendere da pacchetti non-free.
I pacchetti che non sono conformi alle DFSG sono collocati nella sezione
non-free
. Questi pacchetti non sono considerati come
parte della distribuzione Debian, anche se è consentito il loro uso, e
vengono messe a disposizione le infrastrutture (ad esempio, il sistema di
tracciamento dei bug e mailing list) per i pacchetti software non-free.
Il Debian Policy Manual contiene una definizione più precisa delle tre sezioni. La discussione di cui sopra è solo un'introduzione.
La separazione delle tre sezioni al livello più alto di archivio è
importante per tutte le persone che vogliono distribuire Debian, sia tramite
server FTP su Internet sia su CD-ROM: distribuendo solo le sezioni
main
e contrib
, si possono evitare
eventuali rischi legali. Alcuni pacchetti nella sezione
non-free
non permettono la distribuzione commerciale, per
esempio.
D'altra parte, un venditore di CD-ROM potrebbe controllare facilmente le
singole licenze dei pacchetti presenti in non-free
e
includere nel CD-ROM il maggior numero consentito. (Dal momento che questo
varia da fornitore a fornitore, questo lavoro non può essere fatto dagli
sviluppatori Debian.)
Si noti che il termine sezione è usato anche per riferirsi a categorie che
semplificano l'organizzazione e la navigazione di pacchetti disponibili, ad
esempio admin
, net
,
utils
, etc. Tempo fa, queste sezioni (sottosezioni,
piuttosto) esistevano in forma di sottocartelle all'interno dell'archivio
Debian. Al giorno d'oggi, queste esistono solo nei campi Section delle
intestazioni dei pacchetti.
I primi tempi, il kernel Linux era disponibile solo per le piattaforme Intel
i386 (o superiore), e così è stato per Debian. Ma, man mano che Linux è
diventato sempre più popolare, il kernel è stato portato su altre
architetture e Debian iniziò a supportarle. E siccome sostenere così tanto
hardware non fosse abbastanza, Debian ha deciso di costruire alcuni port
sulla base di altri kernel Unix, come hurd
e
kFreeBSD
.
Debian 1.3 era disponibile solo come
i386
. Debian 2.0 era distribuita per le architetture
i386
e m68k
. Debian 2.1 distribuita
per i386
, m68k
,
alpha
, sparc
. Da allora Debian è
cresciuta enormemente. Debian 6 supporta un totale di nove architetture
Linux (amd64
, armel
,
i386
, ia64
, mips
,
mipsel
, powerpc
,
s390
, sparc
) e due architetture
kFreeBSD (kfreebsd-i386
e
kfreebsd-amd64
).
Informazioni per gli sviluppatori e gli utenti su port specifici sono disponibili presso le pagine web dei Port di Debian.
Ci sono due tipi di pacchetti Debian, e cioè pacchetti source
(sorgente)
e binary (binario)
.
A seconda del formato del pacchetto sorgente, esso sarà composto da uno o
più file in aggiunta all'obbligatorio .dsc
:
con il formato «1.0», esso ha sia un file .tar.gz
sia
un file .orig.tar.gz
sia un
.diff.gz
;
con il formato «3.0 (quilt)», esso ha una un archivio tar originale
.orig.tar.{gz,bz2,xz}
obbligatoria, diversi opzionali
archivi tar
.orig-
originali aggiuntivi e un archivio tar debian obbligatorio
component
.tar.{gz,bz2,xz}debian.tar.{gz,bz2,xz}
;
con il formato «3.0 (native)», si ha solo un unico archivio tar
.tar.{gz,bz2,xz}
.
Se un pacchetto è stato sviluppato appositamente per Debian e non è
distribuito al di fuori di esso, c'è solo un file
.tar.{gz,bz2,xz}
, che contiene i sorgenti del
programma, è chiamato pacchetto «nativo» dei sorgenti. Se un pacchetto viene
distribuito anche altrove, il file
.orig.tar.{gz,bz2,xz}
contiene il cosiddetto
codice sorgente originale
, che è il codice sorgente che
viene distribuito dal maintainer originale
(spesso
l'autore del software). In questo caso, il file
.diff.gz
o il file
debian.tar.{gz,bz2,xz}
contiene le modifiche apportate
dal maintainer Debian.
Il file .dsc
elenca tutti i file nel pacchetto sorgente
insieme ai codici di controllo (md5sum) e alcune
ulteriori informazioni sul pacchetto (maintainer, versione, etc.).
Il sistema di cartelle descritto nel capitolo precedente è a sua volta
contenuto all'interno delle cartelle di
distribuzione
. Ogni distribuzione è di fatto contenuta nella
cartella pool
nel livello più alto dell'archivio Debian
stesso.
Per riassumere, l'archivio Debian ha una cartella radice all'interno di un
server FTP. Ad esempio, presso il sito mirror,
ftp.us.debian.org
, l'archivio Debian in sé è contenuto in
/debian, che è un luogo
comune (un altro è /pub/debian
).
Una distribuzione comprende pacchetti binari e sorgenti Debian, e i
rispettivi file indice Sources
e
Packages
, che contengono le informazioni degli header
di tutti quei pacchetti. I primi sono tenuti nella cartella
pool/
, mentre i secondi sono tenuti neella cartella
dists/
dell'archivio (per retro-compatibilità).
Ci sono sempre distribuzioni chiamate stable
(residente
in dists/stable
), testing
(residente
in dists/testing
) e unstable
(residente in dists/unstable
). Ciò riflette il processo
di sviluppo del progetto Debian.
Lo sviluppo attivo è fatto nella distribuzione unstable
(è per questo che questa distribuzione è a volte chiamata
distribuzione di sviluppo
). Ogni sviluppatore Debian può
aggiornare i propri pacchetti in questa distribuzione, in qualsiasi
momento. Così, il contenuto di questa distribuzione cambia di giorno in
giorno. Dal momento che non viene fatto alcun sforzo particolare per
assicurarsi che tutto in questa distribuzione funzioni correttamente, a
volte è letteralmente instabile.
La distribuzione testing viene generata
automaticamente prendendo i pacchetti da unstable
se
soddisfano determinati criteri. Tali criteri dovrebbero assicurare una buona
qualità per i pacchetti in testing
. L'aggiornamento di
testing
è lanciato due volte al giorno, subito dopo che
sono stati installati i nuovi pacchetti. Si consulti Sezione 5.13, «La distribuzione testing».
Dopo un periodo di sviluppo, una volta che il responsabile del rilascio lo
ritiene opportuno, la distribuzione testing
è congelata,
il che significa che le politiche che controllano come i pacchetti passano
da unstable
a testing
sono rese più
rigide. I pacchetti che hanno troppi bug vengono rimossi. Non sono
consentite modifiche in testing
tranne che per correzioni
di bug. Trascorso un po' di tempo, a seconda dei progressi, la distribuzione
testing
è congelata ancora di più. Dettagli sulla
gestione della distribuzione testing sono pubblicati dal team di rilascio su
debian-devel-announce. Dopo che i problemi aperti sono stati risolti in modo
soddisfacente per il team di rilascio, la distribuzione viene
rilasciata. Rilasciare significa che testing
viene
rinominata stable
, e una nuova copia viene creata per la
nuova testing
e la precedente stable
viene rinominata oldstable
e vi rimane fino a quando
viene definitivamente archiviata. Una volta archiviata, i contenuti vengono
spostati in archive.debian.org
.
Questo ciclo di sviluppo si basa sul presupposto che la distribuzione
unstable
diventa stable
, dopo il
superamento di un periodo in testing
. Anche se una
distribuzione è considerata stable, alcuni bug inevitabilmente restano: è
per questo che la distribuzione stable è aggiornata ogni tanto. Tuttavia,
questi aggiornamenti vengono testati molto attentamente e devono essere
introdotti nell'archivio singolarmente per ridurre il rischio di introdurre
nuovi bug. Si possono trovare le integrazioni proposte alla
stable
nella cartella
proposed-updates
. Questi pacchetti in
proposed-updates
che superano i test sono
periodicamente spostati in gruppo nella distribuzione stable e il livello di
revisione della distribuzione stable viene incrementato (ad esempio, «6.0»
diventa «6.0.1», «5.0.7» diventa «5.0.8», e così via). Fare riferimento a
caricamenti per la distribuzione
stable
per i dettagli.
Notare che lo sviluppo sotto unstable
continua durante il
periodo di congelamento, in quanto la distribuzione
unstable
resta in parallelo con
testing
.
I pacchetti sono generalmente installati nella distribuzione
testing
dopo aver subito un periodo di prova in
unstable
.
Per maggiori dettagli, consultare le informazioni informazioni sulla distribuzione di testing.
La distribuzione experimental
è una distribuzione
speciale. Non è una distribuzione completa nello stesso senso di come lo
sono stable
, testing
e
unstable
. Invece, essa è destinata ad essere una zona di
sosta temporanea per software altamente sperimentale dove c'è una buona
probabilità che il software potrebbe bloccare il sistema o un software che è
semplicemente troppo instabile anche per la distribuzione
unstable
(ma vi è un motivo per pacchettizzarlo
comunque). Gli utenti che scaricano e installano i pacchetti da
experimental
si presume siano stati ampiamente
avvertiti. In breve, qualsiasi cosa può accadere per la distribuzione
experimental
.
Queste sono le righe di sources.list(5) per experimental
:
deb http://ftp.xy
.debian.org/debian/ experimental main deb-src http://ftp.xy
.debian.org/debian/ experimental main
Se c'è una possibilità che il software potrebbe fare gravi danni a un
sistema, è probabile che sia meglio metterlo in
experimental
. Per esempio, un file system compresso
sperimentale dovrebbe probabilmente andare in
experiemental
.
Ogni volta che c'è una nuova versione di un pacchetto che introduce nuove
funzionalità, ma rende non funzionanti molte di quelle vecchie, non dovrebbe
essere caricato, o essere caricato in experimental
. Una
versione beta nuova di alcuni software che utilizza una configurazione
completamente diversa può andare in experimental
, a
discrezione del maintainer. Anche se si sta lavorando su una situazione di
aggiornamento incompatibile o complessa, è possibile utilizzare
exerimental
come area di sosta, in modo che i tester
possano iniziarci a lavorare prima.
Alcuni software sperimentali possono comunque andare in
unstable
, con alcune avvertenze nella descrizione, ma non
è raccomandato perché i pacchetti da unstable
sono
destinati a passare in testing
e quindi a
stable
. Non si deve aver paura di usare
experimental
dal momento che non causa alcun dolore agli
ftpmaster, i pacchetti sperimentali vengono periodicamente rimossi una volta
caricato il pacchetto in unstable
con un numero di
versione superiore.
Il nuovo software che non rischia di danneggiare il sistema può andare
direttamente in unstable
.
Un'alternativa a experimental
è quella di utilizzare il
proprio spazio web personale su people.debian.org
.
Ogni distribuzione Debian rilasciata ha un nome in
codice
: Debian 1.1 è chiamata buzz
, Debian 1.2,
rex
, Debian 1.3, bo
, Debian 2.0,
hamm
, Debian 2.1, slink
, Debian 2.2,
potato
, Debian 3.0, woody
, Debian 3.1,
sarge
, Debian 4.0, etch
, Debian 5.0,
lenny
, Debian 6.0, squeeze
e la
prossima versione si chiamerà wheezy
. Vi è anche una
«pseudo-distribuzione», chiamata sid
, che è l'attuale
distribuzione unstable
; poiché i pacchetti vengono
spostati da unstable
a testing
quando
si avvicinano alla stabilità, sid
in sé non è mai
rilasciata. Oltre ai soliti contenuti di una distribuzione Debian,
sid
contiene i pacchetti per le architetture che non sono
ancora ufficialmente supportate o rilasciate da Debian. È in progetto
l'integrazione di queste architetture nella distribuzione tradizionale in
una data futura.
Dal momento che Debian ha un modello di sviluppo aperto (vale a dire, tutti
possono partecipare e seguire lo sviluppo) anche le distribuzioni
unstable
e testing
sono distribuite su
Internet attraverso la rete Debian dei server FTP e HTTP. Così, se avessimo
chiamato la cartella che contiene la versione candidata al rilascio
testing
, allora avremmo dovuto rinominarla
stable
quando la versione viene rilasciata, che
obbligherebbe tutti i mirror FTP a ri-recuperare l'intera distribuzione (che
è piuttosto grande).
D'altra parte, se avessimo chiamato dal principio le cartelle di
distribuzione Debian-x.y
, la gente avrebbe potuto pensare
che la versione Debian x.y
fosse disponibile. (Questo è
successo in passato, dove un distributore di CD-ROM Debian 1.0 creò un
CD-ROM basato su una versione pre-1.0 di sviluppo. Questa è la ragione per
cui il primo rilascio ufficiale di Debian è stato 1.1, e non 1.0.)
Così, i nomi delle cartelle delle distribuzioni presenti nell'archivio sono
determinati dai loro nomi in codice e non dal loro stato di rilascio (per
esempio, «squeeze»). Questi nomi rimangono invariati durante il periodo di
sviluppo e dopo il rilascio; i collegamenti simbolici, che possono essere
modificati facilmente, indicano la distribuzione stabile attualmente
rilasciata. Ecco perché le cartelle di distribuzione reali utilizzano i
nomi in codice
, mentre i collegamenti simbolici per
stable
, testing
e
unstable
puntano alle appropriate cartelle di rilascio.
I vari archivi di download e il sito web hanno diversi mirror disponibili al fine di alleviare i nostri server canonici da carico pesante. In effetti, alcuni dei server canonici non sono pubblici: un primo livello di mirror bilancia, invece, il carico. In questo modo, gli utenti accedono sempre ai mirror e si abituano al loro utilizzo, che consente a Debian di gestire meglio i suoi requisiti di larghezza di banda su più server e reti, e praticamente evita agli utenti di martellare una sola posizione primaria. Si noti che il primo strato di mirror è sempre aggiornato per quanto possibile dal momento che si aggiorna quando innescato dai siti interni (ciò viene detto «push mirroring»).
Tutte le informazioni sui mirror Debian, tra cui un elenco di server pubblici FTP/HTTP disponibili, possono essere trovate su https://www.debian.org/mirror/. Questa utile pagina contiene anche informazioni e strumenti che possono essere utili se si è interessati a realizzare il proprio mirror, sia per l'accesso interno che pubblico.
Si noti che i mirror sono generalmente gestiti da terzi che sono interessati ad aiutare Debian. Pertanto, gli sviluppatori in genere non hanno account su queste macchine.
Il sistema Incoming è responsabile della raccolta dei pacchetti aggiornati e
li installa nell'archivio Debian. Si compone di un insieme di cartelle e
script che vengono installati su ftp-master.debian.org
.
I pacchetti sono caricati da tutti i maintainer in una cartella denominata
UploadQueue
. Questa cartella viene analizzata ogni
pochi minuti da un demone chiamato queued, vengono
eseguiti file *.command
e i file
*.changes
restanti e correttamente firmati vengono spostati
insieme ai loro file corrispondenti nella directory
unchecked
. Questa cartella non è visibile alla maggior
parte degli sviluppatori, dato che ftp-master è riservato; ma viene
sottoposta a scansione ogni 15 minuti dallo script dak
process-upload, che verifica l'integrità dei pacchetti caricati e
le loro firme crittografiche. Se il pacchetto è considerato pronto per
essere installato, viene spostato nella cartella
done
. Se questo è il primo caricamento del pacchetto (o
ha nuovi pacchetti binari), viene spostato nella cartella
new
, dove attende l'approvazione da parte degli
ftpmaster. Se il pacchetto contiene file da installare a mano viene spostato
nella cartella byhand
, dove attende l'installazione
manuale degli ftpmasters. Altrimenti, se è stato rilevato qualche errore, il
pacchetto viene rifiutato e viene spostato nella cartella
reject
.
Una volta che il pacchetto viene accettato, il sistema invia una email di
conferma al maintainer e chiude tutti i bug marcati come corretti dal
caricamento, e gli auto-builder possono iniziare a ricompilarlo. Il
pacchetto è ora accessibile al pubblico presso http://incoming.debian.org/ fino a quando non sarà realmente installato
nell'archivio Debian. Questo accade quattro volte al giorno (ed è chiamata
anche la «dinstall run» per ragioni storiche), il pacchetto viene quindi
rimosso da incoming ed installato nel pool insieme a tutti gli altri
pacchetti. Una volta che tutti gli altri aggiornamenti (che generano i nuovi
file di indice Packages
e Sources
per esempio) sono stati apportati, uno speciale script è chiamato per
chiedere a tutti i mirror primari di aggiornarsi.
Il software di manutenzione dell'archivio invierà anche il file
.changes
firmato con OpenPGP/GnuPG che si è inviato
alle mailing list appropriate. Se un pacchetto è rilasciato con il campo
Distribution
impostato su stable
,
l'annuncio viene inviato a <debian-changes@lists.debian.org>
. Se un pacchetto è
rilasciato con il campo Distribution
impostato a
unstable
o experimental
, l'annuncio
verrà pubblicato invece su <debian-devel-changes@lists.debian.org>
.
Anche se ftp-master è riservato, una copia dell'installazione è disponibile
per tutti gli sviluppatori su mirror.ftp-master.debian.org
.
Ogni pacchetto ha diverse pagine web
dedicate.
http://packages.debian.org/
visualizza ogni versione del pacchetto disponibile nelle varie
distribuzioni. Ogni versione punta ad una pagina che fornisce informazioni,
compresa la descrizione del pacchetto, le dipendenze, e i collegamenti per
il suo scaricamento.
nome-pachetto
Il sistema di tracciamento dei bug mantiene traccia dei bug di ogni
pacchetto. È possibile visualizzare i bug di un determinato pacchetto
all'URL
http://bugs.debian.org/
.
nome-pacchetto
dak ls è parte della suite di strumenti di dak, ed elenca
le versioni dei pacchetti disponibili per tutte le distribuzioni e le
architetture conosciute. Lo strumento dak è disponibile
su ftp-master.debian.org
, e sul mirror
mirror.ftp-master.debian.org
. Esso utilizza un singolo argomento
corrispondente a un nome di un pacchetto. Un esempio servirà a chiarire
meglio:
$ dak ls evince evince | 0.1.5-2sarge1 | oldstable | source, alpha, arm, hppa, i386, ia64, m68k, mips, mipsel, powerpc, s390, sparc evince | 0.4.0-5 | etch-m68k | source, m68k evince | 0.4.0-5 | stable | source, alpha, amd64, arm, hppa, i386, ia64, mips, mipsel, powerpc, s390, sparc evince | 2.20.2-1 | testing | source evince | 2.20.2-1+b1 | testing | alpha, amd64, arm, armel, hppa, i386, ia64, mips, mipsel, powerpc, s390, sparc evince | 2.22.2-1 | unstable | source, alpha, amd64, arm, armel, hppa, i386, ia64, m68k, mips, mipsel, powerpc, s390, sparc
In questo esempio, si può vedere che la versione in
unstable
differisce da quella in
testing
e che c'è stato un NMU solo binario del pacchetto
per tutte le architetture. Ciascuna versione del pacchetto è stata
ricompilata su tutte le architetture.
Il Package Tracking System (PTS) è uno strumento basato sulla posta elettronica per monitorare l'attività di un pacchetto sorgente. Questo vuol dire che è possibile ottenere gli stessi messaggi di posta elettronica che riceve il maintainer del pacchetto, semplicemente iscrivendosi al pacchetto nel PTS.
Ogni email inviata attraverso il PTS è classificata, secondo una delle parole chiave sotto elencate. Questo permetterà di selezionare i messaggi che si desidera ricevere.
Per impostazione predefinita si otterrà:
bts
Tutte le segnalazioni di bug e le successive discussioni.
bts-control
Le notifiche email da <control@bugs.debian.org>
sui cambiamenti di
stato delle segnalazioni di bug.
upload-source
La notifica email da dak, quando un pacchetto sorgente caricato è accettato.
cvs
Altri avvertimenti e messaggi di errore da dak (ad esempio una disparità di override per il campo section e/o il campo priority).
buildd
Le notifiche di errori di compilazione inviate dalla rete dei demoni di compilazione, contengono un riferimento ai log di compilazione per l'analisi.
default
Qualsiasi email non automatica inviata al PTS da persone che volevano
contattare coloro che sono iscritti al pacchetto. Questo può essere fatto
mediante l'invio di email a
.
Per evitare lo spam, tutti i messaggi inviati a questi indirizzi devono
contenere l'intestazione pacchettosorgente
@packages.qa.debian.org X-PTS-Approved
con un valore
non vuoto.
contact
Le email inviate al maintainer attraverso gli alias di posta elettronica *@packages.debian.org.
summary
Email periodiche di riepilogo sullo stato del pacchetto, compreso
l'avanzamento in testing
, notifiche del DEHS su nuove versioni originali, e una notifica se
il pacchetto viene rimosso o diventa orfano.
Si può anche decidere di ricevere informazioni supplementari:
upload-binary
L'email di notifica da katie, quando un pacchetto binario caricato è accettato. In altre parole, ogni volta che un demone di compilazione o un autore di port carica il vostro pacchetto per un'altra architettura, è possibile ottenere una email per monitorare come il proprio pacchetto viene ricompilato per tutte le architetture.
cvs
Le notifiche di commit di VCS, se il pacchetto ha un repository VCS e il maintainer ha impostato l'inoltro di notifiche di commit sul PTS. Il nome «cvs» è storico, nella maggior parte dei casi le notifiche di commit verranno da altri VCS come Subversion o Git.
bts
Le traduzioni delle descrizioni o i modelli debconf presentati al Debian Description Translation Project.
derivatives
Le informazioni sulle modifiche fatte al pacchetto nelle distribuzioni derivate (per esempio Ubuntu).
derivatives-bugs
Le segnalazioni di bug e i commenti da distribuzioni derivate (ad esempio Ubuntu).
È possibile controllare le proprie sottoscrizioni al PTS inviando vari
comandi a <pts@qa.debian.org>
.
subscribe <pacchettosorgente> [<email>]
Si sottoscriva email
per comunicazioni inerenti
il pacchetto dei sorgenti di
sourcepackage
. L'indirizzo del mittente è
utilizzato se il secondo argomento non è presente. Se
sourcepackage
non è un valido pacchetto di
sorgenti, si riverà un avvertimento. Tuttavia, se è un valido pacchetto
binario, il tracker del pacchetto iscriverà al corrispondente pacchetto
sorgente.
unsubscribe <sourcepackage> [<email>]
Rimuove una sottoscrizione precedente al pacchetto sorgente
pacchettosorgente
utilizzando l'indirizzo di
posta elettronica specificato o l'indirizzo del mittente se il secondo
argomento è stato lasciato vuoto.
unsubscribeall [<email>]
Rimuove tutte le sottoscrizioni dell'indirizzo di posta elettronica specificato o l'indirizzo del mittente, se il secondo argomento è lasciato vuoto.
which [<email>]
Elenca tutte le sottoscrizioni per il mittente o per l'indirizzo di posta elettronica eventualmente specificato.
keyword [<email>]
Indica le parole chiave che si stanno accettando. Per una loro spiegazione, si veda sopra. Ecco un breve riassunto:
keyword <pacchetto sorgente> [<email>]
Come la voce precedente ma per il dato pacchetto sorgente, dal momento che è possibile selezionare un diverso insieme di parole chiave per ogni pacchetto sorgente.
keyword [<email>] {+|-|=} <elenco di parole
chiave>
Accetta (+) o rifiuta (-) email classificate sotto le parole chiave. Definisce l'elenco (=) delle parole chiave accettate. Ciò cambia l'insieme predefinito di parole chiave accettate da un utente.
keywordall [<email>] {+|-|=} <elenco di parole
chiave>
Accetta (+) o rifiuta (-) email classificate sotto le parole chiave specificate. Definisce l'elenco (=) delle parole chiave accettate. Ciò cambia l'insieme di parole chiave accettate di tutte le sottoscrizioni attualmente attive di un utente.
keyword <pacchetto sorgente> [<email>] {+|-|=}
<elenco di parole chiave>
Come la voce precedente, ma sovrascrive l'elenco di parole chiave per il pacchetto sorgente indicato.
quit | thanks | --
Interrompe l'elaborazione dei comandi. Tutte le righe seguenti vengono ignorate dal bot.
L'utilità da riga di comando pts-subscribe (dal pacchetto
devscripts
) può essere utile per
iscriversi temporaneamente ad alcuni pacchetti, per esempio dopo aver fatto
un caricamento da non-maintainer.
Once you are subscribed to a package, you will get mails forwarded by the
package tracker. Those mails have special headers appended to let you filter
them in a special mailbox (e.g. with procmail). The
added headers are X-Loop
,
X-Distro-Tracker-Package
,
X-Distro-Tracker-Keyword
,
X-Debian-Package
, X-Debian
,
List-Id
and List-Unsubscribe
.
Ecco un esempio di intestazioni aggiuntive per una notifica di un
caricamento dei sorgenti sul pacchetto dpkg
:
X-Loop: dispatch@tracker.debian.org X-Distro-Tracker-Package: dpkg X-Distro-Tracker-Keyword: upload-source X-Debian-Package: dpkg X-Debian: tracker.debian.org List-Id: <dpkg.tracker.debian.org> List-Unsubscribe: <mailto:control@tracker.debian.org?body=unsubscribe%20dpkg>
Se si utilizza un repository VCS accessibile al pubblico per la manutenzione del proprio pacchetto Debian, si consiglia di inoltrare le notifiche di commit al PTS in modo che gli abbonati (ed i possibili co-maintainer) possano seguire da vicino l'evoluzione del pacchetto.
Una volta impostato il repository VCS per generare notifiche di commit,
basta assicurarsi che si invii una copia di quelle mail al tracker del
pacchetto al dispatch@tracker.debian.org
o
dispatch+
.
Nel primo caso, è necessario assicurarsi che il tracker del pacchetto è in
grado di identificare il pacchetto sorgente e la parola chiave appropriata
... o aggiungendo le intestazioni sourcepackage
_vcs@tracker.debian.orgX-Distro-Tracker-Package:
and
sourcepackage
X-Distro-Tracker-Keyword: vcs
o basandosi sul fatto che
il tracker del pacchetto rileverà l'header X-Git-Repo
e
supporrà che il nome del repository git corrisponda a un pacchetto
sorgente.
Per i repository Subversion, si consiglia l'utilizzo di svnmailer. Si consulti https://wiki.debian.org/Alioth/PackagingProject per un esempio su come farlo.
Il PTS ha una interfaccia web all'indirizzo http://packages.qa.debian.org/, che mette insieme molte informazioni su ogni pacchetto sorgente. È dotato di molti collegameti utili (BTS, statistiche QA, informazioni sui contatti, lo stato di traduzione DDTP, log dei buildd) e raccoglie molte informazioni da vari luoghi (le ultime 30 voci del changelog, lo stato di testing, etc.). È uno strumento molto utile se si vuole sapere che cosa sta succedendo ad uno specifico pacchetto sorgente. Inoltre c'è un modulo che permette una facile iscrizione al PTS via email.
È possibile accedere direttamente alla pagina web relativa ad uno specifico
pacchetto sorgente con un URL del tipo
http://packages.qa.debian.org/
.
pacchettosorgente
L'interfaccia web è facile da estendere e si è invitati ad integrare i dati più utili in essa. Se si vuole contribuire, si dia un'occhiata a https://tracker.debian.org/docs/contributing.html.
Un portale web QA (garanzia di qualità) è disponibile all'indirizzo https://qa.debian.org/developer.php che visualizza una tabella che elenca tutti i pacchetti di un singolo sviluppatore (compresi quelli in cui è elencato come co-maintainer). La tabella fornisce una buona sintesi sui pacchetti dello sviluppatore: numero di bug ordinati per gravità, l'elenco delle versioni disponibili in ogni distribuzione, lo stato di testing e molto altro tra cui collegamenti ad ogni altra informazione utile.
È una buona idea cercare i propri dati regolarmente in modo da non dimenticare eventuali bug aperti e in modo da non dimenticare di quali pacchetti si ha la responsabilità.
Alioth è un servizio Debian basato su una versione leggermente modificata del software FusionForge (che si è evoluta da SourceForge e GForge). Questo software offre agli sviluppatori l'accesso a strumenti facili da usare, come bug tracker, responsabili delle patch, responsabili di progetto/attività, servizi di file hosting, mailing list, repository VCS ecc. Tutti questi strumenti sono gestiti tramite un'interfaccia web.
Esso è pensato per fornire servizi per progetti di software libero sostenuti o guidati da Debian, facilitare contributi da sviluppatori esterni a progetti avviati da Debian, e contribuire a progetti i cui obiettivi sono la promozione di Debian o le sue derivate. È molto utilizzato da molti team di Debian e fornisce hosting per tutti i tipi di repository VCS.
Tutti gli sviluppatori Debian hanno automaticamente un account su Alioth. Essi possono attivarlo utilizzando la funzionalità di recupero password. Gli sviluppatori esterni possono richiedere gli account ospite su Alioth.
Per ulteriori informazioni visitare i seguenti collegamenti:
Vantaggi a disposizione di sviluppatori e dei maintainer Debian sono documentati su https://wiki.debian.org/MemberBenefits.