On Wednesday 15 April 2015 17:03:13 Harald Sitter wrote:
> On Tue, Apr 14, 2015 at 5:38 PM, Philip Muskovac <[email protected]> wrote:
> > After people constantly file bugs about our akonadi mysql situation, I 
> > looked at the packaging more closely which is just giving me headaches:
> 
> <3
> 
> > In akonadi, we set the default backend to mysql, and ship that by default 
> > together with mysql-server-core-5.6 and mysql-client-core-5.6. So far so 
> > good, and I believe that's the only configuration we actually support.
> >
> > Reality is more complicated:
> >
> > 1) There are alternate mysql implementations like mariadb or percona in the 
> > archive, but those conflict with mysql, so kubuntu users can't use them as 
> > they would need to remove mysql, which removes akonadi, which removes kdepim
> > (mariadb is an exception actually, as our mysql-server dep is really 
> > "mysql-server-core-5.5 | mysql-server-core-5.6 | mariadb-server-core-5.5 | 
> > mariadb-server-core-10.0", just percona is missing [bug #1336005])
> >
> > 2) There's also sqlite and postgres backends, which in the packaging are 
> > valid alternatives for mysql. Now if a user (or apt) actually switches the 
> > installed backends, akonadi will be very unhappy as it can't autodetect 
> > backend changes. All it will do is tell the user "Hey, your mysql backend 
> > is broken, fix it!" - unless the user also reconfigures the backend 
> > settings by hand.
> > As we had the problem once that apt choose the wrong backend [bug #923189] 
> > I made akonadi-backend-mysql a hard requirement for akonadi-server as a 
> > workaround (which leads to e.g. bug #1443470) - but it seems like Scarlett 
> > accidentally dropped that in her last merge.
> >
> > Unless someone else comes up with something better, I'll do this:
> >
> > 1) Change the mysql dep to "mysql-server-core-5.6 | 
> > virtual-mysql-server-core" so we still use mysql by default but allow 
> > whatever else (fixes #1336005)
> > Still allows apt to switch out mysql databases if it wants, which isn't 
> > fully supported, but I see no way to prevent that...
> 
> What I am concerned about here is that virtual-mysql-server-core would
> be provided by any version bypassing the explicit version we use for
> server-core, so it might in fact be necessary to list all possible
> alternatives rather than use the virtual. OR perhaps the better
> solution is to create a new virtual that contains the version; that is
> slightly more involved though (also I am not sure it matters much).

I can see what you mean, but there's currently no reasonable way to make sure 
it's fine except testing every mysql server that we want to allow ourselves. In 
the meantime, I think assuming virtual-mysql-server-core provides a working 
mysql server is ~ok. If that shows to be wrong, we can deal with it then. (And 
if people install $random_external_mysql_server from a PPA or so that provides 
that but doesn't work then I just don't care)

After looking at the mysql backend again I noticed more issues anyway:
- We depend on mysql-client-core for mysqlcheck, which could be a recommends 
though (it's optional).
- Optionally the backend also uses mysqladmin (to properly stop the server) 
from mysql-server, but that's in the full server package, not core :(
- Optionally it uses mysql_install_db to set up the empty database, which 
according to git is needed by "some" (?) databases, but that's in the full 
client package, not core :(

We definitely don't want to install a full mysql server, and mysql-client adds 
12MB of mostly useless binaries to the default install...

> 
> > 2) Bring the dep back. It's still a bloody workaround, but unless akonadi 
> > learns to detect what backends are actually installed, I see no way of 
> > fixing this properly...
> 
> +1
> 
> FWIW though, I think it would be very cool if you could talk to
> dvratil about future plans there. Assuming akonadi(kf5) will continue
> to support multiple backends we certainly should come up with some way
> of communicating to the user that switching backends will not migrate
> data (i.e. have debconf shout at them probably).

Good idea, I'll make a note on my todo list.

Philip

Attachment: signature.asc
Description: This is a digitally signed message part.

-- 
kubuntu-devel mailing list
[email protected]
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/kubuntu-devel

Reply via email to