aboutsummaryrefslogtreecommitdiff
path: root/system/s6/README
blob: 2c7ec758e3543e304cfe444ac9597820ba3cb55a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
s6 is a small suite of programs for UNIX, designed to allow process
supervision (a.k.a service supervision), in the line of daemontools
and runit, as well as various operations on processes and daemons. It
is meant to be a toolbox for low-level process and service
administration, providing different sets of independent tools that can
be used within or without the framework, and that can be assembled
together to achieve powerful functionality with a very small amount of
code.

Examples of things you can do by assembling together several programs
provided by s6 - besides process supervision:

- syslogd functionality, using much less resources than the traditional
  syslogd.
- Reliable service readiness notification, which is the basis for
  service dependency management.
- Controlled privileged gain as with sudo, without using any suid
  programs.
- The useful parts of socket activation without having to change
  application code or link servers against any specific library, and
  without having to switch to any specific init system.

NOTE:
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
environment variable to the SlackBuild script like below:

    BUILD_SHARED=yes ./s6.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.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.