:: Re: [DNG] powerdns upstream has dro…
Top Page
Delete this message
Reply to this message
Author: Steve Litt
Date:  
To: dng
Subject: Re: [DNG] powerdns upstream has dropped sysvinit support
tito via Dng said on Thu, 12 Oct 2023 14:37:58 +0200


>> I was planning to write a reply in a similar spirit to yours ;)
>> Moreover those service files are already there and besides the
>> respective interpreters there is no extra work to do per package.
>>
>> The main problem in supporting systemd service files is that there
>> are concepts in them that other init systems can not (easily) handle
>> and it will become a race of adding that support versus more
>> non-standard stuff coming...
>
>Hi,
>
>I think this way you will be always dependent upon systemd upstream
>decisions and so you are in the same position as today.


Likely. Our writing a conversion program for unit files would
absolutely give redhat and ibm and microsoft an incentive to keep
changing the definition and format of unit files.

>What we need is a well designed common unified declarative


Could we please change the word "declarative" to "configuration" or
"data-based"? To truly do it right, your one file for all inits will
need to contain some scripts for runit and s6.

>init system service format that takes into account the needs
>of the different init systems and once it is standardized
>due to the rule of maximum laziness it will be adopted
>by everybody


redhat will spend millions to squelch it, so universal adoption is
unlikely and shouldn't be our goal. Our goal is to make it easier to
make Devuan support multiple inits EASILY.

>because it is supported by several init systems
>and their developers.
>Just to be clear I don't think I would be able to do this myself,


You can do the definition of this one file yourself, with help from me
and several other people. I can write a Python program to convert your
file to a runit run script. I bet Aitor could do the same (whether in
Python or some other language) for s6. I'm sure somebody could do the
same for sysvinit. Maybe we could recruit somebody from the Gentoo or
Funtoo projects to do the same for OpenRC.

For the sake of this discussion, let's call your file titoinit.conf,
and assume its file definition/format is optimized to create init/run
files. Nick mentioned that we already had systemd unit files, but
somebody else (forgot who now) mentioned that using unit files would
put us at risk of gratuitous unit file format changes. Watch this:

                            ,-->|con  |-->|OpenRC|            
                            |   |vert2|   |file  |
                            | 
 |unit|-->|con  |-->|tito|--+-->|con  |-->|runit|
 |file|   |vert1|   |file|  |   |vert3|   |file |
                            |
                            |-->|con  |-->|s6  |
                            |   |vert4|   |file|
                            |
                            `-->|con  |-->|sysv|
                                |vert5|   |file|


In the preceding, the convert1 program is a handy thing, not a
necessity. If lennart changes the unit file to break our conversion
process, tito files could easily be hand-assembled until convert1 is
updated, even if that takes a year.

Also, convert1 could conceivably take other input files besides the
unit file, which might be helpful.

I can write convert3.

SteveT

Steve Litt

Autumn 2023 featured book: Rapid Learning for the 21st Century
http://www.troubleshooters.com/rl21