Reportbug: differenze tra le versioni

m
nessun oggetto della modifica
mNessun oggetto della modifica
mNessun oggetto della modifica
 
(18 versioni intermedie di 5 utenti non mostrate)
Riga 1: Riga 1:
{{Versioni compatibili|Tutte le versioni di Debian|}}
{{Versioni compatibili}}
== Introduzione ==
La segnalazione dei bug è un'attività importantissima perché facilita la risoluzione rapida dei problemi che affliggono il software e quindi contribuisce a migliorare la qualità generale della distribuzione che si utilizza.
È qualcosa su cui tutti gli utenti dovrebbero prestare attenzione perché è un eccellente modo di contribuire visto, tra l'altro, che  per poterlo fare non è assolutamente necessario essere degli sviluppatori o avere delle competenze specifiche.


Reportbug è un software (presente nei [[repository]] di tutti e tre i rami di Debian) pensato per facilitare la compilazione e l'invio dei report relativi a "difetti" e malfunzionamenti.<br/>
Aiuta a produrre dei report dettagliati, aderenti agli standard e "leggibili".


In questa sede si esplorerà la configurazione e l'utilizzo di questo strumento in modo tale da poter fornire delle linee guida alle quali attenersi in quelle situazioni in cui ci si dovesse ritrovare davanti ad un malfunzionamento.<br/>
In quel caso, invece di ignorare subito il problema e prima di tuffarsi alla ricerca di una soluzione o workaround, si potrà provvedere ad inviare una segnalazione di bug.<br/>
Prima di far questo, però, sarà doveroso accertarsi che si tratti proprio di un malfunzionamento e non di una caratteristica... e che qualcuno non abbia già segnalato la cosa prima di noi.


 
== Installazione ==
=Introduzione=
 
La segnalazione dei bug è un'attività importantissima perché facilita la risoluzione rapida dei problemi che affliggono il software e quindi contribuisce a migliorare la qualità generale della distribuzione che si utilizza.<br />
È qualcosa che tutti gli utenti dovrebbero prestare attenzione perché è un eccellente modo di contribuire visto, tra l'altro, che  per poterlo fare non è assolutamente necessario essere degli sviluppatori o avere delle competenze specifiche.
 
Reportbug è un software (presente nei repository di tutti e tre i rami di Debian) pensato per facilitare la compilazione e l'invio dei report relativi a "difetti" e malfunzionamenti.<br />
Aiuta a produrre dei report dettagliati, aderenti agli standard e "leggibili".<br />
 
In questa sede si esplorerà la configurazione e l'utilizzo di questo strumento in modo tale da poter fornire delle linee guida alle quali attenersi in quelle situazioni in cui ci si dovesse ritrovare davanti ad un malfunzionamento.<br />
In quel caso, invece di ignorare subito il problema e prima di tuffarsi alla ricerca di una soluzione o workaround, si potrà provvedere ad inviare una segnalazione di bug.<br />
Prima di far questo, però, sarà doveroso accertarsi che si tratti proprio di un malfunzionamento e non di una caratteristica.. e che qualcuno non abbia già segnalato la cosa prima di noi.<br />
<br />
 
=Installazione=
 
Come detto, reportbug è presente nei repository, quindi per installarlo basterà:
Come detto, reportbug è presente nei repository, quindi per installarlo basterà:
<pre>
<pre>
# apt-get install reportbug
# apt-get install reportbug
</pre>
</pre>
<br />
=Configurazione=
Al primo avvio il sistema porrà delle domande riguardanti l'utente e le impostazioni della macchina host.
Queste informazioni verranno scritte nel file <code>.reportbugrc</code> all'interno della home directory di chi lo lancia (non è consigliabile eseguirlo da root).<br />


Conterrà sia l'eseguibile <code>reportbug</code>, sia <code>querybts</code> che può essere utilizzato per controllare eventuali bug presenti in un pacchetto prima di inviare la propria segnalazione.
== Configurazione ==
Al primo avvio il sistema porrà delle domande riguardanti l'utente e le impostazioni della macchina host.<br/>
Queste informazioni verranno scritte nel file <code>.reportbugrc</code> all'interno della home directory di chi lo lancia (non è consigliabile eseguirlo da [[root]]).
<pre>
<pre>
v1:~$ reportbug
$ reportbug


