DebuggingEvolution
ContentsBRTableOfContents |
Introduction (work in progress)
What we generically call Evolution is in fact a collection of binary and source packages:
1. Evolution Data Server
evolution-data-server
evolution database backend server
evolution-data-server-common
architecture independent files for Evolution Data Server
evolution-data-server-dbg
evolution database backend server with debugging symbols
evolution-data-server-dev
Development files for evolution-data-server (meta package)
libcamel<version>
The Evolution MIME message handling library
libcamel<version>-dev
Development files for libcamel
libebook<version>
Client library for evolution address books
libebook<version>-dev
Client library for evolution address books (development files)
libecal<version>
Client library for evolution calendars
libecal<version>-dev
Client library for evolution calendars (development files)
libedata-book<version>
Backend library for evolution address books
libedata-book<version>-dev
Backend library for evolution address books (development files)
libedata-cal<version>
Backend library for evolution calendars
libedata-cal<version>-dev
Backend library for evolution calendars (development files)
libedataserver<version>
Utility library for evolution data servers
libedataserver<version>-dev
Utility library for evolution data servers (development files)
libedataserverui<version>
GUI utility library for evolution data servers
libedataserverui<version>-dev
GUI utility library for evolution data servers (development files)
libegroupwise<version>
Client library for accessing groupwise POA through SOAP interface
libegroupwise<version>-dev
Development files for libegroupwise
libexchange-storage<version>
Backend library for evolution calendars
libexchange-storage<version>-dev
Backend library for evolution calendars (development files)
Evolution-data-server components are used elsewhere within Gnome. As a result, some of the packages can be installed even if E-D-S itself is not installed.
2. Evolution
evolution
groupware suite with mail client and organizer
evolution-common
architecture independent files for Evolution
evolution-dbg
debugging symbols for Evolution
evolution-dev
development library files for Evolution
evolution-plugins
standard plugins for Evolution
evolution-plugins-experimental
experimental plugins for Evolution
This is the actual user interface to email, calendar, tasks, contacts and memos.
3. Evolution Exchange
evolution-exchange
Exchange plugin for the Evolution groupware suite
Evolution-Exchange deals exclusively with interfacing with Exchange servers via the Outlook Web Access (OWA).
Additionally, Evolution uses libgtkhtml3.14 to format HTML email (either for viewing or printing), libpango for PDF rendering, etc. There are many other packages that Evolution depends on, of course.
How to file
Bugs should be filled under the correct package -- so, for example, if you find a bug on libcamel, the correct package is Evolution-Data-Server, not Evolution. Nevertheless, if you are unsure -- but it is an Evolution* bug --, file it under any of the Evolution packages; we will, eventually, find the correct package and reassign the bug as needed (and even reassign it out of Evolution, if the Evolution error is a consequence of some other package).
No matter what, we do need to have a good description of the issue, and supporting documentation (see below for details).
Debugging procedure
First of all: try to identify what is wrong. We usually have bugs on:
User interface - require a detailed description of the issue, steps to reproduce and screen captures where appropriate. For example, [https://bugs.launchpad.net/ubuntu/+source/evolution-data-server/+bug/12430 bug 12430].
Program crash - Log files from the crash incident are required to track down these. Almost always, this will require the reporter to file in a nice backtrace (since most of the times we cannot reproduce it :-(). For example, see [https://bugs.launchpad.net/ubuntu/+source/evolution-data-server/+bug/106504 bug 106504].
Incorrect results - for example, connection errors, deleted emails are not deleted, etc. For example (and to keep with time issues) [https://bugs.launchpad.net/ubuntu/+source/evolution-data-server/+bug/67955 bug 67955].
- Wishlists - a product feature that is either absent, or should be modified to suit the reporter's view of usability.
- Package selection - Help to find, and assign, the right package. For example, a bug originally filed under Evolution dealing with POP access is really a Evolution-Data-Server bug.
Verify if you can reproduce the issue. If you can, try to describe in details all steps you needed to go thru to have the issue. If this is a program crash, make sure you have all necessary debugging symbols packages installed -- see DebuggingProgramCrash for the necessary changes to the repositories lists. What symbols packages to install... varies with the problem. Obviously, the Evolution* ones should be in, but what others will depend on the specific issue. You might need libgtkhtml3.14 if the crash happens while rendering a HTML email, for example.
If you cannot reproduce the issue you will have to ask the reporter to do it.
Once you have collected all data you believe is needed... its time to check upstream.
Non-bugs
How to recognise common issues arising from hardware failures, common feature requests and other invalid bugs for this category. Advice how triage them and stock responses.
Also see
DebuggingProcedures for generic debugging on Ubuntu, and specially
DebuggingProgramCrash on how to setup your machine to get a meaningfull backtrace
[http://www.gnome.org/projects/evolution/bugs.shtml A Quick Guide to Evolution Bug Hunting] on the upstream suggestions
[http://www.go-evolution.org/Main_Page the Evolution Wiki] for details on what is going on, and documentation on the internals