Come segnalare un bug in Debian usando reportbug

Si raccomada l'uso del programma reportbug per segnalare un bug in Debian. Per installarlo e avviarlo è sufficiente usare:

aptitude install reportbug; reportbug

Il programma guida passo dopo passo nel processo di scrittura della segnalazione.

Se si hanno domande a cui le indicazioni di reportbug non danno risposta si può fare riferimento al resto di questa documentazione oppure chiedere alla mailing list Debian user.

Come segnalare un bug in Debian usando una e-mail (e uso avanzato di reportbug)

Cose importanti da sapere prima di spedire

A quale pacchetto attribuire la segnalazione di un bug?

Si deve sapere a quale pacchetto attribuire la propria segnalazione di un bug. Si veda questo esempio per sapere come trovare questa informazione (questa informazione è utile anche per vedere se il bug è già stato segnalato).

Se non si riesce a determinare verso quale pacchetto segnalare il bug, spedire una e-mail alla mailing list Debian user chiedendo consigli.

Se il problema non è legato a un solo pacchetto ma a un generico servizio Debian, ci sono parecchi pseudo-pacchetti o anche mailing list tramite le quali è possibile effettuare la segnalazione.

Il bug è già stato segnalato?

Prima di inviare la segnalazione si deve controllare se il bug è già stato segnalato; si possono vedere i bug già segnalati per un pacchetto specifico usando l'opzione pacchetto nel modulo di ricerca. Se è già presente la segnalazione del bug con numero #<numero> è opportuno aggiungere i propri commenti spedendo una e-mail all'indirizzo <numero>@bugs.debian.org anziché inserire la segnalazione di un nuovo bug.

Inviare una segnalazione per ogni bug

Non segnalare più bug slegati, soprattutto se relativi a pacchetti differenti, in un unico messaggio.

Non segnalare il bug agli sviluppatori

Se si segnala un bug in Debian, non inviare una copia del bug anche a chi sviluppa il programma a monte; è possibile che il bug sia presente solo nel pacchetto per Debian. Se necessario, sarà il manutentore del pacchetto a informare gli sviluppatori del bug.

Spedire la segnalazione di bug via e-mail

È possibile segnalare un bug in Debian spedendo un'e-mail a submit@bugs.debian.org, come descritto in seguito. reportbug (vedi sopra) prepara e-mail nel formato corretto, si consiglia di utilizzarlo.

Intestazioni

Come ogni e-mail, si deve mettere un chiaro e preciso Oggetto fra le intestazioni principali della e-mail. L'oggetto inserito diventa il titolo iniziale del bug nel sistema di gestione perciò è importante che sia significativo.

Per spedire una copia della propria segnalazione ad altri (ad esempio a delle liste di messaggi), non si devono usare le solite intestazioni delle e-mail, ma un metodo differente, descritto in seguito.

Pseudo-intestazioni

La prima parte della seganlazione è costituita dalle pseudo-intestazioni le quali contengono informazioni sul pacchetto e in quale versione si applica la segnalazione. La prima riga del corpo del messaggio deve sempre essere una Pseudo-intestazione come la seguente:

Package: <nomepacchetto>

sostituire <nomepacchetto> con il nome del pacchetto con il bug.

La seconda riga del messaggio deve essere:

Version: <versionepacchetto>

sostituire <versionepacchetto> con la versione del pacchetto. Non va incluso null'altro in questa riga poiché il sistema si affida a quanto scritto per capire quali versioni sono affette dal bug.

È necessario fornire una corretta riga Package nella pseudo-intestazione affinché il sistema di gestione dei bug possa inviare il messaggio allo sviluppatore del pacchetto. Si veda questo esempio per informazioni su come rintracciare questo dato.

Per altre pseudo-intestazioni valide, si veda Altre pseudo-intestazioni.

Corpo della segnalazione

Si consiglia di includere nella segnalazione:

Includere ogni dettaglio che sembra rilevante, non ci sono pericoli nello scrivere una segnalazione molto lunga includendo molte informazioni. Se sono piccoli, includere nella segnalazione tutti i file utilizzati per riprodurre il problema (se i file sono di grosse dimensioni, pubblicarli su un sito web, se possibile).

Per maggiori informazioni su come aiutare gli sviluppatori a risolvere il problema, si consiglia la lettura del How to Report Bugs Effectively.

Esempio di segnalazione di un bug

Una segnalazione, con intestazione e pseudo-intestazione, assomiglia a quanto scritto sotto, ma è opportuno scriverla in inglese.

  To: submit@bugs.debian.org
  From: diligent@testing.linux.org
  Subject: Hello stampa `goodbye'

  Package: hello
  Version: 1.3-16

  Quando invio il programma `hello' senza argomenti dall'interprete
  dei comandi normale, questo stampa la stringa `goodbye', piuttosto
  che `hello, word'.
  Ecco l'esempio

  $ hello
  goodbye
  $ /usr/bin/hello
  goodbye
  $

  Suggerirei di cambiare la stringa stampata nel file hello.c correggendola.

  Sto usando Debian GNU/Linux 2.2, kernel 2.2.17-pre-patch-13 e
  libc6 2.1.3-10.

