/[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.3 Revision 1.10
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.3 2005/07/09 22:31:57 fox2mike Exp $ --> 3<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/bugzilla-howto.xml,v 1.10 2007/04/01 10:35:45 nightmorph 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">
18 18
19<!-- The content of this document is licensed under the CC-BY-SA license --> 19<!-- The content of this document is licensed under the CC-BY-SA license -->
20<!-- See http://creativecommons.org/licenses/by-sa/2.5 --> 20<!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
21<license/> 21<license/>
22 22
23<version>1.2</version> 23<version>1.9</version>
24<date>2005-07-10</date> 24<date>2007-04-01</date>
25 25
26<chapter> 26<chapter>
27<title>Introduction</title> 27<title>Introduction</title>
28<section> 28<section>
29<title>Preface</title> 29<title>Preface</title>
84!!! Function src_compile, Line 29, Exitcode 2 84!!! Function src_compile, Line 29, Exitcode 2
85!!! 'emake shared' failed 85!!! 'emake shared' failed
86</pre> 86</pre>
87 87
88<p> 88<p>
89These errors can be quite troublesome. However, once you find them, what do 89These errors can be quite troublesome. However, once you find them, what do you
90you do? The following sections will look at two important tools for handling 90do? The following sections will look at two important tools for handling run
91run time errors. After that, we'll take a look at compile errors, and how to 91time errors. After that, we'll take a look at compile errors, and how to handle
92handle them. Let's start out with the first tool for debugging run time 92them. Let's start out with the first tool for debugging run time errors --
93errors -- <c>gdb</c>. 93<c>gdb</c>.
94</p> 94</p>
95 95
96</body> 96</body>
97</section> 97</section>
98</chapter> 98</chapter>
109normally involve memory corruption. First off, let's take a look at what 109normally involve memory corruption. First off, let's take a look at what
110debugging entails. One of the main things you must do in order to debug a 110debugging entails. One of the main things you must do in order to debug a
111program is to <c>emerge</c> the program with <c>FEATURES="nostrip"</c>. This 111program is to <c>emerge</c> the program with <c>FEATURES="nostrip"</c>. This
112prevents the stripping of debug symbols. Why are programs stripped by default? 112prevents the stripping of debug symbols. Why are programs stripped by default?
113The reason is the same as that for having gzipped man pages -- saving space. 113The reason is the same as that for having gzipped man pages -- saving space.
114Here's how the size of a program varies with and without debug symbol stripping. 114Here's how the size of a program varies with and without debug symbol stripping.
115</p> 115</p>
116 116
117<pre caption="Filesize Comparison"> 117<pre caption="Filesize Comparison">
118<comment>(debug symbols stripped)</comment> 118<comment>(debug symbols stripped)</comment>
119-rwxr-xr-x 1 chris users 3140 6/28 13:11 bad_code 119-rwxr-xr-x 1 chris users 3140 6/28 13:11 bad_code
126<c>gdb</c> later on. As you can see, the program without debugging symbols is 126<c>gdb</c> later on. As you can see, the program without debugging symbols is
1273140 bytes, while the program with them is 6374 bytes. That's close to double 1273140 bytes, while the program with them is 6374 bytes. That's close to double
128the size! Two more things can be done for debugging. The first is adding ggdb3 128the size! Two more things can be done for debugging. The first is adding ggdb3
129to your CFLAGS and CXXFLAGS. This flag adds more debugging information than is 129to your CFLAGS and CXXFLAGS. This flag adds more debugging information than is
130generally included. We'll see what that means later on. This is how 130generally included. We'll see what that means later on. This is how
131<path>/etc/make.conf</path> <e>might</e> look with the newly added flags. 131<path>/etc/make.conf</path> <e>might</e> look with the newly added flags.
132</p> 132</p>
133 133
134<pre caption="make.conf settings"> 134<pre caption="make.conf settings">
135CFLAGS="-O2 -pipe -gddb3" 135CFLAGS="-O1 -pipe -g -ggdb"
136CXXFLAGS="${CFLAGS}" 136CXXFLAGS="${CFLAGS}"
137</pre> 137</pre>
138 138
139<p> 139<p>
140Lastly, you can also add debug to the package's USE flags. This can be done with the 140Lastly, you can also add debug to the package's USE flags. This can be done
141<path>package.use</path> file. 141with the <path>package.use</path> file.
142</p> 142</p>
143 143
144<pre caption="Using package.use to add debug USE flag"> 144<pre caption="Using package.use to add debug USE flag">
145# <i>echo "category/package debug" >> /etc/portage/package.use</i> 145# <i>echo "category/package debug" >> /etc/portage/package.use</i>
146</pre> 146</pre>
147 147
279 279
280<p> 280<p>
281This backtrace contains a large number of ?? marks. This is because without 281This backtrace contains a large number of ?? marks. This is because without
282debug symbols, <c>gdb</c> doesn't know how the program was run. Hence, it is 282debug symbols, <c>gdb</c> doesn't know how the program was run. Hence, it is
283crucial that debug symbols are <e>not</e> stripped. Now remember a while ago we 283crucial that debug symbols are <e>not</e> stripped. Now remember a while ago we
284mentioned the -ggdb3 flag. Let's see what the output looks like with the flag 284mentioned the -ggdb flag. Let's see what the output looks like with the flag
285enabled: 285enabled:
286</p> 286</p>
287 287
288<pre caption="Program backtrace with -ggdb3"> 288<pre caption="Program backtrace with -ggdb3">
289(gdb) <i>bt</i> 289(gdb) <i>bt</i>
294 294
295<p> 295<p>
296Here we see that a lot more information is available for developers. Not only is 296Here we see that a lot more information is available for developers. Not only is
297function information displayed, but even the exact line numbers of the source 297function information displayed, but even the exact line numbers of the source
298files. This method is the most preferred if you can spare the extra space. 298files. This method is the most preferred if you can spare the extra space.
299Here's how much the file size varies between debug, strip, and -ggdb3 enabled 299Here's how much the file size varies between debug, strip, and -ggdb enabled
300programs. 300programs.
301</p> 301</p>
302 302
303<pre caption="Filesize differences With -ggdb3 flag"> 303<pre caption="Filesize differences With -ggdb flag">
304<comment>(debug symbols stripped)</comment> 304<comment>(debug symbols stripped)</comment>
305-rwxr-xr-x 1 chris users 3140 6/28 13:11 bad_code 305-rwxr-xr-x 1 chris users 3140 6/28 13:11 bad_code
306<comment>(debug symbols enabled)</comment> 306<comment>(debug symbols enabled)</comment>
307-rwxr-xr-x 1 chris users 6374 6/28 13:10 bad_code 307-rwxr-xr-x 1 chris users 6374 6/28 13:10 bad_code
308<comment>(-ggdb3 flag enabled)</comment> 308<comment>(-ggdb flag enabled)</comment>
309-rwxr-xr-x 1 chris users 19552 6/28 13:11 bad_code 309-rwxr-xr-x 1 chris users 19552 6/28 13:11 bad_code
310</pre> 310</pre>
311 311
312<p> 312<p>
313As you can see, -ggdb3 adds about <e>13178</e> more bytes to the file size over the one 313As you can see, -ggdb adds about <e>13178</e> more bytes to the file size over
314with debugging symbols. However, as shown above, this increase in file size can 314the one with debugging symbols. However, as shown above, this increase in file
315be worth it if presenting debug information to developers. The backtrace, can be 315size can be worth it if presenting debug information to developers. The
316saved to a file by copying and pasting from the terminal (if it's a non-x based 316backtrace can be saved to a file by copying and pasting from the terminal (if
317terminal, you can use gpm. To keep this doc simple, I recommend you read up on 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
318the documentation for gpm to see how to copy and paste with it). Now that we're 319for gpm</uri> to see how to copy and paste with it). Now that we're done with
319done with <c>gdb</c>, we can quit. 320<c>gdb</c>, we can quit.
320</p> 321</p>
321 322
322<pre caption="Quitting GDB"> 323<pre caption="Quitting GDB">
323(gdb) <i>quit</i> 324(gdb) <i>quit</i>
324The program is running. Exit anyway? (y or n) <i>y</i> 325The program is running. Exit anyway? (y or n) <i>y</i>
393Aha! So There's the problem. Someone moved the configuration directory to 394Aha! So There's the problem. Someone moved the configuration directory to
394<path>.foobar2</path> instead of <path>.foobar</path>. We also see the program 395<path>.foobar2</path> instead of <path>.foobar</path>. We also see the program
395reading in "bar" as it should. In this case, we can recommend the ebuild 396reading in "bar" as it should. In this case, we can recommend the ebuild
396maintainer to put a warning about it. For now though, we can copy over the 397maintainer to put a warning about it. For now though, we can copy over the
397config file from <path>.foobar</path> and modify it to produce the correct 398config file from <path>.foobar</path> and modify it to produce the correct
398results. 399results.
399</p> 400</p>
400 401
401</body> 402</body>
402</section> 403</section>
403<section> 404<section>
508<section> 509<section>
509<title>emerge and PORT_LOGDIR</title> 510<title>emerge and PORT_LOGDIR</title>
510<body> 511<body>
511 512
512<p> 513<p>
513PORT_LOGDIR is a portage variable that sets up a log directory for separate 514PORT_LOGDIR is a portage variable that sets up a log directory for separate
514emerge logs. Let's take a look and see what that entails. First, run your emerge 515emerge logs. Let's take a look and see what that entails. First, run your
515with PORT_LOGDIR set to your favorite log location. Let's say we have a 516emerge with PORT_LOGDIR set to your favorite log location. Let's say we have a
516location <path>/var/log/portage</path>. We'll use that for our log directory: 517location <path>/var/log/portage</path>. We'll use that for our log directory:
517</p> 518</p>
518 519
519<note> 520<note>
520In the default setup, <path>/var/log/portage</path> does not exist, and you will 521In the default setup, <path>/var/log/portage</path> does not exist, and you will
637<figure link="/images/docs/bugzie-adv-search.png" caption="Advanced Search Page"/> 638<figure link="/images/docs/bugzie-adv-search.png" caption="Advanced Search Page"/>
638 639
639<p> 640<p>
640This is how the Advanced Search Page looks like. While it may seem overwhelming 641This is how the Advanced Search Page looks like. While it may seem overwhelming
641at first, we're going to look at a few simple areas to narrow down the rather 642at first, we're going to look at a few simple areas to narrow down the rather
642vague searches bugzilla returns. 643vague searches bugzilla returns.
643</p> 644</p>
644 645
645<figure link="/images/docs/bugzie-content.png" caption="Content"/> 646<figure link="/images/docs/bugzie-content.png" caption="Content"/>
646 647
647<p> 648<p>
757simply not how things work. 758simply not how things work.
758</p> 759</p>
759 760
760<p> 761<p>
761Another common misconception occurs with our Documentation bugs. For example, a 762Another common misconception occurs with our Documentation bugs. For example, a
762user finds a bug with the <uri 763user finds a bug with the <uri link="/proj/en/releng/catalyst/">Catalyst
763link="http://www.gentoo.org/proj/en/releng/catalyst/index.xml">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 766actually go to a member of the <uri link="/proj/en/releng/">Release
767link="http://www.gentoo.org/proj/en/releng/">Release Engineering</uri> team. As 767Engineering</uri> team. As a rule of thumb, only documentation under
768a rule of thumb, only documentation under http://www.gentoo.org/doc/* is under 768<path>http://www.gentoo.org/doc/*</path> is under the GDP. Anything under
769the GDP. Anything under http://www.gentoo.org/proj/* is under the respective 769<path>http://www.gentoo.org/proj/*</path> is under the respective teams.
770teams.
771</p> 770</p>
772 771
773<note> 772<note>
774We 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
775has 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
777acceptable and understandable (except website bugs.. we might have an issue with 776acceptable and understandable (except website bugs.. we might have an issue with
778that...). 777that...).
779</note> 778</note>
780 779
781<p> 780<p>
782Our bug goes in Gentoo Linux as it's an ebuild bug. We head over there and are presented 781Our bug goes in Gentoo Linux as it's an ebuild bug. We head over there and are
783with the multi-step bug reporting process. Let us now proceed with Step 1... 782presented with the multi-step bug reporting process. Let us now proceed with
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>
806Let us take a closer look at what's what. 806Let us take a closer look at what's what.
807</p> 807</p>
808 808
809<ul> 809<ul>
810 <li> 810 <li>
811 First, there's the Product. The product will narrow down the bug to a 811 First, there's the Product. The product will narrow down the bug to a
812 specific area of Gentoo like Bugzilla (for bugs relating to bugs.gentoo.org), 812 specific area of Gentoo like Bugzilla (for bugs relating to
813 Docs-user(for User Documentation) or Gentoo Linux (for ebuilds and the like). 813 bugs.gentoo.org), Docs-user(for User Documentation) or Gentoo Linux (for
814 </li> 814 ebuilds and the like).
815 <li> 815 </li>
816 <li>
816 Component is where exactly the problem occurs, more specifically which part 817 Component is where exactly the problem occurs, more specifically which part
817 of selected product the bug comes under. This makes classification easier. 818 of selected product the bug comes under. This makes classification easier.
818 </li>
819 <li> 819 </li>
820 <li>
820 Hardware platform is what architecture you're running. If you were running 821 Hardware platform is what architecture you're running. If you were running
821 SPARC, you would set it to SPARC. 822 SPARC, you would set it to SPARC.
822 </li>
823 <li> 823 </li>
824 <li>
824 Operating System is what Operating System you're using. Because Gentoo is 825 Operating System is what Operating System you're using. Because Gentoo is
825 considered a "Meta-distribution", it can run on other operating systems 826 considered a "Meta-distribution", it can run on other operating systems
826 beside Linux. 827 beside Linux.
827 </li> 828 </li>
828</ul> 829</ul>
829 830
830<p> 831<p>
831So, for our example bug, we have : 832So, for our example bug, we have :
832</p> 833</p>
833 834
834<ul> 835<ul>
835 <li>
836 Product - Gentoo Linux (Since it is an ebuild issue) 836 <li>Product - Gentoo Linux (Since it is an ebuild issue)</li>
837 </li>
838 <li>
839 Component - Application (It is an application at fault, foobar2) 837 <li>Component - Application (It is an application at fault, foobar2)</li>
840 </li>
841 <li>
842 Hardware Platform - All (This error could occur across architectures) 838 <li>Hardware Platform - All (This error could occur across architectures)</li>
843 </li>
844 <li>
845 Operation System - All (It could occur on all types of systems) 839 <li>Operation System - All (It could occur on all types of systems)</li>
846 </li>
847</ul> 840</ul>
848 841
849<figure link="/images/docs/bugzie-basic-comp.png" caption="Completed Basic Information"/> 842<figure link="/images/docs/bugzie-basic-comp.png" caption="Completed Basic Information"/>
850 843
851<ul> 844<ul>
852 <li> 845 <li>
853 Build Identifier is basically the User Agent of the browser that is being used 846 Build Identifier is basically the User Agent of the browser that is being
854 to report the bugs (for logging purposes). You can just leave this as is. 847 used to report the bugs (for logging purposes). You can just leave this as
855 </li> 848 is.
856 <li> 849 </li>
857 URL is optional and is used to point to errors on a site someplace (pastebin,
858 etc.). However, doing it inside the bug allows the developers be able to
859 reference to it at any time and is preferred.
860 </li> 850 <li>
851 URL is optional and is used to point to relevant information on another site
852 (upstream bugzilla, release notes on package homepage etc.). You should
853 never use URL to point to pastebins for error messages, logs, <c>emerge
854 --info</c> output, screenshots or similar information. Instead, these should
855 always be attached to the bug.
861 <li> 856 </li>
857 <li>
862 In the Summary, you should put the package category, name, and number. 858 In the Summary, you should put the package category, name, and number.
863 </li> 859 </li>
864</ul> 860</ul>
865 861
866<p> 862<p>
867Not including the category in the summary really isn't too bad, but it's 863Not including the category in the summary really isn't too bad, but it's
899</p> 895</p>
900 896
901<figure link="/images/docs/bugzie-results.png" caption="Results"/> 897<figure link="/images/docs/bugzie-results.png" caption="Results"/>
902 898
903<p> 899<p>
904We could then provide additional information. This could be things such as stack traces, 900We could then provide additional information. This could be things such as
905<b>sections</b> (since the whole log is usually big and of not much use) of 901stack traces, <b>sections</b> (since the whole log is usually big and of not
906strace logs, but most importantly, your <c>emerge --info</c> output. Here's an 902much use) of strace logs, but most importantly, your <c>emerge --info</c>
907example. 903output. Here's an example.
908</p> 904</p>
909 905
910<figure link="/images/docs/bugzie-addl-info.png" caption="Additional Information"/> 906<figure link="/images/docs/bugzie-addl-info.png" caption="Additional Information"/>
911 907
912<p> 908<p>
917levels is given below. 913levels is given below.
918</p> 914</p>
919 915
920<ul> 916<ul>
921 <li> 917 <li>
922 Blocker - The program just plain doesn't want to emerge or is a major 918 Blocker - The program just plain doesn't want to emerge or is a major
923 hinderance to the system. For example a <c>baselayout</c> issue which prevents 919 hinderance to the system. For example a <c>baselayout</c> issue which
924 a system from booting up would be a sure candidate to be labelled blocker. 920 prevents a system from booting up would be a sure candidate to be labelled
925 </li> 921 blocker.
926 <li> 922 </li>
923 <li>
927 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
928 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
929 compile could be labelled critical. It won't prevent the system from starting 926 compile could be labelled critical. It won't prevent the system from
930 up, but is quite essential for day to day stuff. 927 starting up, but is quite essential for day to day stuff.
931 </li>
932 <li> 928 </li>
929 <li>
933 Major - The program crashes, but nothing that causes your system severe 930 Major - The program crashes, but nothing that causes your system severe
934 damage or information loss. 931 damage or information loss.
935 </li>
936 <li> 932 </li>
933 <li>
937 Minor - Your program crashes here and there with apparent workarounds. 934 Minor - Your program crashes here and there with apparent workarounds.
938 </li>
939 <li> 935 </li>
936 <li>
940 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
941 build or cosmetic change, then read below for more information. 938 build or cosmetic change, then read below for more information.
942 </li>
943 <li> 939 </li>
944 Trivial - Things such as a mispelled word or whitespace clean up. 940 <li>Trivial - Things such as a mispelled word or whitespace clean up. </li>
945 </li> 941 <li>
946 <li>
947 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
948 specifically <e>new ebuilds</e>. 943 specifically <e>new ebuilds</e>.
949 </li> 944 </li>
950</ul> 945</ul>
951 946
952<figure link="/images/docs/bugzie-sev.png" caption="Severity"/> 947<figure link="/images/docs/bugzie-sev.png" caption="Severity"/>
953 948
959Now we can submit the bug report by clicking on the Submit Bug Report box. You 954Now we can submit the bug report by clicking on the Submit Bug Report box. You
960will now see your new bug come up. See <uri 955will now see your new bug come up. See <uri
961link="https://bugs.gentoo.org/show_bug.cgi?id=97265">Bug 97561</uri> for what 956link="https://bugs.gentoo.org/show_bug.cgi?id=97265">Bug 97561</uri> for what
962the result looks like. We've reported our bug! Now let's see how it's dealt 957the result looks like. We've reported our bug! Now let's see how it's dealt
963with. 958with.
959</p>
960
961</body>
962</section>
963<section>
964<title>Zero-day bump requests</title>
965<body>
966
967<p>
968So far, we've shown what to do when filing a bug. Now let's take a look at what
969<e>not</e> to do.
970</p>
971
972<p>
973Suppose that you've eagerly been following an upstream project's schedule, and
974when you check their homepage, guess what? They just released a new version a
975few minutes ago! Most users would immediately rush over to Gentoo's bugzilla to
976report the new version is available; please bump the existing version and add
977it to Portage, etc. However, this is exactly what you should <b>not</b> do.
978These kinds of requests are called zero-day (or 0-day) bump requests, as they're
979made the same day that a new version is released.
980</p>
981
982<impo>
983<b>Please wait <e>at least</e> 48 hours before reporting a new release on our
984bugzilla.</b> Also, you <e>must</e> check bugzilla before posting your request
985to make sure that someone else hasn't already reported it, or that the Gentoo
986maintainers haven't already dealt with the new version.
987</impo>
988
989<p>
990Why should you wait? First, it's quite rude to demand that Gentoo developers
991drop everything they're doing just to add a new release that came out 15 minutes
992ago. Your zero-day bump request could be marked as INVALID or LATER, as
993developers have plenty of pressing issues to keep them busy. Second, developers
994are usually aware of pending new releases well in advance of users, as they must
995follow upstream quite closely. They already know a new version is on its way.
996In many cases, they will have already opened a bug, or might even already added
997it in Portage as a masked package.
998</p>
999
1000<p>
1001Be smart when testing and requesting new versions of packages. Search bugzilla
1002before posting your bump request -- is there already a bug open? Have you synced
1003lately; is it already in Portage? Has it actually been released by upstream?
1004Basic common sense will go a long way, and will endear you to developers that
1005already have a lot to do. If it's been several days since release and you're
1006sure that there are no open requests for it (and that it's not in Portage), then
1007you can open up a new bug. Be sure to mention that it compiles and runs well on
1008your arch. Any other helpful information you provide is most welcome.
1009</p>
1010
1011<p>
1012Want to see the newest version of your favorite package in Portage? File smart
1013bugs.
964</p> 1014</p>
965 1015
966</body> 1016</body>
967</section> 1017</section>
968</chapter> 1018</chapter>
1044Now we have to attach the log. Let's go throught it step wise. 1094Now we have to attach the log. Let's go throught it step wise.
1045</p> 1095</p>
1046 1096
1047<ul> 1097<ul>
1048 <li> 1098 <li>
1049 File - This is the location of the file in your machine. In this example, the 1099 File - This is the location of the file in your machine. In this example,
1050 location of <path>strace.log</path>. You can use the "Browse..." button to 1100 the location of <path>strace.log</path>. You can use the "Browse..." button
1051 select the file, or enter the path directly in the text field. 1101 to select the file, or enter the path directly in the text field.
1052 </li>
1053 <li> 1102 </li>
1103 <li>
1054 Description - A short one liner, or a few wors describing the attachment. 1104 Description - A short one liner, or a few wors describing the attachment.
1055 We'll just enter strace.log here, since that's quite self-explanatory. 1105 We'll just enter strace.log here, since that's quite self-explanatory.
1056 </li>
1057 <li> 1106 </li>
1107 <li>
1058 Content Type - This is the type of the file we're attaching to the bug. 1108 Content Type - This is the type of the file we're attaching to the bug.
1059 </li>
1060 <li> 1109 </li>
1110 <li>
1061 Obsoletes - If there were attachements submitted to the bug before the current 1111 Obsoletes - If there were attachements submitted to the bug before the
1062 one, you have an option of declaring them obsoleted by yours. Since we have no 1112 current one, you have an option of declaring them obsoleted by yours. Since
1063 prior attachments to this bug, we need not bother. 1113 we have no prior attachments to this bug, we need not bother.
1064 </li>
1065 <li> 1114 </li>
1115 <li>
1066 Comment - Enter comments that will be visible along with the attachments. You 1116 Comment - Enter comments that will be visible along with the attachments.
1067 could elaborate on the attachment here, if needed. 1117 You could elaborate on the attachment here, if needed.
1068 </li> 1118 </li>
1069</ul> 1119</ul>
1070 1120
1071<p> 1121<p>
1072With respect to Content Type, here are a few more details. You can check the 1122With respect to Content Type, here are a few more details. You can check the
1073"patch" checkbox if you're submitting a patch. Otherwise, you could ask Bugzilla 1123"patch" checkbox if you're submitting a patch. Otherwise, you could ask
1074to "auto-detect" the file type (not advisable). The other options are "select 1124Bugzilla to "auto-detect" the file type (not advisable). The other options are
1075from list", which is most frequently used. Use plain text (text/plain) for <e>most</e> 1125"select from list", which is most frequently used. Use plain text (text/plain)
1076attachments except binary files like images (which can use image/gif, 1126for <e>most</e> attachments except binary files like images (which can use
1077image/jpeg or image/png depending on type) or compressed files like .tar.bz2 1127image/gif, image/jpeg or image/png depending on type) or compressed files like
1078which would use application/octet-stream as content type. 1128.tar.bz2 which would use application/octet-stream as content type.
1079</p> 1129</p>
1080 1130
1081 1131
1082<figure link="/images/docs/bugzie-new-attach-comp.png" caption="New Attachment Completed"/> 1132<figure link="/images/docs/bugzie-new-attach-comp.png" caption="New Attachment Completed"/>
1083 1133
1107<p> 1157<p>
1108Please attach any file mentioned like this to your bug report. 1158Please attach any file mentioned like this to your bug report.
1109</p> 1159</p>
1110 1160
1111<p> 1161<p>
1112While we're doing all this, suppose another person finds your bug by searching 1162Sometimes a developer might ask you to attach a diff or patch for a file.
1113through bugzilla and is curious to keep track of the bug, they may do so by 1163Standard diff files can be obtained through:
1114putting their email in the Add CC field of the bug as shown below. You could 1164</p>
1165
1166<pre caption="Standard Diff Creation">
1167$ <i>cp file file.old</i>
1168$ <i>nano file</i>
1169$ <i>diff -u file.old file</i>
1170</pre>
1171
1172<p>
1173For C/C++ source files, the <b>-p</b> flag is added to show what function calls
1174the diff applies to:
1175</p>
1176
1177<pre caption="Diff-ing C/C++ source">
1178$ <i>cp file.c file.c.old</i>
1179$ <i>nano file.c</i>
1180$ <i>diff -up file.c.old file.c</i>
1181</pre>
1182
1183<p>
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
1186with:
1187</p>
1188
1189<pre caption="Documentation diffs">
1190$<i> cp file.xml file.xml.old</i>
1191$<i> nano file.xml</i>
1192$<i> diff -Nut file.xml.old file.xml</i>
1193</pre>
1194
1195<p>
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
1198the bug, they may do so by putting their email in the Add CC field of the bug
1115also keep track of other bugs by following the same method. 1199as shown below. You could also keep track of other bugs by following the same
1200method.
1116</p> 1201</p>
1117 1202
1118<figure link="/images/docs/bugzie-add-email.png" caption="Adding Email To CC:"/> 1203<figure link="/images/docs/bugzie-add-email.png" caption="Adding Email To CC:"/>
1119 1204
1120<note> 1205<note>
1129lifetime. 1214lifetime.
1130</p> 1215</p>
1131 1216
1132<ul> 1217<ul>
1133 <li> 1218 <li>
1134 UNCONFIRMED - You're generally not going to see this too often. This 1219 UNCONFIRMED - You're generally not going to see this too often. This means
1135 means that a bug reporter has opened a bug using the advanced method and is 1220 that a bug reporter has opened a bug using the advanced method and is
1136 uncertain his or her bug is an actual bug. 1221 uncertain his or her bug is an actual bug.
1137 </li>
1138 <li> 1222 </li>
1139 NEW - Bugs that are first opened are considered new. 1223 <li>NEW - Bugs that are first opened are considered new.</li>
1140 </li> 1224 <li>
1141 <li>
1142 ASSIGNED - When the person you've assigned the bug too validates your 1225 ASSIGNED - When the person you've assigned the bug too validates your bug,
1143 bug, it will often receive ASSIGNED status while they figure out the issue. 1226 it will often receive ASSIGNED status while they figure out the issue.
1144 This lets you know that they've accepted your bug as a real bug. 1227 This lets you know that they've accepted your bug as a real bug.
1145 </li>
1146 <li> 1228 </li>
1229 <li>
1147 REOPENED - Someone has resolved a bug and you think the solution is not 1230 REOPENED - Someone has resolved a bug and you think the solution is not
1148 feasible or the problem still persists. At this point, you may re-open the 1231 feasible or the problem still persists. At this point, you may re-open the
1149 bug. Please <b>do not abuse this</b>. If a developer closes the bug a 1232 bug. Please <b>do not abuse this</b>. If a developer closes the bug a
1150 second or third time, chances are that your bug is closed. 1233 second or third time, chances are that your bug is closed.
1151 </li>
1152 <li> 1234 </li>
1235 <li>
1153 RESOLVED - A firm decision has been taken on the bug. Usually goes onto FIXED 1236 RESOLVED - A firm decision has been taken on the bug. Usually goes onto
1154 to indicate the bug is solved and the matter closed although various other 1237 FIXED to indicate the bug is solved and the matter closed although various
1155 resolutions are possible. We'll look into those a little later. 1238 other resolutions are possible. We'll look into those a little later.
1156 </li>
1157 <li> 1239 </li>
1240 <li>
1158 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
1159 thing. 1242 thing.
1160 </li>
1161 <li> 1243 </li>
1244 <li>
1162 CLOSED - Basically means RIP for the bug and it's buried under the never ending 1245 CLOSED - Basically means RIP for the bug and it's buried under the never
1163 flow of new bugs. 1246 ending flow of new bugs.
1164 </li> 1247 </li>
1165</ul> 1248</ul>
1166 1249
1167<p> 1250<p>
1168Now 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
1169mark it as RESOLVED FIXED and mention that there was a change in the location of 1252mark it as RESOLVED FIXED and mention that there was a change in the location
1170configuration files, and that I will update the ebuild with a warning about it. 1253of configuration files, and that I will update the ebuild with a warning about
1171The bug now becomes resolved, and you are shown the following. 1254it. The bug now becomes resolved, and you are shown the following.
1172</p> 1255</p>
1173 1256
1174<figure link="/images/docs/bugzie-reso.png" caption="Resolved Bug"/> 1257<figure link="/images/docs/bugzie-reso.png" caption="Resolved Bug"/>
1175 1258
1176<p> 1259<p>
1178</p> 1261</p>
1179 1262
1180<figure link="/images/docs/bugzie-options.png" caption="Bug Options"/> 1263<figure link="/images/docs/bugzie-options.png" caption="Bug Options"/>
1181 1264
1182<p> 1265<p>
1183This gives you the option of Reopening the bug if you wish to (i.e. the developer 1266This gives you the option of Reopening the bug if you wish to (i.e. the
1184thinks it's resolved but it's really not to your standards). Now our bug is 1267developer thinks it's resolved but it's really not to your standards). Now our
1185fixed! However, different resolutions can occur. Here's a small list: 1268bug is fixed! However, different resolutions can occur. Here's a small list:
1186</p> 1269</p>
1187 1270
1188<ul> 1271<ul>
1189 <li> 1272 <li>
1190 FIXED - The bug is fixed, follow the instructions to resolve your 1273 FIXED - The bug is fixed, follow the instructions to resolve your issue.
1191 issue.
1192 </li>
1193 <li> 1274 </li>
1275 <li>
1194 INVALID - You did not do something specifically documented, causing the 1276 INVALID - You did not do something specifically documented, causing the
1195 bug. 1277 bug.
1196 </li>
1197 <li> 1278 </li>
1198 DUPLICATE - You didn't use this guide and reported a duplicate bug 1279 <li>DUPLICATE - You didn't use this guide and reported a duplicate bug.</li>
1199 :)
1200 </li> 1280 <li>
1201 <li>
1202 WORKSFORME - Developer/person assigned the bug cannot reproduce your 1281 WORKSFORME - Developer/person assigned the bug cannot reproduce your error.
1203 error.
1204 </li>
1205 <li> 1282 </li>
1206 CANTFIX - Somehow the bug cannot be solved because of certain circumstances.
1207 These circumstances will be noted by the person taking the bug.
1208 </li> 1283 <li>
1284 CANTFIX - Somehow the bug cannot be solved because of certain
1285 circumstances. These circumstances will be noted by the person taking the
1286 bug.
1209 <li> 1287 </li>
1288 <li>
1210 WONTFIX - This is usually applied to new ebuilds or feature requests. 1289 WONTFIX - This is usually applied to new ebuilds or feature requests.
1211 Basically the developer does not want to add a certain feature because it is 1290 Basically the developer does not want to add a certain feature because it
1212 not needed, a better alternative exists, or it's just plain broken. Sometimes 1291 is not needed, a better alternative exists, or it's just plain broken.
1213 you may be given a solution to get said issue resolved. 1292 Sometimes you may be given a solution to get said issue resolved.
1214 </li>
1215 <li> 1293 </li>
1294 <li>
1216 UPSTREAM - The bug cannot be fixed by the Gentoo development team, and 1295 UPSTREAM - The bug cannot be fixed by the Gentoo development team, and have
1217 have requested you take the problem upstream (the people that actually made 1296 requested you take the problem upstream (the people that actually made the
1218 the 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
1219 include mailing lists, irc channels, and even bug reporting systems. If 1298 include mailing lists, irc channels, and even bug reporting systems. If
1220 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
1221 you to the right direction. 1300 you to the right direction.
1222 </li> 1301 </li>
1223</ul> 1302</ul>
1224 1303
1225<p> 1304<p>
1226Sometimes, 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
1331That points to <path>/usr/local/portage</path>, which is the overlay we created 1410That points to <path>/usr/local/portage</path>, which is the overlay we created
1332earlier. Now we go ahead and emerge the package. 1411earlier. Now we go ahead and emerge the package.
1333</p> 1412</p>
1334 1413
1335<pre caption="Emerge Result"> 1414<pre caption="Emerge Result">
1336# emerge foobar2 1415# <i>emerge foobar2</i>
1337 Calculating dependencies ...done! 1416 Calculating dependencies ...done!
1338<comment>(compile info snipped)</comment> 1417<comment>(compile info snipped)</comment>
1339>>> Unpacking foobar2-1.0.tar.bz2 to /var/tmp/portage/foobar2-1.0/work 1418>>> Unpacking foobar2-1.0.tar.bz2 to /var/tmp/portage/foobar2-1.0/work
1340 * Applying foobar2-1.0-Makefile.patch ... [ ok ] 1419 * Applying foobar2-1.0-Makefile.patch ... [ ok ]
1341<comment>(compile info snipped)</comment> 1420<comment>(compile info snipped)</comment>
1361<body> 1440<body>
1362 1441
1363<p> 1442<p>
1364This concludes the howto on working with Bugzilla. I hope you find this useful. 1443This concludes the howto on working with Bugzilla. I hope you find this useful.
1365If you have any questions, comments, or ideas regarding this document, please 1444If you have any questions, comments, or ideas regarding this document, please
1366send them to me at <mail 1445send them to me at <mail>chriswhite@gentoo.org</mail>. Special thanks go to
1367link="chriswhite@gentoo.org">chriswhite@gentoo.org</mail>. Special
1368thanks go to moreon for his notes on -g flags and compile errors, the people at 1446moreon for his notes on -g flags and compile errors, the people at #gentoo-bugs
1369#gentoo-bugs for helping out with bug-wrangling, Griffon26 for his notes on 1447for helping out with bug-wrangling, Griffon26 for his notes on
1370maintainer-needed, robbat2 for general suggestions and fox2mike for fixing up 1448maintainer-needed, robbat2 for general suggestions and fox2mike for fixing up
1371the doc and adding stuff as needed. 1449the doc and adding stuff as needed.
1372</p> 1450</p>
1373 1451
1374</body> 1452</body>

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.10

  ViewVC Help
Powered by ViewVC 1.1.20