:: Re: [DNG] Devuan cannot exist witho…
Top Page
Delete this message
Reply to this message
Author: viverna
Date:  
To: dng
New-Topics: Re: [DNG] INJ - Init Freedom inJector (was: cannot exist without the help of Debian)
Subject: Re: [DNG] Devuan cannot exist without the help of Debian
il devuanizzato Denis Roio <jaromil@???> il 22-11-19 10:55:46 ha scritto:
>Devuan cannot exist without the help of Debian.
>
>If Debian drops the support for any other init system but systemd, I
>believe we won't be able to keep up with the legwork needed to support
>all other init systems. I say this because we do not have a comparable
>amount of people and resources to face the huge amount of work Debian
>will cease to do. Of course quality matters, but not that far.

No, we will not allow it!
I propose this: a script called INJ - Init Freedom inJector

I wrote this summer in this list about a possibility of inject init run 
scripts (for example runit) in all Devuan packages automatically.
I'm writing a simple script that inject init diversity in a single 
package.
Workflow I imagined it like this:
- Init script experts write run scripts for all daemon based on rules 
  specified below (also sysvinit)
- Script read a package one by one:
    - Open package in tmp dir
    - For all init system included in Devuan:
        - If exists run script for package
            - Insert run script
            - Edit if requested postinst and prerm script
    - Create package from tmp dir
- New package created (automatically)


Run script resides in /var/local/INITSYSTEM/ and are copied in the
package.

Script I wrote support epoch and runit. Other init can be supported if
implemented.

Config file for epoch are in 
/var/local/epoch/package_name_all_daemon.conf
For example openssh-server.conf
ObjectID=sshd
        ObjectDescription=SSHD
        ObjectStartCommand=mkdir -p /run/sshd && /usr/sbin/sshd
        ObjectStopCommand=PIDFILE /run/sshd.pid
        ObjectStartPriority=Start_Network_Daemon_H
        ObjectStopPriority=Stop_Daemon_H
        ObjectEnabled=true
        ObjectOptions=SERVICE AUTORESTART
        ObjectRunlevels=boot core net


Script file for runit are in /var/local/runit/package/

For daemon:
/var/local/runit/package/daemon/run

For example /var/local/runit/openssh-server/sshd/run
#!/bin/sh
exec 2>&1
sv start rsyslogd || exit 1
mkdir -p /run/sshd
exec /usr/sbin/sshd -D

System one time tasks (inject in /etc/runit/{1,2,3}):
/var/local/runit/package/dir/{1,2,3}

>If the resolution nr.4 proposed by Ian Jackson will not pass,
>Devuan will die.

No, inject treatment scripts in all systemd-unit-file only infected
packages automatically.
Hard work is ONLY create script for all init systems supported (more
easy if a small committee of experts write it).
I would like to release the script in the next days with AGPL3 but tell
me.

We are at war. Let's defend ourselves or die fighting.

-- 
 _________
< Viverna >
 ---------
       \                    ^    /^
        \                  / \  // \
         \   |\___/|      /   \//  .\
          \  /0  0  \__  /    //  | \ \           *----*
            /     /  \/_/    //   |  \  \          \   |
            @_^_@`/   \/_   //    |   \   \         \/\ \
            //_^_/     \/_ //     |    \    \         \  \
         ( //) |        \///      |     \     \       |  |
       ( / /)  |         //       |      \     _\     |  /
     ( // /)   |          ; -.    |    _ _\.-~       /   /
   (( / / ))   |        _      *-.|.-~-.           .~    ~
  (( // / ))    \      /                 ~-. _ .-~      /
  (( /// ))      `.   }            {                   /
   (( / ))      .----~-.\        \-`                 .~
                ///.----..<        \             _ -~
                   ///-._ _ _ _ _ _ _{^ - - - - ~