mirror of
https://github.com/Ponce/slackbuilds
synced 2024-11-21 19:42:24 +01:00
629d9beb06
Signed-off-by: Dave Woodfall <dave@slackbuilds.org> Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
64 lines
2.7 KiB
Text
64 lines
2.7 KiB
Text
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 the
|
|
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 the SlackBuild
|
|
script like below:
|
|
|
|
SKEL_DIR=/path/to/directory ./s6-linux-init.SlackBuild
|
|
|
|
The init system created by s6-linux-init will need an early boot tmpfs
|
|
in order to work properly. By default, s6-linux-init will assume 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
|
|
|
|
Upstream recommends building skarnet.org softwares with static libraries
|
|
as most of skarnet.org softwares are small enough that using shared
|
|
libraries are generally not worth using. Therefore, by default, shared
|
|
libraries are not built and binaries are linked against the static
|
|
versions of the skarnet.org libraries.
|
|
|
|
If you want to also build the shared libraries, pass BUILD_SHARED=yes
|
|
to the script like below:
|
|
|
|
BUILD_SHARED=yes ./s6-linux-init.SlackBuild
|
|
|
|
Similarly, to avoid building the static libraries, you can pass
|
|
BUILD_STATIC=no to the script. For example, to only build the shared
|
|
libraries and not the static ones, you can do something like:
|
|
|
|
BUILD_SHARED=yes BUILD_STATIC=no ./s6-linux-init.SlackBuild
|
|
|
|
If you just want to build and use skarnet.org softwares, building only
|
|
the static libraries should be sufficient.
|
|
|
|
If you want the binaries to be linked against the shared versions of the
|
|
skarnet.org libraries, pass LINK_SHARED=yes to the script.
|