Come segnalare un bug in Debian con reportbug

Per segnalare un bug in Debian si raccomanda di usare il programma reportbug.

Sulla maggior parte dei sistemi reportbug è già installato. Se non fosse disponibile, può essere installato utilizzando lo strumento di gestione dei pacchetti disponibile sul proprio sistema.

reportbug può essere avviato dalla sezione Sistema del menù oppure eseguendo reportbug dalla riga di comando.

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

Cose importanti da conoscere prima di inviare la segnalazione

A quale pacchetto la segnalazione attribuisce un bug?

Si deve conoscere a quale pacchetto la propria segnalazione attribuisce un bug. Per sapere come trovare questa informazione, vedere questo esempio (questa informazione è utile anche per verificare se il bug è stato già segnalato).

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

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 è stato già segnalato?

Prima di inviare la segnalazione di un bug si deve controllare se lo stesso bug è stato già comunicato; per consultare i bug già aperti per uno specifico pacchetto usare l'opzione pacchetto nel modulo di ricerca. Se il bug è stato già comunicato nella segnalazione numero #<numero>, è opportuno aggiungere i propri commenti inviando una e-mail all'indirizzo <numero>@bugs.debian.org anziché inserire una nuova segnalazione di un bug.

Inviare una segnalazione per ogni bug

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

Non segnalare il bug agli sviluppatori

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

Inviare segnalazioni 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 raccomanda di utilizzarlo!

Intestazioni

Come per ogni e-mail, è necessario 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 segnalazione è 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 che la riga Package della pseudo-intestazione sia corretta affinché il sistema di gestione dei bug possa inviare il messaggio a chi manutiene il pacchetto. Si veda questo esempio per informazioni su come rintracciare questo dato.

Esistono 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 eseguo 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 da chi manutiene il pacchetto, che sono i normali destinatari del messaggio.

Si potrebbe inserire gli indirizzi in più nel campo CC della e-mail, però queste copie non avranno il numero associato alla segnalazione nei campi Reply-To e Subject. Inoltre, se gli altri destinatari risponderanno al messaggio spediranno all'indirizzo submit@bugs.debian.org e quindi il loro messaggio di risposta diventa una nuova segnalazione di bug. Ciò genera molte segnalazioni duplicate.

Il modo corretto per inviare copie della segnalazione è usare la pseudo-intestazione X-Debbugs-CC. Aggiungere una riga simile a questa nella pseudo-intestazione della segnalazione:

X-Debbugs-CC: altra-lista@cosmic.edu

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

Per inviare copie del messaggio a più indirizzi è sufficiente inserire tutti gli indirizzi nella riga X-Debbugs-CC separandoli con una virgola.

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 inviare una copia della segnalazione verso altre segnalazioni, il numero del bug aggiunto da questo meccanismo viene semplicemente sostituito da uno nuovo; è preferibile usare 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, è 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: <gravità>

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

Aggiunta di tag

È possibile 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, inserire una riga come questa nella pseudo-intestazione:

Tags: <tag>

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

User: <nome utente>
Usertags: <tag utente>

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

È possibile impostare più tag utente al momento dell'invio della segnalazione inserendo più pseudo-intestazioni User, ogni pseudo-intestazione Usertags imposta un tag utente relativa alla pseudo-intestazione User precedente. Ciò è particolarmente utile per impostare i tag utente per un gruppo con più utenti, per impostare i tag utente per più gruppi o per impostare i tag utente per architettura per i bug che interessano più architetture.

User: <primo nome utente>
Usertags: <tag utente del primo nome utente>
User: <secondo nome utente>
Usertags: <tag utente del secondo nome utente>

Impostazione dell'inoltro della segnalazione

Forwarded: foo@example.com

marca il bug appena segnalato come inoltrato a foo@example.com. Vedere Registrazione di segnalazione esterna a Debian nella documentazione per gli sviluppatori per i dettagli.

Cambiare l'assegnatario

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.

Pacchetto sorgente

Source: pacchetto_pippo

L'equivalente di Package: per i bug presenti nel pacchetto sorgente di pacchetto_pippo; per la maggior parte dei bug e per la maggior parte dei pacchetti non serve usare questa opzione.

Comandi di controllo

Control: comandi di controllo

Permette di usare tutti i comandi che devono essere inviati a control@bugs.debian.org anche quando sono spediti a submit@bugs.debian.org o nnn@bugs.debian.org. Con -1 è possibile far riferimento al bug corrente (cioè al bug creato con la mail a submit@ oppure al bug verso cui si invia la mail nnn@). Per maggiori informazioni sui comandi di controllo validi consultare la documentazione del server di controllo.

Per esempio, la seguente pseudo-intestazione in un messaggio inviato a 12345@bugs.debian.org:

Control: retitle -1 this is the title
Control: severity -1 normal
Control: summary -1 0
Control: forwarded -1 https://bugs.debian.org/nnn

Implicherà che il bug 12345 cambi titolo e gravità, che sia impostato summary e che sia marcato come forwarded.

Intestazioni X-Debbugs-

Infine, se il proprio MUA non consente di modificare le intestazioni, è possibile inserire 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.

Quando si inviano molte segnalazioni in una volta, si dovrebbe assolutamente utilizzare maintonly@bugs.debian.org in modo da non provocare 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 la segnalazione di un bug che il manutentore già conosce è possibile utilizzare quiet@bugs.debian.org. Le segnalazioni spedite a quiet@bugs.debian.org non sono inoltrate a nessuno, vengono solo registrate.

Quando si utilizza uno degli indirizzi alternativi per segnalare bug, il sistema di gestione dei bug imposta il Reply-To di ogni messaggio in modo da elaborare automaticamente le risposte nello 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.

Notifiche di ricezione

Normalmente il sistema di tracciamento dei bug spedisce un'e-mail come notifica di ricezione quando si invia una segnalazione di bug o si forniscono informazioni aggiuntive ad un bug esistente. Per evitare queste notifiche, inserire X-Debbugs-No-Ack nell'intestazione o nelle pseudo-intestazioni nel messaggio (il contenuto dell'intestazione non ha importanza). Quando si invia una nuova segnalazione con questa intestazione sarà necessario utilizzare l'interfaccia web per sapere quale numero è stato assegnato al bug.

Notare che questa intestazione non elimina le notifiche provenienti dal server di posta control@bugs.debian.org, visto che tali notifiche 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 che lo spam 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 raggiungono 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 il messaggio era stato inviato all'indirizzo 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 da inserire nella segnalazione

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

È possibile scoprire in quale pacchetto è distribuito usando il comando dpkg --search. Per sapere la versione installata di un pacchetto 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.