Welcome to reportbug! Since it looks like this is the first time you have used reportbug, we are configuring its behavior. These settings will be saved to the file "/home/nome-utente/.reportbugrc",  
Welcome to reportbug! Since it looks like this is the first time you have used reportbug, we are configuring its behavior. These settings will be saved to the file "/home/nome-utente/.reportbugrc",  
Riga 36: Riga 29:
Please choose the default operating mode for reportbug.
Please choose the default operating mode for reportbug.


1 novice Offer simple prompts, bypassing technical questions.
1 novice   Offer simple prompts, bypassing technical questions.


2 standard  Offer more extensive prompts, including asking about things that a moderately  sophisticated user would be expected to know about Debian.
2 standard  Offer more extensive prompts, including asking about things that a moderately  sophisticated user would be expected to know about Debian.
Riga 46: Riga 39:
Select mode: [novice]  
Select mode: [novice]  
</pre>
</pre>
Questa prima domanda riguarda il nostro "livello" di abilità. Si va da ''novice'' (domande semplici evitando complicate questioni tecniche) fino, gradualmente, a ''expert''.<br />
 
Si risponderà secondo il proprio grado di preparazione tecnica.<br />
Questa prima domanda riguarda il nostro "livello" di abilità. Si va da ''novice'' (domande semplici evitando complicate questioni tecniche) fino, gradualmente, a ''expert''.<br/>
<br />
Si risponderà secondo il proprio grado di preparazione tecnica.
<pre>
<pre>
Please choose the default interface for reportbug.
Please choose the default interface for reportbug.


1 text (1) A text-oriented console user interface
1 text  A text-oriented console user interface
 
2 gtk2 (2)  A graphical (GTK+) user interface


3 urwid (3) A menu-based console user interface
2 gtk2  A graphical (GTK+) user interface.


Select interface:  
Select interface:  
</pre>
</pre>


È il momento di scegliere l'interfaccia che si vuole utilizzare: testuale, grafica oppure testuale basata su menù.<br />
È il momento di scegliere l'interfaccia che si vuole utilizzare: testuale oppure grafica.
<br />
<pre>
<pre>
Will reportbug often have direct Internet access? (You should answer yes to this question unless you know what you are doing and plan to check whether duplicate reports have been filed via some other channel.) [Y|n|q|?]?
Will reportbug often have direct Internet access? (You should answer yes to this question unless you know what you are doing and plan to check whether duplicate reports have been filed via some other channel.) [Y|n|q|?]?
</pre>
</pre>
Si risponderà Y se c'è un accesso diretto ad Internet (facendo attenzione, prima di ciascun invio, di evitare duplicati di segnalazioni già presenti).<br />
Si risponderà Y se c'è un accesso diretto ad Internet (facendo attenzione, prima di ciascun invio, di evitare duplicati di segnalazioni già presenti).
<br />
<pre>
<pre>
What real name should be used for sending bug reports?
What real name should be used for sending bug reports?
Riga 73: Riga 62:


Which of your email addresses should be used when sending bug reports? (Note that this address will be visible in the bug tracking system, so you may want to use a webmail address or another address
Which of your email addresses should be used when sending bug reports? (Note that this address will be visible in the bug tracking system, so you may want to use a webmail address or another address
with good spam filtering capabilities.)<br />
with good spam filtering capabilities.)
[pmate@debian.mine]>
[pmate@debian.mine]>
</pre>
</pre>
Si forniranno le informazioni relative al nome di chi invierà le segnalazioni e al suo indirizzo email.<br />
Si forniranno le informazioni relative al nome di chi invierà le segnalazioni e al suo indirizzo email.
<br />
 
