The officially official Devuan Forum!

You are not logged in.

#1 Re: Other Issues » php7.4-fpm has a dependency on systemd » 2020-07-10 02:40:02

Yup, it seems like this has been an issue for a while. Fortunately both the patch I linked and just using the old init script from 7.3 works. It seems like the only thing holding it up is because they think that using a systemd tool to manage what looks like one temp file is a good idea.

https://pkgs.tdrnetworks.com/apt/devuan/ was linked in that thread, and I added that to my sources.list file. I upgraded using that repo, and PHP-FPM is still working according to rc-service and the PHP test page. I also ran apt download on the package, and judging by the file in /etc/init.d, they used the method I first used: pull the old init script from 7.3 and maintain it for 7.4. According to tdrnetworks on the thread, they said they would upkeep that repo.

It's just nice to not have to do it myself each time I upgrade.

Aside from systemd-tmpfiles, I heard about something called opentmpfiles that might be able to manage this. All that would be needed then is a dummy systemd-tmpfiles packages to allow the Debian package to be installed, if it's truly a drop-in replacement.

EDIT: It's worth noting that I mixed tdrnetwork's Beowulf Repo with my Ceres install and it didn't seem to conflict. YMMV.

#2 Other Issues » php7.4-fpm has a dependency on systemd » 2020-07-08 21:02:12

rwc265
Replies: 5

Hello

I'm a new Devuan user, and I'm looking to move my main system to a Devuan Ceres installation. I need Devuan Ceres because I game on Linux and want the latest versions of Mesa available. I think it's also worth saying that even though Ceres/sid is supposedly "unstable", I haven't seen it at all so far. I set up a Virtualbox machine to sort of "simulate" what steps I have to take and to make any blunders before I work on my real hardware.

Disclaimer: I have very little idea how deb packages work

I was setting up my LAMP stack and was in the middle of configuring Apache for use with PHP, when I noticed that Synaptic had marked "libelogind" as broken when I selected "php7.4-fpm". Upon running

sudo apt install php7.4-fpm

in a terminal, it tells me that libsystemd0 conflicts "libelogind". So I downloaded the deb file for "php7.4-fpm", and looked in the "DEBIAN/control" file in the deb file. Sure enough, it lists "systemd | systemd-tmpfiles" as a dependency. Looking in the control file for "php7.4-fpm" from Debian Sid reveals that it has the same dependency (no surprise there).

To work around this, I started by removing the systemd part of the "Depends" line in "DEBIAN/control", and repackaging it. This allowed it to be installed. But there's another problem: the traditional "/etc/init.d" script provided still depends on systemd, apparently because someone just needed to use systemd to manage a temp file S-)

The offending line in the init script provided is on line 99:

systemd-tmpfiles --remove --create /usr/lib/tmpfiles.d/php7.4-fpm.conf

. Checking the init script from "php7.3-fpm" from Debian Buster reveals that there is no systemd in the "Depends" line in "control", and the init script for 7.3 has its own temp file function it seems. I copied and pastes the contents of 7.3's init script into 7.4's init script file, and did a find-and-replace for 7.3 -> 7.4. Using the modified version of the older script, "service php7.4-fpm start" succeeded, and even enabling it on bootup worked.

Only after going through all that did I discover that there's already a Debian bug report on this: https://bugs.debian.org/cgi-bin/bugrepo … bug=959174

And in Message 52 (https://bugs.debian.org/cgi-bin/bugrepo … =959174#52), there's a alternative patch for the init script that I tested. It works, and I think it might be better than using my method of using the old init script. Unless Debian decides to use it, I think Devuan would need to patch it on their own.

Board footer

Forum Software