STOP! Perché questa guida si trova sotto la pagina Cestino?. Una guida può essere cestinata dal Gruppo Documentazione se contiene istruzioni compatibili solo con rilasci non più supportati di Ubuntu oppure perché non si ha certezza che lo siano per i rilasci attualmente supportati. Queste pagine richiedono un aggiornamento e una verifica delle istruzioni contenute. Se vuoi riesumare una di queste guide contatta il Gruppo Documentazione nella board sul forum. |
Scrivere file indizio
Come descritto qui è possibile creare un semplice file indizio (clue file) con il comando:
bugxml -a
Per criteri di ricerca più complessi è necessario modificate il file XML come descritto di seguito.
Il file indizio di base creato con bugxml presenta questo header:
<?xml version="1.0"?> <clues version="0.1">
Che contiene un singolo indizio (clue) nel form:
<clue>
<contains>
<op>crash</op>
</contains>
<info>A CRASHER BUG</info>
</clue>Che viene chiuso con:
</clues>
Si può aggiungere una lunga lista di indizi tramite l'etichetta <clues> </clues>, ciascuna con una lista di stringhe di ricerca contenenti l'etichetta <op> </op>. Ciascun indizio richiede inoltre un etichetta <info> che contenga una breve descrizione del tipo di bug. Se l'indizio descrive un duplicato allora questa descrizione dovrebbe tipicamente esser il titolo del bug originale.
Elementi opzionali
Dichiarare duplicati: Se si crea un indizio che ricerca per duplicati di bug #X si può notare chiaramente nel file indizio. Bughelper si tratterrà quindi da elencare questo bug nelle queste ricerche.
{{{ <dontlist>
<bug>48355</bug>
</dontlist>
}}}
Eredità: Gli indizi possono esser ereditati da altri file indizio. totem può ad esempio ereditare indizi da gnome e gstreamer:
<inherits>
<inherit>gnome</inherit>
<inherit>gstreamer</inherit>
</inherits>Operatori logici: Puoi anche combinare gli operatori logici AND, OR e NOT per creare ricerche dettagliate dei bug. Esempio:
<clue>
<contains>
<and>
<op>apples</op>
<or>
<op>oranges</op>
<op>pears</op>
</or>
<bin=not op>bananas</op>
</and>
</contains>
<info>Bug description must contain 'apples' AND either 'oranges' OR 'pears'. It may not contain 'bananas'.</info>
</clue>
Esempi
Un esempio reale da packages/ubiquity.info:
<clues>
<clue>
<dontlist>
<bug>48355</bug>
</dontlist>
<contains>
<and>
<op>IOError: [Errno 28] No space left on device</op>
<op>copy_all</op>
<op bin="not">stepPartAdvanced</op>
</and>
</contains>
<info>This is a dupe of 48355 if the system partitions are big enough</info>
</clue>
<clue>
<dontlist>
<bug>48856</bug>
</dontlist>
<contains>
<and>
<op>AttributeError: 'NoneType' object has no attribute 'stdin'</op>
<op>print >>self.gparted_subp.stdin, "apply"</op>
</and>
</contains>
<info>This is a duplicate of 48856, which was fixed in 1.0.13 and 1.1.1</info>
</clue>
</clues>
Condividere file indizio
I reali benefici di bughelper diventano evidenti quando coloro che determinano la priorità dei bug e gli sviluppatori condividono le loro conoscenze attraverso i file comuni di indizio.
Per iniziare
Ottenere un account Launchpad
Aggiungere la vostra chiave SSH qui
Installare bzr, E' uno strumento buono e maneggevole. E' stato usato per sviluppare BugHelper:
sudo apt-get install bzr
modificare .bazaar/bazaar.conf e aggiungere qualcosa lungo la linea di:
{{{[DEFAULT] email=Daniel Holbach <daniel.holbach@ubuntu.com> }}} in questa maniera sarà identificato il vostro commit.
Create una cartella per il ramo locale bzr
{{{mkdir ~/bzr; cd ~/bzr }}}
Ottenere l'ultima versione di bughelper-data
Per iniziare a condividere i file indizio si deve prima controllare l'ultima copia dei repository condivisi come ramo locale bzr:
{{{bzr checkout sftp://YOUR-LAUNCHPAD-ID@bazaar.launchpad.net/~bugsquad/bughelper-data/main bughelper-data }}}
Questo è attualmente lo stesso repository da cui bughelper aggiorna i suoi file indizio normalmente, ma con questa formattazione si possono fare modifiche e ricaricarle di nuovo con bzr.
Modifica e upload
Aggiungere un nuovo indizio con bugxml -a o semplicemente editando il file .info per un dato pacchetto. Dalla cartella {bughelper-data, lanciate
bzr unknowns
per vedere se il nuovo file indizio è elencato come nuovo file. in questo modo, bisogna prima aggiungerlo col comando
bzr add <filename>
Se si è modificato un file esistente si può andare direttamente al passo di commit:
bzr commit -m "added a totem clue"
Optionalmente, si può modificare la Local-Packages-Dir: nella linea ~/.bughelper/config` che contiene il percorso alla cartella di bughelper-data bzr. La cartella creata con bzr diventa quindi la cartella di lavoro locale. Si possono fare cambiamenti qui per fare esperimenti con i nuovi file indizio e passare al commit di quelli che funzionano meglio.
