Blame BUGS

Packit 324a5c
If you find a bug in cairo we would love to hear about it. We're also
Packit 324a5c
trying to make cairo better, and learning about the bugs that users
Packit 324a5c
encounter is an essential part of that. So we really appreciate the
Packit 324a5c
extra effort users put in to providing high-quality bug reports.
Packit 324a5c
Packit 324a5c
There are two acceptable ways to report cairo bugs, and you can choose
Packit 324a5c
which you prefer:
Packit 324a5c
Packit 324a5c
1) Bugzilla bug tracking database:
Packit 324a5c
Packit 324a5c
   You can use the following web interface to report new bugs, follow
Packit 324a5c
   up on previous bug reports, and search for existing, known
Packit 324a5c
   bugs. Just use the "cairo" product:
Packit 324a5c
Packit 324a5c
	http://bugs.freedesktop.org
Packit 324a5c
Packit 324a5c
   It is necessary to go through a quick account creation process,
Packit 324a5c
   (with email address verification), in order to be able to report
Packit 324a5c
   new bugs in bugzilla. We apologize for any inconvenience that might
Packit 324a5c
   cause, and hope it won't prevent you from reporting bugs.
Packit 324a5c
Packit 324a5c
2) Cairo mailing list:
Packit 324a5c
Packit 324a5c
   For people who cannot stand the bugzilla interface, you can just
Packit 324a5c
   send an email to cairo mailing list (cairo@cairographics.org). The
Packit 324a5c
   mailing list only allows posting from subscribers, so use the
Packit 324a5c
   following page for subscription instructions:
Packit 324a5c
Packit 324a5c
	http://cairographics.org/lists
Packit 324a5c
Packit 324a5c
   Again, we apologize for any inconvenience this subscription step
Packit 324a5c
   might cause, but we've found it necessary to require this in order
Packit 324a5c
   to enjoy spam-free discussions on the list.
Packit 324a5c
Packit 324a5c
   If you don't actually _want_ to be a subscriber to the mailing
Packit 324a5c
   list, but just want to be able to send a message, the easiest thing
Packit 324a5c
   to do is to go through the subscription process, and then use the
Packit 324a5c
   preferences page to disable message delivery to your address.
Packit 324a5c
Packit 324a5c
Which of the above you use to report bugs depends on your own
Packit 324a5c
preferences. Some people find just typing an email message much easier
Packit 324a5c
than using the web-based forms on bugzilla. Others greatly prefer the
Packit 324a5c
ability to check back on a specific bug entry in bugzilla without
Packit 324a5c
having to ask on the mailing list if an issue has been resolved.
Packit 324a5c
Packit 324a5c
Regardless of which method you use, here are some general tips that
Packit 324a5c
will help you improve the quality of your bug report, (which will help
Packit 324a5c
in getting the bug fixed sooner):
Packit 324a5c
Packit 324a5c
1) Check to see if the bug has been reported already. It's pretty easy
Packit 324a5c
   to run a search or two against the cairo product in the
Packit 324a5c
   http://bugs.freedesktop.org bugzilla database. Another place to
Packit 324a5c
   look for known bugs is the cairo ROADMAP:
Packit 324a5c
Packit 324a5c
	http://cairographics.org/ROADMAP
Packit 324a5c
Packit 324a5c
   which shows a planned schedule of releases and which bug fixes are
Packit 324a5c
   being planned for each release.
Packit 324a5c
Packit 324a5c
2) Provide an accurate description of the bug with detailed steps for
Packit 324a5c
   how we can reproduce the problem.
Packit 324a5c
Packit 324a5c
3) If possible provide a minimal test case demonstrating the bug. A
Packit 324a5c
   great test case would be a minimal self-contained function in C or
Packit 324a5c
   python or whatever language you are using for cairo. The function
Packit 324a5c
   might accept nothing more than a cairo context, (cairo_t* in C).
Packit 324a5c
Packit 324a5c
4) If you feel like being particularly helpful, you could craft this
Packit 324a5c
   minimal test case in the form necessary for cairo's test
Packit 324a5c
   suite. This isn't much more work than writing a minimal
Packit 324a5c
   function. Just look at the cairo/test/README file and imitate the
Packit 324a5c
   style of existing test cases.
Packit 324a5c
Packit 324a5c
   If you do submit a test case, be sure to include Copyright
Packit 324a5c
   information, (with the standard MIT licensing blurb if you want us
Packit 324a5c
   to include your test in the test case). Also, including a reference
Packit 324a5c
   image showing the expected result will be extremely useful.
Packit 324a5c
Packit 324a5c
5) Finally, the best bug report also comes attached with a patch to
Packit 324a5c
   cairo to fix the bug. So send this too if you have it! Otherwise,
Packit 324a5c
   don't worry about it and we'll try to fix cairo when we can.
Packit 324a5c
Packit 324a5c
Thanks, and have fun with cairo!
Packit 324a5c
Packit 324a5c
-Carl