Capitolo 4. Risorse per sviluppatori e manutentori Debian

Indice

4.1. Mailing list
4.1.1. Regole di base per l'utilizzo
4.1.2. Mailing list dello sviluppo centrale
4.1.3. Mailing list speciali
4.1.4. Richiedere nuove liste connesse con lo sviluppo
4.2. Canali IRC
4.3. La documentazione
4.4. Le macchine Debian
4.4.1. Il server dei bug
4.4.2. Il server ftp-master
4.4.3. Il server www-master
4.4.4. Il web server persone
4.4.5. I server VCS
4.4.6. chroot per diverse distribuzioni
4.5. Il Database degli sviluppatori
4.6. L'archivio Debian
4.6.1. Sezioni
4.6.2. Le architetture
4.6.3. I pacchetti
4.6.4. Le distribuzioni
4.6.4.1. Stable, testing e unstable
4.6.4.2. Maggiori informazioni sulla distribuzione testing
4.6.4.3. Experimental
4.6.5. Nomi in codice dei rilasci
4.7. Mirror di Debian
4.8. Il sistema Incoming
4.9. Informazioni sul pacchetto
4.9.1. Sul web
4.9.2. L'utility dak ls
4.10. L'archivio Debian
4.10.1. L'interfaccia email del PTS
4.10.2. Filtrare mail provenienti dal tracker del pacchetto
4.10.3. Inoltrare i commit del VCS nel PTS
4.10.4. L'intefaccia web di PTS
4.11. Panoramica dei pacchetti per sviluppatori
4.12. L'installazione FusionForge di Debian: Alioth
4.13. Benefici per gli sviluppatori e menutentori Debian

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.

Le principali mailing list Debian che gli sviluppatori dovrebbero utilizzare sono:

Ci sono altre mailing list disponibili per una varietà di particolari argomenti, si consulti https://lists.debian.org/ per un elenco.

è 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 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/.

, è 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.

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 . 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 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.

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 , ma si consultino anche le procedure in Sezione 5.9, «Lo spostamento, la rimozione, la ridenominazione, l'adozione, e rendere orfani i pacchetti».

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.

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.

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 . Se un pacchetto è rilasciato con il campo Distribution impostato a unstable o experimental, l'annuncio verrà pubblicato invece su .

Anche se ftp-master è riservato, una copia dell'installazione è disponibile per tutti gli sviluppatori su mirror.ftp-master.debian.org.

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 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 pacchettosorgente@packages.qa.debian.org. Per evitare lo spam, tutti i messaggi inviati a questi indirizzi devono contenere l'intestazione 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 .

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.

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.