/[gentoo]/xml/htdocs/doc/en/bugzilla-howto.xml
Gentoo

Diff of /xml/htdocs/doc/en/bugzilla-howto.xml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.12 Revision 1.13
1<?xml version="1.0" encoding="UTF-8"?> 1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE guide SYSTEM "/dtd/guide.dtd"> 2<!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
3<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/bugzilla-howto.xml,v 1.12 2008/02/01 19:30:40 jkt Exp $ --> 3<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/bugzilla-howto.xml,v 1.13 2008/05/23 20:42:42 swift Exp $ -->
4 4
5<guide link="/doc/en/bugzilla-howto.xml"> 5<guide link="/doc/en/bugzilla-howto.xml">
6<title>Gentoo Bug Reporting Guide</title> 6<title>Gentoo Bug Reporting Guide</title>
7 7
8<author title="Author"> 8<author title="Author">
9 <mail link="chriswhite@gentoo.org">Chris White</mail> 9 <mail link="chriswhite@gentoo.org">Chris White</mail>
10</author> 10</author>
11<author title="Editor"> 11<author title="Editor">
12 <mail link="fox2mike@gentoo.org">Shyam Mani</mail> 12 <mail link="fox2mike@gentoo.org">Shyam Mani</mail>
13</author> 13</author>
14 14
15<abstract> 15<abstract>
16This document shows the proper method of reporting bugs using Bugzilla. 16This document shows the proper method of reporting bugs using Bugzilla.
17</abstract> 17</abstract>
18 18
189</p> 189</p>
190 190
191<pre caption="Running Our Program Through GDB"> 191<pre caption="Running Our Program Through GDB">
192$ <i>gdb --args ./bad_code `perl -e 'print Ax100'`</i> 192$ <i>gdb --args ./bad_code `perl -e 'print Ax100'`</i>
193GNU gdb 6.3 193GNU gdb 6.3
194Copyright 2004 Free Software Foundation, Inc. 194Copyright 2004 Free Software Foundation, Inc.
195GDB is free software, covered by the GNU General Public License, and you are 195GDB is free software, covered by the GNU General Public License, and you are
196welcome to change it and/or distribute copies of it under certain conditions. 196welcome to change it and/or distribute copies of it under certain conditions.
197Type "show copying" to see the conditions. 197Type "show copying" to see the conditions.
198There is absolutely no warranty for GDB. Type "show warranty" for details. 198There is absolutely no warranty for GDB. Type "show warranty" for details.
199This GDB was configured as "i686-pc-linux-gnu"...Using host libthread_db library "/lib/libthread_db.so.1". 199This GDB was configured as "i686-pc-linux-gnu"...Using host libthread_db library "/lib/libthread_db.so.1".
200</pre> 200</pre>
201 201
202<note> 202<note>
203One can also debug with core dumps. These core files contain the same 203One can also debug with core dumps. These core files contain the same
204information that the program would produce when run with gdb. In order to debug 204information that the program would produce when run with gdb. In order to debug
205with a core file with bad_code, you would run <c>gdb ./bad_code core</c> where 205with a core file with bad_code, you would run <c>gdb ./bad_code core</c> where
206core is the name of the core file. 206core is the name of the core file.
207</note> 207</note>
208 208
209<p> 209<p>
210You should see a prompt that says "(gdb)" and waits for input. First, we have to 210You should see a prompt that says "(gdb)" and waits for input. First, we have to
211run the program. We type in <c>run</c> at the command and receive a notice like: 211run the program. We type in <c>run</c> at the command and receive a notice like:
212</p> 212</p>
213 213
214<pre caption="Running the program in GDB"> 214<pre caption="Running the program in GDB">
215(gdb) <i>run</i> 215(gdb) <i>run</i>
216Starting program: /home/chris/bad_code 216Starting program: /home/chris/bad_code
217 217
218Program received signal SIGSEGV, Segmentation fault. 218Program received signal SIGSEGV, Segmentation fault.
2190xb7ec6dc0 in strcpy () from /lib/libc.so.6 2190xb7ec6dc0 in strcpy () from /lib/libc.so.6
315size can be worth it if presenting debug information to developers. The 315size can be worth it if presenting debug information to developers. The
316backtrace can be saved to a file by copying and pasting from the terminal (if 316backtrace can be saved to a file by copying and pasting from the terminal (if
317it's a non-x based terminal, you can use gpm. To keep this doc simple, I 317it's a non-x based terminal, you can use gpm. To keep this doc simple, I
318recommend you read up on the <uri link="/doc/en/gpm.xml#doc_chap4">documentation 318recommend you read up on the <uri link="/doc/en/gpm.xml#doc_chap4">documentation
319for gpm</uri> to see how to copy and paste with it). Now that we're done with 319for gpm</uri> to see how to copy and paste with it). Now that we're done with
320<c>gdb</c>, we can quit. 320<c>gdb</c>, we can quit.
321</p> 321</p>
322 322
323<pre caption="Quitting GDB"> 323<pre caption="Quitting GDB">
324(gdb) <i>quit</i> 324(gdb) <i>quit</i>
325The program is running. Exit anyway? (y or n) <i>y</i> 325The program is running. Exit anyway? (y or n) <i>y</i>
326$ 326$
327</pre> 327</pre>
328 328
329<p> 329<p>
330This ends the walk-through of <c>gdb</c>. Using <c>gdb</c>, we hope that you will 330This ends the walk-through of <c>gdb</c>. Using <c>gdb</c>, we hope that you
331be able to use it to create better bug reports. However, there are other types 331will be able to use it to create better bug reports. However, there are other
332of errors that can cause a program to fail during run time. One of the other 332types of errors that can cause a program to fail during run time. One of the
333ways is through improper file access. We can find those using a nifty little 333other ways is through improper file access. We can find those using a nifty
334tool called <c>strace</c>. 334little tool called <c>strace</c>.
335</p> 335</p>
336 336
337</body> 337</body>
338</section> 338</section>
339</chapter> 339</chapter>
340 340
341<chapter> 341<chapter>
342<title>Finding file access errors using strace</title> 342<title>Finding file access errors using strace</title>
343<section> 343<section>
344<title>Introduction</title> 344<title>Introduction</title>
345<body> 345<body>
346 346
347<p> 347<p>
348Programs often use files to fetch configuration information, access hardware or 348Programs often use files to fetch configuration information, access hardware or
349write logs. Sometimes, a program attempts to reach such files incorrectly. A 349write logs. Sometimes, a program attempts to reach such files incorrectly. A
350tool called <c>strace</c> was created to help deal with this. <c>strace</c> 350tool called <c>strace</c> was created to help deal with this. <c>strace</c>
351traces system calls (hence the name) which include calls that use the memory and 351traces system calls (hence the name) which include calls that use the memory and
352files. For our example, we're going to take a program foobar2. This is an 352files. For our example, we're going to take a program foobar2. This is an
353updated version of foobar. However, during the change over to foobar2, you notice 353updated version of foobar. However, during the change over to foobar2, you
354all your configurations are missing! In foobar version 1, you had it setup to 354notice all your configurations are missing! In foobar version 1, you had it
355say "foo", but now it's using the default "bar". 355setup to say "foo", but now it's using the default "bar".
356</p> 356</p>
357 357
358<pre caption="Foobar2 With an invalid configuration"> 358<pre caption="Foobar2 With an invalid configuration">
359$ <i>./foobar2</i> 359$ <i>./foobar2</i>
360Configuration says: bar 360Configuration says: bar
361</pre> 361</pre>
362 362
363<p> 363<p>
364Our previous configuration specifically had it set to foo, so let's use 364Our previous configuration specifically had it set to foo, so let's use
365<c>strace</c> to find out what's going on. 365<c>strace</c> to find out what's going on.
366</p> 366</p>
367 367
368</body> 368</body>
369</section> 369</section>
370<section> 370<section>
442<pre caption="emerge Error"> 442<pre caption="emerge Error">
443gcc -D__TEST__ -D__GNU__ -D__LINUX__ -L/usr/lib -I/usr/include -L/usr/lib/nspr/ -I/usr/include/fmod -c -o foobar2-7.o foobar2-7.c 443gcc -D__TEST__ -D__GNU__ -D__LINUX__ -L/usr/lib -I/usr/include -L/usr/lib/nspr/ -I/usr/include/fmod -c -o foobar2-7.o foobar2-7.c
444gcc -D__TEST__ -D__GNU__ -D__LINUX__ -L/usr/lib -I/usr/include -L/usr/lib/nspr/ -I/usr/include/fmod -c -o foobar2-8.o foobar2-8.c 444gcc -D__TEST__ -D__GNU__ -D__LINUX__ -L/usr/lib -I/usr/include -L/usr/lib/nspr/ -I/usr/include/fmod -c -o foobar2-8.o foobar2-8.c
445gcc -D__TEST__ -D__GNU__ -D__LINUX__ -L/usr/lib -I/usr/include -L/usr/lib/nspr/ -I/usr/include/fmod -c -o foobar2-9.o foobar2-9.c 445gcc -D__TEST__ -D__GNU__ -D__LINUX__ -L/usr/lib -I/usr/include -L/usr/lib/nspr/ -I/usr/include/fmod -c -o foobar2-9.o foobar2-9.c
446gcc -D__TEST__ -D__GNU__ -D__LINUX__ -L/usr/lib -I/usr/include -L/usr/lib/nspr/ -I/usr/include/fmod -c -o foobar2.o foobar2.c 446gcc -D__TEST__ -D__GNU__ -D__LINUX__ -L/usr/lib -I/usr/include -L/usr/lib/nspr/ -I/usr/include/fmod -c -o foobar2.o foobar2.c
447foobar2.c:1:17: ogg.h: No such file or directory 447foobar2.c:1:17: ogg.h: No such file or directory
448make: *** [foobar2.o] Error 1 448make: *** [foobar2.o] Error 1
449 449
450!!! ERROR: sys-apps/foobar2-1.0 failed. 450!!! ERROR: sys-apps/foobar2-1.0 failed.
451!!! Function src_compile, Line 19, Exitcode 2 451!!! Function src_compile, Line 19, Exitcode 2
452!!! Make failed! 452!!! Make failed!
453!!! If you need support, post the topmost build error, NOT this status message 453!!! If you need support, post the topmost build error, NOT this status message
454</pre> 454</pre>
455 455
456<p> 456<p>
457The program is compiling smoothly when it suddenly stops and presents an error message. This 457The program is compiling smoothly when it suddenly stops and presents an error
458particular error can be split into 3 different sections, The compile messages, the build 458message. This particular error can be split into 3 different sections, The
459error, and the emerge error message as shown below. 459compile messages, the build error, and the emerge error message as shown below.
460</p> 460</p>
461 461
462<pre caption="Parts of the error"> 462<pre caption="Parts of the error">
463<comment>(Compilation Messages)</comment> 463<comment>(Compilation Messages)</comment>
464gcc -D__TEST__ -D__GNU__ -D__LINUX__ -L/usr/lib -I/usr/include -L/usr/lib/nspr/ -I/usr/include/fmod -c -o foobar2-7.o foobar2-7.c 464gcc -D__TEST__ -D__GNU__ -D__LINUX__ -L/usr/lib -I/usr/include -L/usr/lib/nspr/ -I/usr/include/fmod -c -o foobar2-7.o foobar2-7.c
465gcc -D__TEST__ -D__GNU__ -D__LINUX__ -L/usr/lib -I/usr/include -L/usr/lib/nspr/ -I/usr/include/fmod -c -o foobar2-8.o foobar2-8.c 465gcc -D__TEST__ -D__GNU__ -D__LINUX__ -L/usr/lib -I/usr/include -L/usr/lib/nspr/ -I/usr/include/fmod -c -o foobar2-8.o foobar2-8.c
466gcc -D__TEST__ -D__GNU__ -D__LINUX__ -L/usr/lib -I/usr/include -L/usr/lib/nspr/ -I/usr/include/fmod -c -o foobar2-9.o foobar2-9.c 466gcc -D__TEST__ -D__GNU__ -D__LINUX__ -L/usr/lib -I/usr/include -L/usr/lib/nspr/ -I/usr/include/fmod -c -o foobar2-9.o foobar2-9.c
467gcc -D__TEST__ -D__GNU__ -D__LINUX__ -L/usr/lib -I/usr/include -L/usr/lib/nspr/ -I/usr/include/fmod -c -o foobar2.o foobar2.c 467gcc -D__TEST__ -D__GNU__ -D__LINUX__ -L/usr/lib -I/usr/include -L/usr/lib/nspr/ -I/usr/include/fmod -c -o foobar2.o foobar2.c
468 468
469<comment>(Build Error)</comment> 469<comment>(Build Error)</comment>
470foobar2.c:1:17: ogg.h: No such file or directory 470foobar2.c:1:17: ogg.h: No such file or directory
471make: *** [foobar2.o] Error 1 471make: *** [foobar2.o] Error 1
472 472
473<comment>(emerge Error)</comment> 473<comment>(emerge Error)</comment>
474!!! ERROR: sys-apps/foobar2-1.0 failed. 474!!! ERROR: sys-apps/foobar2-1.0 failed.
646<figure link="/images/docs/bugzie-content.png" caption="Content"/> 646<figure link="/images/docs/bugzie-content.png" caption="Content"/>
647 647
648<p> 648<p>
649The first field is the summary of the bug. Here we're simply going to put the 649The first field is the summary of the bug. Here we're simply going to put the
650name of the package that's crashing. If bugzie doesn't return results, try 650name of the package that's crashing. If bugzie doesn't return results, try
651removing the package name, just in case someone didn't put that in the summary 651removing the package name, just in case someone didn't put that in the summary
652(highly unlikely, but we've seen a fair share of strange bug reports). 652(highly unlikely, but we've seen a fair share of strange bug reports).
653</p> 653</p>
654 654
655<p> 655<p>
656Product, Component, and Version should all be set to the default. This 656Product, Component, and Version should all be set to the default. This
657prevents us from being too specific and missing all the bugs. 657prevents us from being too specific and missing all the bugs.
658</p> 658</p>
659 659
660<p> 660<p>
661Comment is the important part. Use the comment field to list what appears to be a 661Comment is the important part. Use the comment field to list what appears to be
662specific instance of the error. Basically, don't use anything like the 662a specific instance of the error. Basically, don't use anything like the
663beginning of the build error, find a line that's before it stating a true 663beginning of the build error, find a line that's before it stating a true
664error. Also, you'll want to filter out any punctuation to prevent bugzilla 664error. Also, you'll want to filter out any punctuation to prevent bugzilla
665from interpreting the results the comment the wrong way. Example from the xclass 665from interpreting the results the comment the wrong way. Example from the xclass
666emerge error: 666emerge error:
667</p> 667</p>
668 668
669<pre caption="Comment Line Content"> 669<pre caption="Comment Line Content">
670menudef.h:78: error: brace-enclosed initializer used to initialize `OXPopupMenu' 670menudef.h:78: error: brace-enclosed initializer used to initialize `OXPopupMenu'
671<comment>(Remove the quotes ' ')</comment> 671<comment>(Remove the quotes ' ')</comment>
672menudef.h 78 error brace-enclosed initializer used to initialize OXPopupMenu 672menudef.h 78 error brace-enclosed initializer used to initialize OXPopupMenu
673</pre> 673</pre>
674 674
675<p> 675<p>
676The above is specific enough to where we'll find the bug without wading through 676The above is specific enough to where we'll find the bug without wading through
677other xclass compile failure candidates. 677other xclass compile failure candidates.
760 760
761<p> 761<p>
762Another common misconception occurs with our Documentation bugs. For example, a 762Another common misconception occurs with our Documentation bugs. For example, a
763user finds a bug with the <uri link="/proj/en/releng/catalyst/">Catalyst 763user finds a bug with the <uri link="/proj/en/releng/catalyst/">Catalyst
764Docs</uri>. The general tendency is to file a bug under Docs-user, which gets 764Docs</uri>. The general tendency is to file a bug under Docs-user, which gets
765assigned to the <uri link="http://gdp.gentoo.org">GDP</uri>, when it should 765assigned to the <uri link="http://gdp.gentoo.org">GDP</uri>, when it should
766actually go to a member of the <uri link="/proj/en/releng/">Release 766actually go to a member of the <uri link="/proj/en/releng/">Release
767Engineering</uri> team. As a rule of thumb, only documentation under 767Engineering</uri> team. As a rule of thumb, only documentation under
768<path>http://www.gentoo.org/doc/*</path> is under the GDP. Anything under 768<path>http://www.gentoo.org/doc/*</path> is under the GDP. Anything under
769<path>http://www.gentoo.org/proj/*</path> is under the respective teams. 769<path>http://www.gentoo.org/proj/*</path> is under the respective teams.
770</p> 770</p>
771 771
772<note> 772<note>
773We would rather see a bug whose product was not supposed to be Gentoo Linux but 773We would rather see a bug whose product was not supposed to be Gentoo Linux but
774has been filed under the same rather than seeing a bug which belongs the Gentoo 774has been filed under the same rather than seeing a bug which belongs the Gentoo
775Linux product and filed elsewhere. While neither is preferred, the former is more 775Linux product and filed elsewhere. While neither is preferred, the former is
776acceptable and understandable (except website bugs.. we might have an issue with 776more acceptable and understandable (except website bugs.. we might have an issue
777that...). 777with that...).
778</note> 778</note>
779 779
780<p> 780<p>
781Our bug goes in Gentoo Linux as it's an ebuild bug. We head over there and are 781Our bug goes in Gentoo Linux as it's an ebuild bug. We head over there and are
782presented with the multi-step bug reporting process. Let us now proceed with 782presented with the multi-step bug reporting process. Let us now proceed with
783Step 1... 783Step 1...
784</p> 784</p>
785 785
786<figure link="/images/docs/bugzie-guide-step1.png" caption="Guided Format Step 1"/> 786<figure link="/images/docs/bugzie-guide-step1.png" caption="Guided Format Step 1"/>
787 787
788<p> 788<p>
789The first step here is really important (as the red text tells you). This is 789The first step here is really important (as the red text tells you). This is
790where you search to see that someone else hasn't hit the same bug you have, yet. 790where you search to see that someone else hasn't hit the same bug you have, yet.
791If you do skip this step and a bug like yours already exists, it will be marked 791If you do skip this step and a bug like yours already exists, it will be marked
792as a DUPLICATE thus wasting a large amount of QA effort. To give you an idea, 792as a DUPLICATE thus wasting a large amount of QA effort. To give you an idea,
922 </li> 922 </li>
923 <li> 923 <li>
924 Critical - The program has loss of data or severe memory leaks during 924 Critical - The program has loss of data or severe memory leaks during
925 runtime. Again, an important program like say <c>net-tools</c> failing to 925 runtime. Again, an important program like say <c>net-tools</c> failing to
926 compile could be labelled critical. It won't prevent the system from 926 compile could be labelled critical. It won't prevent the system from
927 starting up, but is quite essential for day to day stuff. 927 starting up, but is quite essential for day to day stuff.
928 </li> 928 </li>
929 <li> 929 <li>
930 Major - The program crashes, but nothing that causes your system severe 930 Major - The program crashes, but nothing that causes your system severe
931 damage or information loss. 931 damage or information loss.
932 </li> 932 </li>
933 <li> 933 <li>
934 Minor - Your program crashes here and there with apparent workarounds. 934 Minor - Your program crashes here and there with apparent workarounds.
935 </li> 935 </li>
936 <li> 936 <li>
937 Normal - The default. If you're not sure leave it here unless it's a new 937 Normal - The default. If you're not sure leave it here unless it's a new
938 build or cosmetic change, then read below for more information. 938 build or cosmetic change, then read below for more information.
939 </li> 939 </li>
940 <li>Trivial - Things such as a mispelled word or whitespace clean up. </li> 940 <li>Trivial - Things such as a mispelled word or whitespace clean up. </li>
941 <li> 941 <li>
942 Enhancement - A request to enable a new feature in a program, or more 942 Enhancement - A request to enable a new feature in a program, or more
943 specifically <e>new ebuilds</e>. 943 specifically <e>new ebuilds</e>.
944 </li> 944 </li>
945</ul> 945</ul>
946 946
947<figure link="/images/docs/bugzie-sev.png" caption="Severity"/> 947<figure link="/images/docs/bugzie-sev.png" caption="Severity"/>
948 948
949<p> 949<p>
950Here, we'll set it to Normal. 950Here, we'll set it to Normal.
951</p> 951</p>
952 952
1170</pre> 1170</pre>
1171 1171
1172<p> 1172<p>
1173For C/C++ source files, the <b>-p</b> flag is added to show what function calls 1173For C/C++ source files, the <b>-p</b> flag is added to show what function calls
1174the diff applies to: 1174the diff applies to:
1175</p> 1175</p>
1176 1176
1177<pre caption="Diff-ing C/C++ source"> 1177<pre caption="Diff-ing C/C++ source">
1178$ <i>cp file.c file.c.old</i> 1178$ <i>cp file.c file.c.old</i>
1179$ <i>nano file.c</i> 1179$ <i>nano file.c</i>
1180$ <i>diff -up file.c.old file.c</i> 1180$ <i>diff -up file.c.old file.c</i>
1181</pre> 1181</pre>
1182 1182
1183<p> 1183<p>
1184The documentation team will require the flag combination <b>-Nt</b> as well as 1184The documentation team will require the flag combination <b>-Nt</b> as well as
1185<b>-u</b>. This mainly has to do with tab expansion. You can create such a diff 1185<b>-u</b>. This mainly has to do with tab expansion. You can create such a diff
1186with: 1186with:
1187</p> 1187</p>
1188 1188
1189<pre caption="Documentation diffs"> 1189<pre caption="Documentation diffs">
1190$<i> cp file.xml file.xml.old</i> 1190$<i> cp file.xml file.xml.old</i>
1191$<i> nano file.xml</i> 1191$<i> nano file.xml</i>
1192$<i> diff -Nut file.xml.old file.xml</i> 1192$<i> diff -Nut file.xml.old file.xml</i>
1193</pre> 1193</pre>
1194 1194
1195<p> 1195<p>
1196And your diff is created. While we're doing all this, suppose another person 1196And your diff is created. While we're doing all this, suppose another person
1197finds your bug by searching through bugzilla and is curious to keep track of 1197finds your bug by searching through bugzilla and is curious to keep track of
1198the bug, they may do so by putting their email in the Add CC field of the bug 1198the bug, they may do so by putting their email in the Add CC field of the bug
1199as shown below. You could also keep track of other bugs by following the same 1199as shown below. You could also keep track of other bugs by following the same
1200method. 1200method.
1239 </li> 1239 </li>
1240 <li> 1240 <li>
1241 VERIFIED - The steps take to work the bug are correct. This is usually a QA 1241 VERIFIED - The steps take to work the bug are correct. This is usually a QA
1242 thing. 1242 thing.
1243 </li> 1243 </li>
1244 <li> 1244 <li>
1245 CLOSED - Basically means RIP for the bug and it's buried under the never 1245 CLOSED - Basically means RIP for the bug and it's buried under the never
1246 ending flow of new bugs. 1246 ending flow of new bugs.
1247 </li> 1247 </li>
1248</ul> 1248</ul>
1249 1249
1250<p> 1250<p>
1251Now shortly afterward, we find the error in the strace log and fix the bug and 1251Now shortly afterward, we find the error in the strace log and fix the bug and
1252mark it as RESOLVED FIXED and mention that there was a change in the location 1252mark it as RESOLVED FIXED and mention that there was a change in the location
1253of configuration files, and that I will update the ebuild with a warning about 1253of configuration files, and that I will update the ebuild with a warning about
1254it. The bug now becomes resolved, and you are shown the following. 1254it. The bug now becomes resolved, and you are shown the following.
1255</p> 1255</p>
1256 1256
1257<figure link="/images/docs/bugzie-reso.png" caption="Resolved Bug"/> 1257<figure link="/images/docs/bugzie-reso.png" caption="Resolved Bug"/>
1258 1258
1259<p> 1259<p>
1260A little below, you'll see the following: 1260A little below, you'll see the following:
1261</p> 1261</p>
1262 1262
1263<figure link="/images/docs/bugzie-options.png" caption="Bug Options"/> 1263<figure link="/images/docs/bugzie-options.png" caption="Bug Options"/>
1264 1264
1265<p> 1265<p>
1266This gives you the option of Reopening the bug if you wish to (i.e. the 1266This gives you the option of Reopening the bug if you wish to (i.e. the
1267developer thinks it's resolved but it's really not to your standards). Now our 1267developer thinks it's resolved but it's really not to your standards). Now our
1268bug is fixed! However, different resolutions can occur. Here's a small list: 1268bug is fixed! However, different resolutions can occur. Here's a small list:
1269</p> 1269</p>
1270 1270
1271<ul> 1271<ul>
1272 <li> 1272 <li>
1273 FIXED - The bug is fixed, follow the instructions to resolve your issue. 1273 FIXED - The bug is fixed, follow the instructions to resolve your issue.
1274 </li> 1274 </li>
1275 <li> 1275 <li>
1276 INVALID - You did not do something specifically documented, causing the 1276 INVALID - You did not do something specifically documented, causing the
1277 bug. 1277 bug.
1278 </li> 1278 </li>
1279 <li>DUPLICATE - You didn't use this guide and reported a duplicate bug.</li> 1279 <li>DUPLICATE - You didn't use this guide and reported a duplicate bug.</li>
1280 <li> 1280 <li>
1281 WORKSFORME - Developer/person assigned the bug cannot reproduce your error. 1281 WORKSFORME - Developer/person assigned the bug cannot reproduce your error.
1282 </li> 1282 </li>
1283 <li> 1283 <li>
1284 CANTFIX - Somehow the bug cannot be solved because of certain 1284 CANTFIX - Somehow the bug cannot be solved because of certain
1285 circumstances. These circumstances will be noted by the person taking the 1285 circumstances. These circumstances will be noted by the person taking the
1286 bug. 1286 bug.
1287 </li> 1287 </li>
1288 <li> 1288 <li>
1289 WONTFIX - This is usually applied to new ebuilds or feature requests. 1289 WONTFIX - This is usually applied to new ebuilds or feature requests.
1290 Basically the developer does not want to add a certain feature because it 1290 Basically the developer does not want to add a certain feature because it
1291 is not needed, a better alternative exists, or it's just plain broken. 1291 is not needed, a better alternative exists, or it's just plain broken.
1292 Sometimes you may be given a solution to get said issue resolved. 1292 Sometimes you may be given a solution to get said issue resolved.
1293 </li> 1293 </li>
1294 <li> 1294 <li>
1295 UPSTREAM - The bug cannot be fixed by the Gentoo development team, and have 1295 UPSTREAM - The bug cannot be fixed by the Gentoo development team, and have
1296 requested you take the problem upstream (the people that actually made the 1296 requested you take the problem upstream (the people that actually made the
1297 program) for review. Upstream has a few ways of handling bugs. These 1297 program) for review. Upstream has a few ways of handling bugs. These
1298 include mailing lists, irc channels, and even bug reporting systems. If 1298 include mailing lists, irc channels, and even bug reporting systems. If
1299 you're not sure how to contact them, ask in the bug and someone will point 1299 you're not sure how to contact them, ask in the bug and someone will point
1300 you to the right direction. 1300 you to the right direction.
1301 </li> 1301 </li>
1302</ul> 1302</ul>
1303 1303
1304<p> 1304<p>
1305Sometimes, before the bug can be resolved, a developer may request that you 1305Sometimes, before the bug can be resolved, a developer may request that you
1306test an updated ebulid. In the next chapter we'll take a look at testing 1306test an updated ebulid. In the next chapter we'll take a look at testing
1307ebuilds. 1307ebuilds.
1308</p> 1308</p>
1309 1309
1310</body> 1310</body>
1311</section> 1311</section>
1312</chapter> 1312</chapter>
1313 1313
1314<chapter> 1314<chapter>
1315<title>Testing Ebuilds</title> 1315<title>Testing Ebuilds</title>
1316<section> 1316<section>
1317<title>Getting The Files</title> 1317<title>Getting The Files</title>
1318<body> 1318<body>
1319 1319
1320<p> 1320<p>
1321Let's say that you reported a bug for the foobar2 compile fix from earlier. Now 1321Let's say that you reported a bug for the foobar2 compile fix from earlier. Now
1410 Calculating dependencies ...done! 1410 Calculating dependencies ...done!
1411<comment>(compile info snipped)</comment> 1411<comment>(compile info snipped)</comment>
1412>>> Unpacking foobar2-1.0.tar.bz2 to /var/tmp/portage/foobar2-1.0/work 1412>>> Unpacking foobar2-1.0.tar.bz2 to /var/tmp/portage/foobar2-1.0/work
1413 * Applying foobar2-1.0-Makefile.patch ... [ ok ] 1413 * Applying foobar2-1.0-Makefile.patch ... [ ok ]
1414<comment>(compile info snipped)</comment> 1414<comment>(compile info snipped)</comment>
1415>>> Merging sys-apps/foobar2-1.0 to / 1415>>> Merging sys-apps/foobar2-1.0 to /
1416>>> chris +sandbox(preinst) 1416>>> chris +sandbox(preinst)
1417--- /usr/ 1417--- /usr/
1418--- /usr/bin/ 1418--- /usr/bin/
1419>>> /usr/bin/foobar2 1419>>> /usr/bin/foobar2
1420</pre> 1420</pre>
1421 1421
1422<p> 1422<p>
1423In the first section we see that the emerge started off as it should. The second 1423In the first section we see that the emerge started off as it should. The second
1424section shows our patch being applied successfully by the "[ ok ]" status 1424section shows our patch being applied successfully by the "[ ok ]" status
1425message to the right. The last section tells us the program compiled ok. The 1425message to the right. The last section tells us the program compiled ok. The
1426patch works! Now we can go and let the developer know that their patch works 1426patch works! Now we can go and let the developer know that their patch works
1427fine, and that they can commit the fix to portage. 1427fine, and that they can commit the fix to portage.
1428</p> 1428</p>
1429 1429
1430</body> 1430</body>
1431</section> 1431</section>
1432<section> 1432<section>
1433<title>Conclusion</title> 1433<title>Conclusion</title>
1434<body> 1434<body>
1435 1435
1436<p> 1436<p>
1437This concludes the howto on working with Bugzilla. I hope you find this useful. 1437This concludes the howto on working with Bugzilla. I hope you find this useful.
1438If you have any questions, comments, or ideas regarding this document, please 1438If you have any questions, comments, or ideas regarding this document, please
1439send them to me at <mail>chriswhite@gentoo.org</mail>. Special thanks go to 1439send them to me at <mail>chriswhite@gentoo.org</mail>. Special thanks go to
1440moreon for his notes on -g flags and compile errors, the people at #gentoo-bugs 1440moreon for his notes on -g flags and compile errors, the people at #gentoo-bugs

Legend:
Removed from v.1.12  
changed lines
  Added in v.1.13

  ViewVC Help
Powered by ViewVC 1.1.20