aboutsummaryrefslogtreecommitdiff
path: root/system/s6/README
blob: b7b7c8d67bae8b6938ecf46ba25b5944282470ce (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 software with static libraries,
as most of skarnet.org software are small enough that 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 this 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 software, 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, i.e.,

    LINK_SHARED=yes ./s6.SlackBuild