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.
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.
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.
Non segnalare più bug slegati, soprattutto se relativi a pacchetti differenti, in un unico messaggio.
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.
È 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.
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.
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.
Si consiglia di includere nella segnalazione:
uname -a),
la versione della libreria C (scrivere ls -l /lib/libc.so.6 o
dpkg -s libc6 | grep ^Version), e ogni altro dettaglio riguardo
il sistema Debian che sembra utile. Per esempio, nel caso di un problema con
uno script Perl, si dovrebbe fornire la versione del binario perl(scrivere
perl -v o dpkg -s perl | grep
^Version:).reportbug -q --template
-T none -s none -S normal -b --list-cc none -q <pacchetto>, dato
che contiene l'output di alcuni script di manutenzione e le informazioni sulla
versione.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.
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.
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.
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.
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.
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.
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.
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.
PackageSe 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.
dpkg per trovare il pacchetto e
la versione per la segnalazioneQuando 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
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 bug tracking system
Copyright © 1999 Darren O. Benham, 1997, 2003 nCipher Corporation Ltd,
1994-1997 Ian Jackson.