Indice
In this chapter you will find a very brief roadmap of the Debian mailing lists, the Debian machines which may be available to you as a developer, and all the other resources that are available to help you in your maintainer work.
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
.
There are other additional channels dedicated to specific subjects.
#debian-bugs
is used for coordinating bug squashing
parties. #debian-boot
is used to coordinate the work on
the debian-installer. #debian-doc
is occasionally used
to talk about documentation, like the document you are reading. Other
channels are dedicated to an architecture or a set of packages:
#debian-kde
, #debian-dpkg
,
#debian-perl
, #debian-python
...
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.
This document contains a lot of information which is useful to Debian developers, but it cannot contain everything. Most of the other interesting documents are linked from The Developers' Corner. Take the time to browse all the links; you will learn many more things.
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.
The ftp-master.debian.org
server holds the canonical copy of
the Debian archive. Generally, packages uploaded to ftp.upload.debian.org end
up on this server; see 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.
If you find a problem with the Debian web server, you should generally
submit a bug against the pseudo-package www.debian.org
. Remember to check whether or
not someone else has already reported the problem to the Bug Tracking System.
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.
The Developers Database, at https://db.debian.org/, is an LDAP directory for managing Debian developer attributes. You can use this resource to search the list of Debian developers. Part of this information is also available through the finger service on Debian servers; try finger yourlogin@db.debian.org to see what it reports.
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.)
Note that the term section is also used to refer to categories which
simplify the organization and browsing of available packages:
admin
, net
, utils
,
etc. Once upon a time, these sections (subsections, rather) existed in the
form of subdirectories within the Debian archive. Nowadays, these exist
only in the Section header fields of packages.
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 GNU/Linux 1.3 was only available as i386
. Debian
2.0 shipped for i386
and m68k
architectures. Debian 2.1 shipped for the i386
,
m68k
, alpha
, and
sparc
architectures. Since then Debian has grown
hugely. Debian 9 supports a total of ten Linux architectures
(amd64
, arm64
,
armel
, armhf
, i386
,
mips
, mips64el
,
mipsel
, ppc64el
, and
s390x
) and two kFreeBSD architectures
(kfreebsd-i386
and 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}
.
If a package is developed specially for Debian and is not distributed
outside of Debian, there is just one .tar.{gz,bz2,xz}
file, which contains the sources of the program; it's called a “native”
source package. If a package is distributed elsewhere too, the
.orig.tar.{gz,bz2,xz}
file stores the so-called
upstream source code
, that is the source code that's
distributed by the upstream maintainer
(often the author
of the software). In this case, the .diff.gz
or the
debian.tar.{gz,bz2,xz}
contains the changes made by the
Debian maintainer.
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.).
The directory system described in the previous chapter is itself contained
within distribution directories
. Each distribution is
actually contained in the pool
directory in the top
level of the Debian archive itself.
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
.
Every released Debian distribution has a code name
:
Debian 7.0 is called
wheezy
; Debian 8,
jessie
; Debian 9,
stretch
; the next release, Debian
10, will be called buster
and
Debian 10 will be called
buster
. There is also a
``pseudo-distribution'', called sid
, which is the current
unstable
distribution; since packages are moved from
unstable
to testing
as they approach
stability, sid
itself is never released. As well as the
usual contents of a Debian distribution, sid
contains
packages for architectures which are not yet officially supported or
released by Debian. These architectures are planned to be integrated into
the mainstream distribution at some future date. The codenames and versions
for older releases are listed on the
website.
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.
Note that mirrors are generally run by third parties who are interested in helping Debian. As such, developers generally do not have accounts on these machines.
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.
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
For more in-depth information, you should have a look at its documentation. Among other things, it explains you how to interact with it by email, how to filter the mails that it forwards, how to configure your VCS commit notifications, how to leverage its features for maintainer teams, etc.
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 is a Debian service based on a slightly modified version of the FusionForge software (which evolved from SourceForge and GForge). This software offers developers access to easy-to-use tools such as bug trackers, patch manager, project/task managers, file hosting services, mailing lists, VCS repositories, etc. All these tools are managed via a web interface.
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.