aboutsummaryrefslogtreecommitdiff
path: root/system/s6-rc
diff options
context:
space:
mode:
Diffstat (limited to 'system/s6-rc')
-rw-r--r--system/s6-rc/README26
-rw-r--r--system/s6-rc/s6-rc.SlackBuild6
2 files changed, 24 insertions, 8 deletions
diff --git a/system/s6-rc/README b/system/s6-rc/README
index 5a565ceed226a..1f11efda4034d 100644
--- a/system/s6-rc/README
+++ b/system/s6-rc/README
@@ -1,18 +1,30 @@
-s6-rc is a service manager for s6-based systems, i.e. a suite of programs
-that can start and stop services, both long-running daemons and one-time
-initialization scripts, in the proper order according to a dependency tree.
-It ensures that long-running daemons are supervised by the s6 infrastructure,
-and that one-time scripts are also run in a controlled environment.
+s6-rc is a service manager for s6-based systems, i.e. a suite of
+programs that can start and stop services, both long-running daemons and
+one-time initialization scripts, in the proper order according to a
+dependency tree. It ensures that long-running daemons are supervised by
+the s6 infrastructure, and that one-time scripts are also run in a
+controlled environment.
NOTE:
+s6-rc needs "live directory" where it puts some internal files that are
+needed at run-time. Default is /run/s6-rc. The default can be changed to
+other directory by passing LIVE_DIR=/path/to/directory environment
+variable to the SlackBuild script like below:
+
+ LIVE_DIR=/path/to/directory ./s6-rc.SlackBuild
+
+Make sure /path/to/directory is readable and writable by s6-rc or it
+will not work correctly. Using a RAM filesystem as the live directory is
+preferred.
+
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:
+If you want to also build the shared libraries, pass BUILD_SHARED=yes to
+the SlackBuild script like below:
BUILD_SHARED=yes ./s6-rc.SlackBuild
diff --git a/system/s6-rc/s6-rc.SlackBuild b/system/s6-rc/s6-rc.SlackBuild
index ff38938475390..254c9b8fe336f 100644
--- a/system/s6-rc/s6-rc.SlackBuild
+++ b/system/s6-rc/s6-rc.SlackBuild
@@ -77,6 +77,10 @@ if [ "$LINK_SHARED" = "yes" ]; then
LIBS_CONF="--disable-allstatic $LIBS_CONF"
fi
+# /run/s6-rc is the default live directory, pass LIVE_DIR=/path/to/directory to this script to change it
+# make sure /path/to/directory is readable and writable by s6-rc or it will not work correctly
+LIVE_DIR=${LIVE_DIR:-/run/s6-rc}
+
set -e
rm -rf $PKG
@@ -100,7 +104,7 @@ CXXFLAGS="$SLKCFLAGS" \
--libexecdir=/usr/libexec \
--libdir=/usr/lib${LIBDIRSUFFIX}/s6-rc \
--includedir=/usr/include \
- --livedir=/run/s6/rc \
+ --livedir=${LIVE_DIR} \
--with-sysdeps=/usr/lib${LIBDIRSUFFIX}/skalibs/sysdeps \
--with-lib=/usr/lib${LIBDIRSUFFIX}/skalibs \
--with-lib=/usr/lib${LIBDIRSUFFIX}/execline \