akonadi-backend-mysql... mess

Harald Sitter sitter at kde.org
Thu Apr 16 07:36:06 UTC 2015


On Wed, Apr 15, 2015 at 7:54 PM, Philip Muskovac <yofel at gmx.net> wrote:
>> > 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)

I am on board with the I don't care, albeit I'd simply not have the
alternative deps ;)
Upstream probably only tests mysql and supports mysql, so there really
is no reason why we'd pretend there are more options supported (all
assuming upstream really doesn't support anything other than mysql of
course). IMO ultimately this is something upstream should deal
with. If upstream doesn't support it we shouldn't support it. If
upstream does support it and wants all possibly versions of all
mysql-forks then we should enable that. Right now it appears that none
of the akonadi or kdepim devs has said much about the support of
mysql-forks.

Anyway, don't let me hold up that change, just one more thing to work
out with upstream.

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

Move to core then? I think we already moved some stuff around way back
when akonadi was introduced. In particular I think mysqlcheck was
moved just for akonadi.

On that note: mysqlcheck is a depends because without it IIRC the
akonadi error dialog thing is (or was) unable to provide any
diagnostical information whatsoever rendering the dialog pretty
useless and making it a right chore to debug problems users would
have. It's like our drkonqi package depends on gdb.
Certainly could be changed
If the use in the debug dialog has changed I am in favor of reducing
the relationship to recommends.

All of these binary deps are another issue that should be raised with
upstream most likely. In particular upstream should report them as
runtime dependencies via cmake so that distros do not have split
packages like us and then are missing runtime bins because it is
unknown that a certain something is missing.

HS



More information about the kubuntu-devel mailing list