Invio di copie di segnalazioni ad altri indirizzi

Può capitare di dover mandare una copia della segnalazione a qualcuno diverso da debian-bugs-dist e dal manutentore del pacchetto, che sono i normali destinatari del messaggio.

Si potrebbe fare inserendo gli indirizzi in più nel capo CC della e-mail, però questi non riceverebbero il numero associato alla segnalazione nei campi Reply-To e Subject. Se gli altri destinatari risponderanno al messaggio useranno l'indirizzo submit@bugs.debian.org e il loro messaggio diventa una nuova segnalazione di bug. Ciò genera molte segnalazioni duplicate.

Il modo corretto di fare questo è di usare il campo X-Debbugs-CC dell'intestazione. Aggiungere una riga simile a questa alla propria intestazione:

X-Debbugs-CC: other-list@cosmic.edu

Questo fa sì che il sistema di gestione dei bug mandi una copia della segnalazione agli indirizzi specificati nel campo X-Debbugs-CC oltre che a debian-bugs-dist.

Evitare di inviare questo tipo di copie verso altre segnalazioni di bug; interferirebbero con i controlli che prevengono i mail loop. C'è anche un'altra piccola controindicazione nell'uso di X-Debbugs-CC per questo scopo, dato che il numero del bug aggiunto da questo meccanismo viene semplicemente sostituito da uno nuovo; è preferibile invece una normale intestazione CC.

Questa caratteristica può essere ben combinata con l'invio a quiet; vedi oltre.

Altre pseudo-intestazioni

Livelli di gravità

Una segnalazione può riguardare un bug serio oppure la semplice richiesta di una aggiunta ad un pacchetto, quindi è possibile indicare il livello di gravità della segnalazione. Questo valore non è obbligatorio e gli sviluppatori assegneranno il livello adeguato alle segnalazioni sprovviste.

Per assegnare un livello di gravità, inserire una riga come questa fra le pseudo-intestazioni:

Severity: <qualsiasi>

sostituendo <qualsiasi> con uno dei livelli validi, come descritto nella documentazione tecnica.

Aggiunta di tag

Si possono assegnare dei tag durante la creazione di una segnalazione. Ad esempio, se si sta includendo una patch alla segnalazione, si può pensare di inserire il tag patch. Questo non è obbligatorio, e il manutentore aggiungerà il tag al momento opportuno.

Per aggiungere dei tag, si inserisca una riga come questa nella pseudo-intestazione:

Tags: <tags>

sostituendo <tags> con uno o più dei tag disponibili descritti nella documentazione tecnica. Tag multipli vanno separati con virgole, spazi o entrambi.

User: <username>
Usertags: <usertags>

sostituendo <usertags> con uno o più usertag. Tag multipli vanno separati con virgole, spazi o entrambi. Se si specifica un <username>, il tag user sarà impostato con esso. Altrimenti, l'indirizzo di posta elettronica del mittente sarà utilizzato come username.

Forwarded: foo@example.com

marca il bug appena segnalato come inoltrato a foo@example.com. Si veda Registrare l'inoltro della segnalazione nella documentazione per gli sviluppatori per i dettagli.

Owner: foo@example.com

Indica che foo@example.com è ora responsabile della soluzione di questo bug. Si veda Cambiare l'assegnatario del bug nella documentazione degli sviluppatori per i dettagli.

Source: foopackage

L'equivalente di Package: per i bug presenti nel pacchetto sorgente di foopackage; nel caso di molti bug presenti in molti pacchetti non usare questa opzione.

Infine, se il proprio MUA non consente di modificare le intestazioni, si può impostare le varie intestazioni X-Debbugs- nelle pseudo-intestazioni.

Altre informazioni

Altri indirizzi per le segnalazioni (segnalazioni minori o segnalazioni multiple massive)

