On Fri, Apr 20, 2018 at 07:48:23AM +0200, SZÉPE Viktor wrote: > > ... into both .deb's and .rpm's using fpm without much fuss. > > That much fuss includes 859 lintian tags e.g. gcc hardening, rc scripts for > essential Debian packages, a systemd->s6 migration utility etc. > https://lintian.debian.org/tags.html That's a different story... > > So basically I type apt-get install s6 and it makes systemd disappear, and > all these basic services work after reboot: > > cgroupfs-mount > console-setup.sh > cron > dbus > hwclock.sh > keyboard-setup.sh > kmod > networking > procps > rsync > rsyslog > ssh > udev Ah, you're talking about an s6-init package that pre-depends on s6-rc, s6, and execline (at a minimum). No, nothing exists like that currently. A handful of us (myself included) run debian systems under s6/s6-rc but as far as the packaging system is concerned they are still running sysvinit. Doing a full strip out is a pile of work, not to mention a lot of equivs stuff to keep from breaking a mountain of packages. > > Is there a documentation how to turn e.g. 'networking' into an s6 rc? > The simplest way is to have an s6-rc oneshot that calls '/etc/init.d/networking start' and then adjust the dependencies to put it in the right place in the boot order. The other option is to rewrite that script in execline. The rest of the rcS stuff is similar.
A word of warning for removing sysvinit or systemd packages entirely: a lot (all?) of the packages for daemons expect one of those inits to be present. This expectation comes in the form of post-install hooks and directory assumptions (something with an init script will expect /etc/init.d to exist, a guarantee that can't be made if sysvinit isn't present). A shim package covers that need, but that's more plumbing for an early-stage project. As I see it, this is what's needed for a full cutover: an s6-init package, an s6-systemd-shim package, and s6-rc. s6-init has the stage1/2/3 stuff, and the single-user mode initalization oneshots. s6-systemd-shim has the directories, a unit-file translation/compilation layer (does not exist yet), and translation scripts to mask systemd commands and emit s6-rc commands in their place. And s6-rc owns the s6-rc suite, /etc/s6-rc, and anything else belonging to the infrastructure around managing your source and compileds. Beyond that, everything either already exists in debian, or is in the dependency chain for s6-rc (s6, execline, maybe the s6-*-utils, etc). > > SZÉPE Viktor, honlap üzemeltetés / Running your application > https://github.com/szepeviktor/debian-server-tools/blob/master/CV.md Cheers! -- Colin Booth