FS#44862 - [mariadb] does not depend on systemd but the install script calls systemd-tmpfiles

Attached to Project: Arch Linux
Opened by M. Greyson Christoforo (greyltc) - Tuesday, 05 May 2015, 14:17 GMT
Last edited by Bartłomiej Piotrowski (Barthalion) - Saturday, 06 June 2015, 19:48 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Bartłomiej Piotrowski (Barthalion)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

systemd is not a dependency of mariadb (nor should it be), however, the following reference is made to systemd in the mariadb install script, mariadb.install, on line 9:
"usr/bin/systemd-tmpfiles --create mysql.conf"

This causes the following error when the install script is run on a system withour systemd installed (i.e. an arch linux docker container):
/tmp/alpm_oqCDS3/.INSTALL: line 14: usr/bin/systemd-tmpfiles: No such file or directory
error: command failed to execute correctly

I'm not sure if there are any other places where systemd is present in the package, but in this case the error could be solved easily by only running line 9 of mariadb.install if usr/bin/systemd-tmpfiles exists.

I ask that you please ensure the requirement for systemd does not creep into mariadb

Thank you,
~grey
This task depends upon

Closed by  Bartłomiej Piotrowski (Barthalion)
Saturday, 06 June 2015, 19:48 GMT
Reason for closing:  Fixed
Additional comments about closing:  mariadb 10.0.19-1
Comment by Doug Newgard (Scimmia) - Tuesday, 05 May 2015, 15:25 GMT
Packages in the repo assume that your system is booted with systemd. That's just the way it is.

Not running that line would not solve the problem, since the dirs would not get created.
Comment by M. Greyson Christoforo (greyltc) - Tuesday, 05 May 2015, 15:33 GMT
> Packages in the repo assume that your system is booted with systemd. That's just the way it is.
Does Arch officially support running the OS from Docker or is it just convenient that most things work?

> Not running that line would not solve the problem, since the dirs would not get created.
Sure, it solves the problem. I guess I didn't make a clear enough statement of the issue is: The issue is that line 9 of mariadb.install throws an error when systemd is not installed.
Comment by Doug Newgard (Scimmia) - Tuesday, 05 May 2015, 15:45 GMT
> Does Arch officially support running the OS from Docker or is it just convenient that most things work?

I don't use docker, but don't you have to have a starting image? Arch would not support that starting point without systemd.

> Sure, it solves the problem. I guess I didn't make a clear enough statement of the issue is: The issue is that line 9 of mariadb.install throws an error when systemd is not installed.

You're only looking at the surface. That command creates a directory. If you don't have that command, the directory doesn't get created and things fail.
Comment by M. Greyson Christoforo (greyltc) - Tuesday, 05 May 2015, 15:58 GMT
> ...don't you have to have a starting image? Arch does not support that starting point without systemd.
This is how the "official" Arch Docker image is generated --> [1] It doesn't contain systemd. Am I right in my understanding that we can call this implementation of Arch a "hack" and us Docker users are on our own for getting things to work?

> You're only looking at the surface. That command creates a directory. If you don't have that command, the directory doesn't get created and things fail.
I've actually been running mariadb in a docker image for quite a while now with the line 9 error. I'm just getting around to cleaning things up so I'm filing this bug now. I can say for certain, whatever line 9 accomplishes for the mariadb install, it's not needed to host a working ownCloud server using mariadb database.

[1]: https://github.com/docker/docker/blob/master/contrib/mkimage-arch.sh
Comment by M. Greyson Christoforo (greyltc) - Tuesday, 05 May 2015, 18:32 GMT
I guess I'm operating in an unsupported mode here (maybe that stance should be re-evaluated, Docker is getting pretty popular).

I'm just going to `ln -s /usr/bin/true /usr/bin/systemd-tmpfiles` in my image and forget about this.

Loading...