<pre>
<pre>
Do you have a "mail transport agent" (MTA) like Exim, Postfix or SSMTP configured on this computer to send mail to the Internet? [Y|n|q|?]?  
Do you have a "mail transport agent" (MTA) like Exim, Postfix or SSMTP configured on this computer to send mail to the Internet? [Y|n|q|?]?  
</pre>
</pre>
Si risponderà Y se c'è un MTA configurato nel sistema in uso: penserà lui ad inviare in automatico le segnalazioni.<br />
Si risponderà Y se c'è un MTA configurato nel sistema in uso: penserà lui ad inviare in automatico le segnalazioni.
<br />
<pre>
<pre>
Please enter the name of your SMTP host.  Usually it's called something like "mail.example.org" or "smtp.example.org". If you need to use a different port than default, use the <host>:<port> alternative format.
Please enter the name of your SMTP host.  Usually it's called something like "mail.example.org" or "smtp.example.org". If you need to use a different port than default, use the <host>:<port> alternative format.
Riga 90: Riga 76:
>  
>  
</pre>
</pre>
Nel caso in cui esista, si inserirà il nome dell'host SMTP o si presserà semplicemente ENTER per continuare.<br />
Nel caso in cui esista, si inserirà il nome dell'host SMTP o si presserà semplicemente ENTER per continuare.
<br />


<pre>
<pre>
Riga 98: Riga 83:
Just press ENTER if you don't have one or don't know.
Just press ENTER if you don't have one or don't know.
</pre>
</pre>
Stessa cosa per quanto riguarda un eventuale server proxy.<br />


Stessa cosa per quanto riguarda un eventuale server proxy.
<pre>
<pre>
Default preferences file written. To reconfigure, re-run reportbug with the "--configure" option.
Default preferences file written. To reconfigure, re-run reportbug with the "--configure" option.
</pre>
</pre>


A questo punto le impostazioni sono state scritte nel file <code>.reportbugrc</code>.<br />
{{Box|Nota|Se sul nostro sistema non c'è un MTA configurato per mandare email e non abbiamo inserito il nome di un host smtp è comunque possibile inviare le segnalazioni di bug dato che reportbug verrà configurato per utilizzare l'host smtp di Debian}}
<br /><br />
 
A questo punto le impostazioni sono state scritte nel file <code>.reportbugrc</code>.


/home/pmate/.reportbugrc:
'''/home/pmate/.reportbugrc''':
<pre>
<pre>
# reportbug preferences file
# reportbug preferences file
Riga 130: Riga 115:
# /etc/reportbug.conf for a full listing of options.
# /etc/reportbug.conf for a full listing of options.
</pre>
</pre>
<br />


Sarà sempre possibile riavviare la medesima procedura di configurazione passando a reportbug il parametro "--configure":
Sarà sempre possibile riavviare la medesima procedura di configurazione passando a reportbug il parametro "--configure":
<pre>
<pre>
$ reportbug --configure
$ reportbug --configure
</pre>
</pre>
<br />


'''Integrazione con Gmail'''
=== Integrazione con Gmail ===
 
Potete usare il vostro account Gmail per inviare la vosta segnalazione del bug usando direttamente reportbug; dovrete aggiungere al file di configurazione  <code>.reportbugrc</code> le seguenti linee:
Potete usare il vostro account Gmail per inviare la vosta segnalazione del bug usando direttamente reportbug, dovrete aggiungere al file di configurazione  <code>.reportbugrc</code> le seguenti linee:
<pre>
<pre>
smtpuser <ilvostroutente>@gmail.com
smtpuser <ilvostroutente>@gmail.com
Riga 148: Riga 129:
</pre>
</pre>


'''Firma GPG/Mime'''
=== Firma GPG/Mime ===
 
Se avete una chiave [[GPG]] potete firmare la vostra email aggiungendo le linee:
Se avete una chiave GPG potete firmare la vostra email aggiungendo le linee:
<pre>
<pre>
sign gpg
sign gpg
Riga 156: Riga 136:
</pre>
</pre>


=La segnalazione=
== La segnalazione ==
Si simulerà la simulazione di un bug riscontrato in xterm e i passaggi necessari per inviarlo correttamente al bug tracking system.<br />
Si simulerà la simulazione di un bug riscontrato in <code>xterm</code> e i passaggi necessari per inviarlo correttamente al [[BTS|bug tracking system]].
<br />
 
Avviamo reportbug:
Per prima cosa dobbiamo individuare il [[pacchetto]] responsabile, con [[dpkg]] per esempio:
<pre>$ dpkg --search $(which xterm)
xterm: /usr/bin/xterm</pre>
 
In questo caso si tratta dell'omonimo ''xterm''. Si fosse trattato di un file di configurazione, sarebbe bastato riportare il percorso assoluto per individuare il pacchetto, per esempio:
<pre>$ dpkg --search /etc/...</pre>
 
