The officially official Devuan Forum!

You are not logged in.

#1 2020-07-08 21:02:12

rwc265
Member
Registered: 2020-07-08
Posts: 2  

php7.4-fpm has a dependency on systemd

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.

Offline

#2 2020-07-09 06:51:12

szutt
Member
Registered: 2019-02-03
Posts: 27  

Re: php7.4-fpm has a dependency on systemd

Hello ! Maybe that thread can interest you : https://dev1galaxy.org/viewtopic.php?id=3331

Offline

#3 2020-07-10 02:40:02

rwc265
Member
Registered: 2020-07-08
Posts: 2  

Re: php7.4-fpm has a dependency on systemd

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.

Last edited by rwc265 (2020-07-10 02:40:56)

Offline

#4 2020-07-10 18:19:41

steve_v
Member
Registered: 2018-01-11
Posts: 46  

Re: php7.4-fpm has a dependency on systemd

rwc265 wrote:

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.

Pulling in over a million lines of code to create a single directory. roll
Do we need a better example of the install-bloat and complexity-creep problems systemd creates?

rwc265 wrote:

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.

As a stopgap until this is patched out in the devuan repos, you can whip up such a package with equivs and a symlink. Or just use the POC helpfully provided here.
It's quicker than patching and rebuilding php-fpm locally anyway wink

Opentmpfiles should be a drop-in, so long as systemd and the freedesktop crowd actually adhere to their own standards...


From his response to the various bug reports on this, and his and flat refusal to consider such a trivial change even when provided a patch, I guess Ondřej Surý is going on my personal "do not bother contacting, has irreconcilable attitude problems" list.
So long and thanks for all the fish, deb.sury.org. It was convenient while it lasted.

Last edited by steve_v (2020-07-10 18:41:30)


Once is happenstance. Twice is coincidence. Three times is enemy action. Four times is Official GNOME Policy.

Offline

#5 2020-07-10 18:58:33

golinux
Administrator
Registered: 2016-11-25
Posts: 2,019  

Re: php7.4-fpm has a dependency on systemd

steve_v wrote:

Once is happenstance. Twice is coincidence. Three times is enemy action. Four times is Official GNOME Policy.

Repeated for truth.  Best signature ever!

Online

#6 2020-07-12 15:02:44

szutt
Member
Registered: 2019-02-03
Posts: 27  

Re: php7.4-fpm has a dependency on systemd

steve_v wrote:

Pulling in over a million lines of code to create a single directory. roll
Do we need a better example of the install-bloat and complexity-creep problems systemd creates?

There's none so blind as those who will not see.

Offline

Board footer