[packaging] hard dependency on mysql backend, breaks other programs

Bug #988889 reported by Zorael
34
This bug affects 7 people
Affects Status Importance Assigned to Milestone
akonadi (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

Kubuntu 12.04 x86_64. Kubuntu PPAs added.

Akonadi has a hard dependency on akonadi-backend-mysql despite there being other backends available. By extension, this means that mysql-{server,client}-core-5.1 needs to be installed to get a working plasma workspace. Please see LP bug 923189 for some more information about this decision;
> https://bugs.launchpad.net/ubuntu/+source/akonadi/+bug/923189

There are MySQL drop-in replacements (such as Percona; https://launchpad.net/percona-server - admittedly not in our repos) that conflict/replace the mysql packages. Our akonadi packaging makes KDE mutually exclusive with those, even though the necessary backend functionality may be attained by installing a different akonadi backend. Please see this thread on ubuntuforums.org;
> http://ubuntuforums.org/showthread.php?t=1960064

I'm not versed in the art of packaging, but two obvious solutions spring to mind. In reverse order of difficulty;

1. Influence the packaging of everything related to mysql (our own MySQL, Percona, equavilents) to provide a 'mysqld' virtual package, and have the implementations provide it in turn. It's a neat solution for sure but requires effort. However, akonadi-server would still depend on mysql (whatever flavor) and eat space.

2. Make akonadi-server depend on a virtual 'akonadi-backend' package and have all the backends provide it. Akonadi can recommend the (best supported default) mysql backend and suggest the others, but still depend on the virtual one so as to always enforce there being a backend installed. Most users won't be affected and will still just use the mysql one, and those with special requirements (eg "cannot/must not/don't want to install mysql") get alternatives.

To test the second solution, I built akonadi-server locally (source from precise main) after these quick modifications to debian/control. It built nicely and I'm now running with only akonadi-backend-sqlite installed. Please see the attached patch for an example. (Semi-related is that there's still a akonadi-backend-virtuoso virtual package that nothing seems to provide anymore?)

Worthy of consideration here is KDE bug 298314 that makes it impossible to actually change to an akonadi backend other than mysql and postgresql (via the akonadi kcm). Those who opt out of akonadi-backend-{my,postgre}sql will be greeted with an Akonadi crash upon login unless they manually edit ~/.config/akonadi/akonadiserverrc and specify the backend to use there.
> https://bugs.kde.org/show_bug.cgi?id=298314

Tags: patch kubuntu
Revision history for this message
Zorael (zorael) wrote :
Revision history for this message
Ubuntu Foundations Team Bug Bot (crichton) wrote :

The attachment "Example of akonadi-server dependency changes to introduce an 'akonadi-backend' virtual package" of this bug report has been identified as being a patch. The ubuntu-reviewers team has been subscribed to the bug report so that they can review the patch. In the event that this is in fact not a patch you can resolve this situation by removing the tag 'patch' from the bug report and editing the attachment so that it is not flagged as a patch. Additionally, if you are member of the ubuntu-reviewers team please also unsubscribe the team from this bug report.

[This is an automated message performed by a Launchpad user owned by Brian Murray. Please contact him regarding any issues with the action taken in this bug report.]

tags: added: patch
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in akonadi (Ubuntu):
status: New → Confirmed
Revision history for this message
Nick Shaforostoff (shafff) wrote :

i use akonadi-backend-sqlite and i don't want my netbook to run mysql constantly in the background, also increasing system startup time.

Revision history for this message
Philippe Clérié (pclerie) wrote :

I've just spend a little over a year trying to avoid akonadi because I do not want to run a mysql or postgresql server for akonadi. I was quite excited by the apparent success of the sqlite backend. While this is not necessarily a show stopper it certainly is annoying to have to install stuff I know I don't need.

I can understand the preference for defaulting to the mysql backend. But if I choose to install another packaged backend, it seems reasonable to expect other backends to be removed (or at least be removable!)

Thanks for the work! I'm really hoping I can go back to using kmail.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.