[Nix-dev] Proposed feature for make-wrapper.sh
Phil Wetzel
phil at audido.com
Sun May 8 01:24:09 CEST 2016
Greetings,
I've just installed NixOS on my desktop with KDE. I had trouble getting
akonadi working (the data backend for kdepim). I found one other person with
the same problem [1], though it is hard for me to believe I am the only person
trying to run KMail on NixOS.
The problem turned out to be akonadi starting an instance of mysqld (mariadb)
that failed to find an error messages file because it didn't know where it was.
Setting the --basedir prevents this problem from occurring, and that is what
is done in the service module definition. kdepim users can solve the problem
locally by setting basedir in their akonadi/mysql.cf config, but if we would
like it to work out of the box it seemed to me that the way forward was to use
wrapProgram on mysqld. You can't actually run mysqld from the commandline
without without the --basedir argument with it packaged the way it is now
anyway.
This turned out to not work either because:
- wrapProgram --add-flags *prepends* all the wrapped flags to the argument list
- akonadi uses the --defaults-file argument
- mysqld requires --defaults-file to be the first argument if it is used
This can certainly be solved with some hackery after the wrapProgram in
postInstall, but perhaps it would be better to include a --suffix-flags feature
to make-wrapper.sh.
What would you suggest as the better choice? I didn't want to submit a PR with
a hack if that wasn't the way forward, and I definitely didn't want to submit a
PR touching the build tools and documentation without at least saying hello
first.
Thank you,
Phil Wetzel
[1] - http://lists.science.uu.nl/pipermail/nix-dev/2015-January/015575.html
More information about the nix-dev
mailing list