Controlliamo con <code>querybts</code> i bug già individuati nel pacchetto ''xterm'':
<pre>
$ querybts xterm
</pre>
È possibile premere <code>?</code> per informazioni sulle opzioni disponibili (come filtrare i bug con una ricerca o mostrare la pagina successiva), o digitare il numero del bug (sia la forma progressiva #NNNN che la posizione occupata nella lista dei risultati attuali) per visualizzare direttamente quello.
 
Una volta controllato che si tratta di un nuovo bug, avviamo <code>reportbug</code>:
<pre>
<pre>
$ reportbug
$ reportbug
Riga 166: Riga 159:
> xterm
> xterm
</pre>
</pre>
La prima domanda che ci verrà posta è assolutamente scontata: il nome del pacchetto nel quale è stato riscontrato il problema.<br />
La prima domanda che ci verrà posta è assolutamente scontata: il nome del pacchetto nel quale è stato riscontrato il problema.
<br />
 
<pre>
<pre>
*** Welcome to reportbug.  Use ? for help at prompts. ***
*** Welcome to reportbug.  Use ? for help at prompts. ***
Riga 185: Riga 176:
> xterm CPU usage >50%
> xterm CPU usage >50%
</pre>
</pre>
Si dovrà poi inserire una breve descrizione del problema riscontrato.<br />
Si raccomanda di scriverlo in forma concisa visto che costituirà il subject del messaggio che verrà inviato al Bug Tracking System.<br />
<br />


Si dovrà poi inserire una breve descrizione del problema riscontrato.
Si raccomanda di scriverlo in forma concisa visto che costituirà il subject del messaggio che verrà inviato al Bug Tracking System.
<pre>
<pre>
How would you rate the severity of this problem or report?
How would you rate the severity of this problem or report?
Riga 215: Riga 205:
Spawning sensible-editor...
Spawning sensible-editor...
</pre>
</pre>
Viene il momento, poi, di assegnare un "voto" alla gravità del problema:
Ora viene il momento di assegnare un "voto" alla gravità del problema, ossia di decidere quale livello di [[severità]] assegnare al [[bug]].
* critical: problema gravissimo che mina la stabilità dell'intero sistema o provoca perdita di dati;
* grave: rende il pacchetto inutilizzabile o causa perdite di dati o ancora introduce seri problemi di sicurezza;
* serious: può non compromettere l'usabilità del software ma è un problema che viola gravemente le policy di Debian;
* important: bug che incide maggiormente sull'usabilità;
* does not build: bug che impedisce di compilare il pacchetto da sorgenti;
* normal: banali errori (ad esempio sintattici) che non influiscono sulle funzionalità di base;
* whishlist: suggerimenti e richieste per le release future.


 
Fatto questo, in automatico si aprirà l'[[Impostare l'editor predefinito della shell|editor]] di testo predefinito e verrà visualizzata la bozza del messaggio che si invierà al BTS.
Fatto questo, in automatico si aprirà l'editor di testo predefinito e verrà visualizzata la bozza del messaggio che si invierà al BTS.<br />
Si dovrà editare sotto la riga che recita:
Si dovrà editare sotto la riga che recita:
<pre>
<pre>
*** Please type your report below this line ***
*** Please type your report below this line ***
</pre>
</pre>
inserendo una descrizione dettagliata del problema riscontrato.<br />
inserendo una descrizione dettagliata del problema riscontrato.
<br />
Ad esempio:
Ad esempio:
<pre>
<pre>
Riga 243: Riga 224:
pmate
pmate
</pre>
</pre>
Inserita la descrizione, si dovrà salvare ed uscire dall'editor.<br /><br />
Inserita la descrizione, si dovrà salvare ed uscire dall'editor.
 
