I've been living with rc-shim for several months now, and while it isn't
perfect, it's certainly taken a lot of the pain out of migration while
using SysV rc scripts. I'm planning on switching off of runit this summer
and moving to s6, so this is both a "proof in the pudding" moment for me
because the shim is supposedly supervisor-agnostic. There are two basic
issues that I've yet to solve that aren't cosmetic in nature:

1. Debian's updates will overwrite /etc/init.d/{name-of-service-script}
with a new copy each time a service is updated. It's annoying but easily
fixed, simply "head -n25 /etc/init.d/{script}" and copy the header comments
into a new shim, and then copy the modified shim over the init script.
2. The shim doesn't detect service flapping. This nasty condition happens
when the service starts, runs for 1 second, the shim wakes from sleep and
detects the service is OK (because the supervisor task reports back that it
is OK), and the shim exits with a successful return code; but the service
crashes a second later, and the supervisor then restarts it over and over
again. You're left thinking there is a good start, but the service is
flapping like a wounded moth. Ugly all the way around, and I don't have a
good fix yet.
Both of these are temporary problems when viewed as a stepping stone to a
pure s6 system, so it's not too big of a concern. The real problem remains
the same for Debian - writing the hundreds of run script definitions to
cover all packages.
On Sat, Apr 21, 2018 at 1:19 PM, Didier Kryn <didier.k...@free.fr> wrote:
>
> Whether starting from Alpine or Devuan, at least you don't have to
> fight against Systemd which has put metastases pretty much everywhere in
> the system. You start from sysvinit and just replace the rc scripts even
> with keeping sysv's init proper, at the beginning. A big part of the work
> is packaging and transitionning flawlessly from one system to the other
> when installing/removing the packages.
>
> Didier
>
>