On Mon, 25 Nov 2019 17:41:08 +0000 Alexander BrĂ¼ning via Dng <dng@lists.dyne.org> wrote:
> On Mon, 2019-11-25 at 12:00 +0100, dng-requ...@lists.dyne.org wrote: > > I think we could get 90% of the way to a set of legitimate daemon I know digest mode is handy, but please be careful in your handling thereof. I have no idea who dng-requ...@lists.dyne.org is, but *I* wrote the preceding, and my email is sl...@troubleshooters.com. Also, please take the extra second to copy the correct subject line to your response. I answer your question later in this email... > > start scripts by running each unit file through a program to > > produce a daemon start file for a different init system. > > Wouldn't it make more sense to provide a generic wrapper script that > acts like an init script but parses the unit file every time its > called? No need to inject anything that way, and it's always > up-to-date. It does make a lot of sense. Debian packages could remain completely or almost untouched. It really is a good idea. But I see some problems with it... * There will always be that daemon whose correct use in runit or s6 or Epoch is not unambiguously defined by the data in the unit file. This could be worked around by some sort of exception thing, perhaps contained on a per daemon exceptions.d directory. * Whatever program the conversion program is written in would need to be loaded before running the first daemon. Or the conversion program must be written in a compiled language, which is something I'd personally not want to do. Most daemons tend to be run late in the boot, so this might not be a showstopper. * It's hard to write the conversion program, and one must be written for every init system. * Humans make unit files, and humans make mistakes. Bad unit file, bad runit or s6 or Epoch. Here again, an exceptions.d is required. * Slightly slower boot because every daemon requires a conversion. Not a big deal. * This would make us forever dependent on systemd, at least dependent on their unit files. When I suggested a unit file to daemon start file conversion program way back in the thread, I envisioned taking advantage of them once to produce daemon start files for each init system for hundreds of daemons. These can be tested by hand and put in the packages. Speaking for runit and Epoch, these files would tend to never change except when the daemon itself changes, so they're little work. In the case of s6, which I understand is undergoing heavy development, its changes are improvements that do not cause dysfunction of the old ways of doing it. * With OpenRC and sysvinit, their init scripts tend to be monsters in order to accommodate edge and corner conditions. This makes me wonder if a 99% reliable conversion program can be written for them at all. In summary, your idea's a good one, but I'd personally recommend running the conversions one time and then testing and possibly tweaking the resulting daemon launch files. SteveT Steve Litt November 2019 featured book: Manager's Guide to Technical Troubleshooting Second edition http://www.troubleshooters.com/mgr _______________________________________________ Dng mailing list Dng@lists.dyne.org https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng