For variety, I also present my result of doing this using the rc(1)
shell (the Byron Rakitzis implementation [1]).  Boot up an Alpine Linux
in a virtual machine, follow the README in the tarball, and you would be
able to get a working s6/s6-rc/rc (well the name...) based system.  It
is admittedly designed based on Alpine, but should be to some extent
portable: Alpine uses a user space based on busybox, so I think most
commands should be able to run as is, since a user space based on
GNU/util-linux/... would be more permissive in most aspects.

[1] <https://github.com/rakitzis/rc>.

Why still using a shell has just been thoroughly explained by Laurent
(I think a point to add is that using the shell for run scripts makes
instanced services very easy to implement); the rationale for using
rc(1) was explained in [2], which is also where I first posted my
results.  The current version has accumulated a lot of updates, and
should be significantly better.

[2] <https://skarnet.org/cgi-bin/archive.cgi?
             2:msp:1375:lbimjlgggoajjofdbeoc>
    (Sorry for all those grammatical mistakes; the technical mistakes
    have mostly been corrected in its follow-ups, but one remains:
    there actually *is* a `$PIPESTATUS' counterpart in rc(1), since the
    `$status' for a pipeline in the [1] implementation is a list of all
    exit codes from the pipeline).

On Fri, May 19, 2017 at 07:53:12PM +0000, Laurent Bercot wrote:
>   Third, converting rc scripts from a distribution to a s6-rc service
> database is currently the *most valuable contribution* you can do for
> s6-rc. I'm not joking: what s6 and s6-rc need right now is adoption
> by mainstream distribution, and the limiting factor is clearly the
> conversion from sysvrc or OpenRC scripts to the s6-rc source format.
> So if you're going to attempt this for Slackware, you have my whole
> support, and my thanks; but this is a large task, and does not need
> extra porting work piled onto it. If you can do that, it will be a
> big, and useful, achievement, even if the scripts are still shell
> scripts.

-- 
My current OpenPGP key:
RSA4096/0x227E8CAAB7AA186C (expires: 2020.10.19)
7077 7781 B859 5166 AE07 0286 227E 8CAA B7AA 186C

Attachment: alpine-s6rc-conf.tgz
Description: GNU Unix tar archive

Reply via email to