• Re: systemd controversy

    From Lawrence D'Oliveiro@21:1/5 to All on Wed Mar 13 21:55:02 2024
    On Wed, 13 Mar 2024 16:34:14 +0200, magardner2010 wrote:

    So, unless one is writing software that directly interacts with the init system ...

    If you are writing code that will run as one or more server processes, you
    will likely also want to provide scripts/config to manage those processes.
    For systemd, that could be service definition files.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From streaksu@21:1/5 to Lawrence D'Oliveiro on Mon Mar 18 18:05:20 2024
    On 3/13/24 22:55, Lawrence D'Oliveiro wrote:
    If you are writing code that will run as one or more server processes, you will likely also want to provide scripts/config to manage those processes. For systemd, that could be service definition files.

    Not relevant to the whole overarching discussion, but to my
    understanding, that might be better managed by distribution / OS
    maintainers, rather than developers. When thinking about programs like
    daemons, or other similar pieces on a bigger system, with all the
    variety of systems, init systems, and programs around, who best to do it
    than the people that are ultimately orchestrating the whole ecosystem.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to streaksu on Mon Mar 18 19:56:24 2024
    On Mon, 18 Mar 2024 18:05:20 +0100, streaksu wrote:

    On 3/13/24 22:55, Lawrence D'Oliveiro wrote:

    If you are writing code that will run as one or more server processes,
    you will likely also want to provide scripts/config to manage those
    processes. For systemd, that could be service definition files.

    ... to my understanding, that might be better managed by distribution /
    OS maintainers, rather than developers.

    I was thinking more about code being written for in-house use by
    particular customers--I should have made that clear.

    However, what you say is true for open-source code that is being
    published. Though I suspect it would still be helpful to provide some info about how interlocking processes are supposed to fit together, and
    systemd .service files could serve as a lingua franca for that, even for distros that don’t use systemd. The declarative systemd unit-file syntax should be easier to translate to other forms than perhaps going the other
    way.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From streaksu@21:1/5 to Lawrence D'Oliveiro on Tue Mar 19 01:36:20 2024
    On 3/18/24 20:56, Lawrence D'Oliveiro wrote:
    I was thinking more about code being written for in-house use by
    particular customers--I should have made that clear.

    That is fair enough.

    However, what you say is true for open-source code that is being
    published. Though I suspect it would still be helpful to provide some info about how interlocking processes are supposed to fit together, and
    systemd .service files could serve as a lingua franca for that, even for distros that don’t use systemd. The declarative systemd unit-file syntax should be easier to translate to other forms than perhaps going the other way.

    I agree that it could be useful for a project to provide some barebones
    units for that. If you are, for example, a maintainer for devuan (a
    systemd less debian) I imagine you will appreciate those being there for documentation rather than not.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to streaksu on Tue Mar 19 02:36:14 2024
    On Tue, 19 Mar 2024 01:36:20 +0100, streaksu wrote:

    If you are, for example, a maintainer for devuan (a systemd less debian)
    I imagine you will appreciate those being there for documentation rather
    than not.

    After they’ve recovered from an apoplectic fit at having to deal with the kind of systemd-related stuff they specifically set up Devuan to get away
    from.

    ;)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From streaksu@21:1/5 to Lawrence D'Oliveiro on Tue Mar 19 04:01:27 2024
    On 3/19/24 03:36, Lawrence D'Oliveiro wrote:
    After they’ve recovered from an apoplectic fit at having to deal with the kind of systemd-related stuff they specifically set up Devuan to get away from.

    Hahaha, that's fair enough.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Kevin Chadwick@21:1/5 to All on Tue Mar 19 10:16:50 2024
    The declarative systemd unit-file syntax should be easier to translate to other forms than perhaps going the other way.

    I can't see how non portable unit files backed by c code are more helpful
    than atleast more portable scripts with less c per command to interpret, to
    be honest.


    --
    Regards, Kc

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to Kevin Chadwick on Tue Mar 19 22:29:50 2024
    On Tue, 19 Mar 2024 10:16:50 -0000 (UTC), Kevin Chadwick wrote:

    The declarative systemd unit-file syntax should be easier to translate
    to other forms than perhaps going the other way.

    I can't see how non portable unit files backed by c code are more
    helpful than atleast more portable scripts with less c per command to interpret, to be honest.

    The unit files are in the classic .INI file format, which has been around
    for decades. Code for parsing it should be readily available for every
    language in common use.

    Scripts need an interpreter. Being Turing-complete, in general information cannot be extracted from them except by running them. Unit files have a
    fixed vocabulary of keyword entries, which can be easily enumerated,
    looked up, whatever. That’s what’s meant by “declarative”.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Kevin Chadwick@21:1/5 to All on Wed Mar 20 00:58:30 2024
    Scripts need an interpreter. Being Turing-complete, in general information

    cannot be extracted from them except by running them. Unit files have a
    fixed vocabulary of keyword entries, which can be easily enumerated,
    looked up, whatever. That’s what’s meant by “declarative”.

    Sorry but that is nonsense. The code behind those unit files is a lot of
    disparate C.

    In my experience init scripts are made entirely of simple commands that are
    documented and editable, piece by piece.

    https://cvsweb.openbsd.org/src/etc/rc?rev=1.572&content-type=text/x-cvsweb-markup

    --
    Regards, Kc

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to Kevin Chadwick on Wed Mar 20 03:17:48 2024
    On Wed, 20 Mar 2024 00:58:30 -0000 (UTC), Kevin Chadwick wrote:

    On Tue, 19 Mar 2024 22:29:50 -0000 (UTC), Lawrence D'Oliveiro wrote:

    Scripts need an interpreter. Being Turing-complete, in general
    information cannot be extracted from them except by running them. Unit
    files have a fixed vocabulary of keyword entries, which can be easily
    enumerated, looked up, whatever. That’s what’s meant by “declarative”.

    Sorry but that is nonsense. The code behind those unit files is a lot of disparate C.

    That’s purely down to how you choose to implement it--it has nothing to do with the format--and meaning--of those unit files themselves. Nobody can
    stop you from writing bad code to parse a good format.

    In my experience init scripts are made entirely of simple commands that
    are documented and editable, piece by piece.

    sysvinit scripts are full of boilerplate sections that users regularly
    copy and paste from one to the next, without thinking too much about what
    they do.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Kevin Chadwick@21:1/5 to All on Wed Mar 20 09:56:18 2024
    That’s purely down to how you choose to implement it--it has nothing to do

    with the format--and meaning--of those unit files themselves. Nobody can
    stop you from writing bad code to parse a good format.


    I'm skeptical of the flexibility being lost. Perhaps it is possible but Ada
    was specified competitively. Had Linux init been handled competitively then
    I doubt they would have attempted and failed to move away from scripts
    entirely. Likely openrc, runit or a new init system would have succeeded.

    In my experience init scripts are made entirely of simple commands that
    are documented and editable, piece by piece.

    sysvinit scripts are full of boilerplate sections that users regularly
    copy and paste from one to the next, without thinking too much about what >they do.

    SysV init scripts are quite horrid but OpenBSDs rc system is far more
    transparent, flexible and nicer to work with than systemd.


    --
    Regards, Kc

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to Kevin Chadwick on Wed Mar 20 23:01:43 2024
    On Wed, 20 Mar 2024 09:56:18 -0000 (UTC), Kevin Chadwick wrote:

    I'm skeptical of the flexibility being lost.

    systemd service definitions let you state dependencies between services. Furthermore, it separates them into ordering dependencies versus
    requirement dependencies.

    E.g. an application that uses a MariaDB database requires MariaDB to be
    running before it can be started (ordering + requirement dependency).

    An application that can (but doesn’t have to) make use of network services should be started after the network stack is up (ordering dependency).

    I’m not aware of any other service-management system that provides this
    level of control.

    SysV init scripts are quite horrid but OpenBSDs rc system is far more
    transparent, flexible and nicer to work with than systemd.

    Does it have the equivalent of cgroups? These are a Linux feature (also
    used by OpenRC) to ensure that, no matter how service processes may fork/ exec/terminate, the service manager can always track them down.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Kevin Chadwick@21:1/5 to All on Thu Mar 21 01:50:05 2024
    So now you have moved on to inventing issues in search of justifications.
    One of which is concurrent startup of which there is no need at all and
    actually causes a number of problems...

    It can also be accomplished very clearly and easily from a script.

    --
    Regards, Kc

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lawrence D'Oliveiro@21:1/5 to Kevin Chadwick on Thu Mar 21 02:41:06 2024
    On Thu, 21 Mar 2024 01:50:05 -0000 (UTC), Kevin Chadwick wrote:

    So now you have moved on to inventing issues in search of
    justifications.

    One of which is concurrent startup of which there is no need at all and
    actually causes a number of problems...

    Which I never mentioned.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)