Se il bug non è grave (ad esempio, se c'è una svista nella documentazione o un banale problema di compilazione), scegliere il giusto livello di gravità e spedire il tutto a maintonly@bugs.debian.org invece che a submit@bugs.debian.org. maintonly invia la segnalazione solo a chi manutiene il pacchetto e non la invia alle mailing list del BTS.

Se si inviano molte segnalazioni in una volta, si dovrebbe assolutamente utilizzare maintonly@bugs.debian.org così non si provoca troppo traffico ridondante sulle mailing list del BTS. Prima di inviare molte segnalazioni simili si dovrebbe comunicare le proprie intenzioni a debian-bugs-dist.

Per inviare al sistema di gestione dei bug per la segnalazione di un bug che il manutentore già conosce si può utilizzare quiet@bugs.debian.org. Le segnalazioni spedite a quiet@bugs.debian.org non sono inoltrate a nessuno, vengono solo registrate.

Quando si utilizzano indirizzi differenti per segnalare bug, il sistema di gestione dei bug imposta il Reply-To di ogni messaggio inoltrato così le risposte saranno automaticamente elaborate allo stesso modo della segnalazione originaria. Ciò significa che, per esempio, le risposte a maintonly andranno a nnn-maintonly@bugs.debian.org invece che a nnn@bugs.debian.org, a meno che ovviamente qualcuno non sostituisca questi campi manualmente.

Riconoscimenti

Normalmente il sistema di tracciamento dei bug spedisce un'e-mail come ricevuta quando si invia una segnalazione di bug o si forniscono spiegazioni addizionali ad un bug esistente. Per evitare queste e-mail, includere un'intestazione X-Debbugs-No-Ack nel messaggio (il contenuto dell'intestazione non conta; comunque, deve essere nelle intestazioni dell'e-mail e non nelle pseudo-intestazioni insieme al campo Package). Se si invia una nuova segnalazione con questa intestazione, si dovrà usare l'interfaccia web per sapere quale numero è stato assegnato al bug.

Notare che questa intestazione non elimina le ricevute provenienti dal mailserver control@bugs.debian.org, visto che tali ricevute potrebbero contenere dei messaggi d'errore che andrebbero letti e considerati.

Lotta allo spam e mail perse

Il sistema di tracciamento dei bug dispone di un insieme abbastanza complesso di regole per evitare lo spam non arrivi al BTS. Nonostante gli sforzi, si possono comunque verificare dei falsi positivi. Se si ha il sospetto che un proprio messaggio sia stato riconosciuto come un falso positivo, è possibile contattare owner@bugs.debian.org per chiedere assistenza. Un'altra causa comune per la quale le mail non raggingono il BTS è l'uso di indirizzi che corrispondono con FROM_DAEMON di procmail, tra questi ci sono gli indirizzi simili a mail@esempio.com. Per verificare se il proprio indirizzo corrisponde con FROM_DAEMON, si veda procmailrc(5) e, se corrisponde, inviare nuovamente la mail da un indirizzo che non corrisponda con FROM_DAEMON.

Pacchetti sconosciuti o segnalazioni senza la specifica Package

Se il sistema di tracciamento non conosce chi sia il manutentore del pacchetto, gira la segnalazione alla lista di messaggi debian-bugs-dist anche se era stato usato il maintonly.

Quando si invia a maintonly@bugs.debian.org o a nnn-maintonly@bugs.debian.org si deve essere certi che la segnalazione sia assegnata al pacchetto corretto, inserendo la voce Package all'inizio della pseudo-intestazione o usando il robot control@bugs.debian.org per (ri)assegnarla.

Usare dpkg per trovare il pacchetto e la versione per la segnalazione

Quando si utilizza reportbug per segnalare un bug in un comando, per esempio grep, il seguente comando selezione il giusto pacchetto e scrive la segnalazione in modo corretto: reportbug --file $(which grep)

Si può scoprire in quale pacchetto sia distribuito usando il comando dpkg --search. Per sapere la versione di un pacchetto installato si possono usare i comandi dpkg --list e dpkg --status.

Per esempio

$ which apt-get
/usr/bin/apt-get
$ type apt-get
apt-get is /usr/bin/apt-get
$ dpkg --search /usr/bin/apt-get
apt: /usr/bin/apt-get
$ dpkg --list apt
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err:
uppercase=bad)
||/ Name           Version        Description
+++-==============-==============-============================================
ii  apt            0.3.19         Advanced front-end for dpkg
$ dpkg --status apt
Package: apt
Status: install ok installed
Priority: standard
Section: base
Installed-Size: 1391
Maintainer: APT Development Team <deity@lists.debian.org>
Version: 0.3.19
Replaces: deity, libapt-pkg-doc (<< 0.3.7), libapt-pkg-dev (<<
0.3.7)
Provides: libapt-pkg2.7
Depends: libapt-pkg2.7, libc6 (>= 2.1.2), libstdc++2.10
Suggests: dpkg-dev
Conflicts: deity
Description: Advanced front-end for dpkg
 This is Debian's next generation front-end for the dpkg package manager.
 It provides the apt-get utility and APT dselect method that provides a
 simpler, safer way to install and upgrade packages.
 .
 APT features complete installation ordering, multiple source capability
 and several other unique features, see the Users Guide in
 /usr/doc/apt/guide.text.gz

Altri comandi e pacchetti utili

Il comando querybts, contenuto anch'esso nel pacchetto reportbug, fornisce una comoda interfaccia testuale al sistema di tracciamento dei bug.

Gli utenti di emacs possono anche usare il comando debian-bug fornito dal pacchetto debian-el. Quando richiamato tramite M-x debian-bug, richiede tutte le informazioni necessarie, similarmente a reportbug.


Altre pagine BTS (sistema di gestione delle anomalie)


Debian BTS administrators <owner@bugs.debian.org>

Debian bug tracking system
Copyright © 1999 Darren O. Benham, 1997, 2003 nCipher Corporation Ltd, 1994-1997 Ian Jackson.