## page was renamed from BugHelper/doc/WritingClueFiles ||<>|| = Writing clue files = As described in the [[BugHelper/doc|introductory documentation]] you can create simple cluefiles with {{{bugxml -a}}}. For more complex search criteria you need to edit the XML files as described here. The basic clue file created with {{{bugxml}}} has this header: {{{ }}} and contains a single clue on the form: {{{ crash A CRASHER BUG }}} and finally closes with: {{{ }}} You can add a long list of clues with the {{{ }}} tag, each with a list of search strings within {{{ }}} tags. Each clue also requires an {{{}}} tag to hold a brief description of the bug type. If the clue describes a duplicate then this description would typically be the title of the original bug. == Optional elements == '''Declaring duplicates:''' If you create a clue that searches for duplicates of bug #X you can note that specifically in the clue file. Bughelper will then refrain from listing this bug in these searches. {{{ 48355 }}} '''Inheritance:''' Clues can be inherited from other clue files. ''totem'' can for example inherit clues from ''gnome'' and ''gstreamer'': {{{ gnome gstreamer }}} '''Logical operators:''' You can also combine the logical opperators AND, OR and NOT to create detailed bug searches. Example: {{{ apples oranges pears bananas Bug description must contain 'apples' AND either 'oranges' OR 'pears'. It may not contain 'bananas'. }}} == Examples == Real-life examples from {{{packages/ubiquity.info}}}: {{{ 48355 IOError: [Errno 28] No space left on device copy_all stepPartAdvanced This is a dupe of 48355 if the system partitions are big enough 48856 AttributeError: 'NoneType' object has no attribute 'stdin' print >>self.gparted_subp.stdin, "apply" This is a duplicate of 48856, which was fixed in 1.0.13 and 1.1.1 }}} = Sharing clue files = The real benefits of bughelper become apparent when bug triagers and developers share their knowledge of the through common clue files. === Preliminaries === 1. Get a Launchpad Account at https://launchpad.net/ 1. Add your SSH keys to https://launchpad.net/people/+me/+editsshkeys 1. Install `bzr`, it's a nice and handy tool. We use it for developing BugHelper: {{{ sudo apt-get install bzr}}} (if you installed bughelper on feisty, bzr will already be installed. 1. edit `~/.bazaar/bazaar.conf` and add something along the lines of:{{{ [DEFAULT] email=Daniel Holbach }}} so that your commit will be identified. 1. Create a directory for your local {{{bzr}}} branches{{{ mkdir ~/bzr; cd ~/bzr}}} === Get the latest copy of bughelper-data === 1. To start sharing clue files you must first check out the latest a copy of the shared repository as a local {{{bzr}}} branch:{{{ bzr checkout lp:~bugsquad/bughelper-data/main bughelper-data}}} This is actually the same repository that {{{bughelper}}} updates its clue files from normally, but with this format you can make changes and upload them again with bzr. 1. Generate default bughelper config:{{{ bughelper --gen-config}}} 1. Edit `~/.bughelper/config` to contain the path to bughelper-data (you just checked out) in the `Local-Packages-Dir:` line. === Editing and uploading === Add a new clue with {{{bugxml -a}}} or simply edit the {{{.info}}} for a given package. From the {{{bughelper-data}}} directory, run {{{ bzr unknowns }}} to see if your clue file is listed as a new file. If so, you first have to add it with {{{ bzr add }}} If you have simply edited an existing file you can go directly to the commit step: {{{ bzr commit -m "added a totem clue" }}} Optionally, you can edit the `Local-Packages-Dir:` line of `~/.bughelper/config` to contain the path to the bughelper-data {{{bzr}}} directory. The directory you created with the {{{bzr}}} then becomes you local working directory. Make changes there as you experiment with new clues and commit the ones that work well. ---- Go back to '''[[BugHelper/doc]]'''.<
> CategoryBugSquad<
> CategoryBugHelper