I maintain some out-of-tree Linux device drivers that have been around for yonks and ship with system V init scripts. There's an install script (or Makefile recipe) that attempts attempts to figure out where to put an init script and set up symlinks as appropriate.
It's not perfect, but so far it has worked good enough. It doesn't work great with openrc [e.g. doesn't enable the init script automatically], but people seem to be able to figure it out. Now I've got a customer that runs systemd and reports that the init script "doesn't work" for some undefined value of "doesn't work". I've pretty much always been a system V init guy and have only grumblingly adapted to openrc. [Insert crotchety old Unix guy ramblings here... blah blah version 7... PDP-11 blah DECwriter blah silent 700 blah blah ASR-33... kids these days... ad naseam.] Needless to say: I find systemd distasteful, but I've got customers who use it. So... I keep reading that systemd is "compatible with system V init scripts", but documentation on how that works seems to be somewhat lacking and/or wrong. e.g. The upstream docs refer to using /sbin/system to run old-style init scripts found in /etc/init.d, but neither /sbin/system nor the /etc/init.d directory seem to exsit on the systemd machine that I'm testing with. I'm currently testing with Arch Linux, but I'm also going to set up a Gentoo/systemd system. I've also seen recommendations that one would be better off just doing it the right way and writing a systemd .service file. Any advice on whether it would be easier to use a common init script with sysV/OpenRC/systemd or to write a separate .service file? -- Grant Edwards grant.b.edwards Yow! Where's the Coke at machine? Tell me a joke!! gmail.com