:: Re: [DNG] powerdns upstream has dro…
Página Principal
Delete this message
Reply to this message
Autor: Steve Litt
Data:  
Para: dng
Assunto: Re: [DNG] powerdns upstream has dropped sysvinit support
Boian Bonev said on Mon, 16 Oct 2023 02:01:57 +0300

>Hi,
>
>On Thu, 2023-10-12 at 18:54 -0400, Steve Litt wrote:
>
>..cut..
>
>> 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.
>
>Let me try to stir the sh*t again :)
>
>One of the problems in such conversion is that the declarative files
>come and go on the filesystem,


I don't understand your preceding half sentence. Unless they're on
/tmp, they stay on the filesystem. So I obviously misunderstood your
meaning.

>while the *init system expects scripts
>or something else.


I can write a program to write a script, and that program can use a
script template that gets its token values from the key-value pairs on
a conf file (I refuse to use the word "declarative", loaded term).

>Adding triggers to handle the conversion is a
>possible but quite lacking approach.


You and I envision two different things. My vision is that people on
the Devuan project run the conversion and then package the s6 and runit
run scripts, as well as sysvinit init scripts, OpenRC init scripts, and
Epoch config files.

Additionally, I envision the key-value file to have script snippets in
it for instances in which key-value to script is too difficult.

>IMnsHO one really clean way to
>implement the above is by FUSE filesystem that does the conversion on
>the fly and presents a folder with the expected hierarchy for the
>particular *init. Writing that is not too complex, I also believe that
>there are people around who have some experience in this (hello
>Ralph)...


Knowing little about FUSE, I personally can't do the preceding, but if
that's the better way to do it, I'll certainly step aside.

>
>Imagine "mount -t sd2sysv /lib/systemd /etc/init.d" ;)
>
>PS. I do not believe that sd unit files will drastically change to the
>extent that makes them too hard to follow. It will (as someone already
>said) going to mostly add stuff. Imagine the vast amount of unit files
>already written getting obsoleted - this would be a pure example of
>shooting oneself in the foot.


I can see the redhat/opendesktop/poettering/microsoft cabal eagerly
shooting themselves in the foot if they think it will shoot a
competitor without resources to heal his foot. But both my preceding
sentence and your estimate of the likelihood of shooting themselves in
the foot are guesses. My personal preference would be to have a
conversion program from unit file to titofile, even if for the time
being that conversion file is simply a copy operation. This way we're
covered if my guess is right, and we incur little work if you're right.

SteveT

Steve Litt

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