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
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
