Hi Guix, As part of https://issues.guix.gnu.org/47704, it was discoveredsome shell scripts in the mariadb package (e.g. wsrep_sst_rsync)refer to programs *not* by absolute name. These programs come from iproute, coreutils, gawk, grepand mariadb itself. It seems some substitutions are in order. Some complications:some of these scripts are only required in certain configurations.It's not ideal to increase the closure with rsync and xbcrypt ifthey turn out not to be needed ... Greetings,Maxime.
(name . Maxime Devos)(address . email@example.com)
On 2021-04-12 22:14, Maxime Devos wrote:
Toggle quote (17 lines)> Hi Guix,> > As part of <https://issues.guix.gnu.org/47704>, it was discovered> some shell scripts in the mariadb package (e.g. wsrep_sst_rsync)> refer to programs *not* by absolute name.> > These programs come from iproute, coreutils, gawk, grep> and mariadb itself. It seems some substitutions are in order.> > Some complications:> some of these scripts are only required in certain configurations.> It's not ideal to increase the closure with rsync and xbcrypt if> they turn out not to be needed ...> > Greetings,> Maxime.
Adding to this, so far we've we discussed possible fixes: 1. Absolutize all invocations in the sripts using (substitute* procedure. - drawback: maintenance hassle. 2. Adding (define %default-environment-variables to the mysql-service and append this to the list-argument of the #:environment-variables keyword in the make-forkexec-constructor procedure. - drawback: doesn't actually fix the mysql package, just the service. 3. Adding a line: "PATH=<absolute-path-to-awk>:<absolute-path-to-grep>:<etc..>" in the scripts. - Not the most elegant solution, but possibly the best one; not too much maintenance and actually fixes both the package and the service. - drawback: It would also increase the closure size of the mysql package. Security issues? Another option, perhaps, would be to have a mysql-minimal package (as the package is today) and a regular mysql package ("mysql-full" with the increase closure size), and you can use whichever package you need in the mysql-service. I don't know which solution I would vote for... Best regards,David L