s6-linux-init is a set of minimalistic tools used to create a s6-based
init system, including a /sbin/init binary, on a Linux kernel.

The resulting architecture follows the Unix philosophy (one job -> one
tool) as closely as possible, and is fully dedicated to the s6 way of
managing a system:
- s6-svscan runs as process 1 for the whole machine lifetime.
- Every daemon is supervised.
- No logs are ever lost.
- Policy is entirely left to the user. Typically, any service manager
  can be run on top of s6-linux-init.

Nevertheless, the architecture is fully compliant with various empirical
and historical specifications. For instance, it provides:
- utmp management compatible with sysvinit,
- runlevel management, with a configurable default, overridable from the
  kernel command line,
- sysvinit-like commands to shut the system down, including a shutdown
  command that follows the LSB specification.

Optional dependencies:
nsss (https://skarnet.org/software/nsss/) (not available at SBo)
utmps (https://skarnet.org/software/utmps/) (not available at SBo)

NOTE:
s6-linux-init has some skeleton files that will be used to build a
complete s6-based init system. These files will be placed under
/etc/s6-linux-init/skel by default. You can change this by passing
SKEL_DIR=/path/to/directory environment variable to this SlackBuild
script like below:

    SKEL_DIR=/path/to/directory ./s6-linux-init.SlackBuild

The s6-based init system created by s6-linux-init needs an early boot
tmpfs to work properly. By default, the created init system assumes that
this tmpfs will be mounted on /run. You can change this by passing
TMPFS_DIR=/path/to/directory to the script like below:

    TMPFS_DIR=/path/to/directory ./s6-linux-init.SlackBuild

At some point in boot time, an instance of s6-svscan will become PID 1,
using $TMPFS_DIR/service as its scan directory by default. This can be
altered by passing SCAN_DIR=path/to/directory to the script, changing
the scan directory to $TMPFS_DIR/path/to/directory. For example, if you
want to change the scan directory to /run/s6/service, you can pass
SCAN_DIR=s6/service to the script like below:

    SCAN_DIR=s6/service ./s6-linux-init.SlackBuild

Note that we don't use absolute path for SCAN_DIR here, since it is
relative to $TMPFS_DIR, which defaults to /run (as mentioned
previously).