Reportbug porrà l'ultima domanda:
Reportbug porrà l'ultima domanda:
<pre>
<pre>
Riga 249: Riga 231:
Submit this report on xterm (e to edit) [Y|n|a|c|e|i|l|m|p|q|d|t|s|?]? n
Submit this report on xterm (e to edit) [Y|n|a|c|e|i|l|m|p|q|d|t|s|?]? n
</pre>
</pre>
Rispondendo Y (ammesso che ci sia un MTA attivo sul sistema) il report del bug verrà inviato.<br />
Rispondendo Y il report del bug verrà inviato.
Stoppando invece l'operazione:
Stoppando invece l'operazione:
<pre>
<pre>
Riga 260: Riga 242:
</pre>
</pre>
verremo informati che il report è stato creato e conservato nel file temporaneo ''/tmp/reportbug-xterm-20100220-25271-NPlCvG''. Sarà possibile allora copiarne il contenuto ed incollarlo nel gestore di posta preferito e inviare la segnalazione
verremo informati che il report è stato creato e conservato nel file temporaneo ''/tmp/reportbug-xterm-20100220-25271-NPlCvG''. Sarà possibile allora copiarne il contenuto ed incollarlo nel gestore di posta preferito e inviare la segnalazione
all'indirizzo: submit@bugs.debian.org.<br />
all'indirizzo: submit@bugs.debian.org.
<br />
 
Questo il contenuto del file temporaneo generato dall'esempio su proposto:
Questo il contenuto del file temporaneo generato dall'esempio su proposto:
<pre>
<pre>
Riga 310: Riga 292:
-- no debconf information
-- no debconf information
</pre>
</pre>
<br />
Nel caso sia necessario inserire l'output di uno o più comandi per una dettagliata descrizione del bug, tener presente che i messaggi devono essere inseriti in lingua inglese; questo consentirà a chiunque di poterli comprendere e, quindi, di essere maggiormente utile alla risoluzione del problema. Per poter visualizzare i messaggi in inglese si può impostare temporaneamente la variabile "LANG":
=Conclusioni=
<pre>$ LANG=C nomecomando</pre>
Come si è visto la segnalazione di un bug non è un'operazione particolarmente complessa ed è alla portata di tutti.<br />
oppure:
<pre>$ LANG=C.UTF-8 nomecomando</pre>
dopo essersi accertati, con il comando "locale -a", che il locale scelto sia disponibile.
 
== Conclusioni ==
Come si è visto la segnalazione di un bug non è un'operazione particolarmente complessa ed è alla portata di tutti.<br/>
Basta solo cercare di compierla in maniera corretta avendo cura di:
Basta solo cercare di compierla in maniera corretta avendo cura di:
* accertarsi che si tratti di un vero problema e non di una feature prevista;
* accertarsi che si tratti di un vero problema e non di una feature prevista;
Riga 318: Riga 305:
* scrivere oggetto e descrizione in maniera chiara e... in inglese...!
* scrivere oggetto e descrizione in maniera chiara e... in inglese...!


Questo piccolo sforzo, come detto all'inizio, permette a chi sviluppa di ricevere feedback concreti sul funzionamento del software, di fixare i problemi in tempi rapidi e quindi di far sì che la nostra distribuzione diventi più stabile, sicura e performante.
Happy bug reporting!
== Collegamenti esterni ==
* [http://raphaelhertzog.com/2011/07/11/7-tips-to-file-useful-debian-bug-reports-and-get-your-problem-solved/ 7 trucchi per inviare bug report utili per Debian e vedere risolti i tuoi problemi] (in inglese)
{{Autori
| Autore = [[Utente:Pmate|pmate]] 20:59, 20 feb 2010 (CET)
| Verificata_da =
:[[Utente:Stemby|Stemby]]
:[[Utente:S3v|S3v]] 20:42, 19 ott 2013 (CEST)
: [[Utente:HAL 9000|HAL 9000]] 14:23, 20 apr 2015 (CEST)
: [[Utente:Ombra|Ombra]] 20:23, 16 mag 2015 (CEST)
| Estesa_da =
: [[Utente:HAL 9000|HAL 9000]]
| Numero_revisori = 4
}}


Questo piccolo sforzo, come detto all'inizio, permette a chi sviluppa di ricevere feedback concreti sul funzionamento del software, di fixare i problemi in tempi rapidi e quindi di far sì che la nostra distribuzione diventi più stabile, sicura e performante.<br />
<br /><br />
Happy bug reporting!<br />
<br /><br />
----
[[Utente:Pmate|pmate]] 20:59, 20 feb 2010 (CET)
----
<br />
[[Categoria:Programmi da terminale]]
[[Categoria:Programmi da terminale]]
3 581

contributi