aboutsummaryrefslogtreecommitdiff
path: root/system/s6
diff options
context:
space:
mode:
authorMuhammad Mahendra Subrata <mumahendras3@gmail.com>2020-01-12 21:38:17 +0700
committerWilly Sudiarto Raharjo <willysr@slackbuilds.org>2020-01-12 21:43:36 +0700
commit80e0de16771ef475d8a538e7dcc9dbbb1a01d1d4 (patch)
tree493b5a32f6c723f6283d9238fd78dad824e9a806 /system/s6
parent6b5f8d533295693f34718f873eae24fca5387331 (diff)
system/s6: Updated for version 2.9.0.1.
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
Diffstat (limited to 'system/s6')
-rw-r--r--system/s6/README52
-rw-r--r--system/s6/README.Slackware21
-rw-r--r--system/s6/s6.SlackBuild53
-rw-r--r--system/s6/s6.info10
-rw-r--r--system/s6/slack-desc12
5 files changed, 107 insertions, 41 deletions
diff --git a/system/s6/README b/system/s6/README
index fc847045e99c..2c7ec758e354 100644
--- a/system/s6/README
+++ b/system/s6/README
@@ -7,19 +7,39 @@ be used within or without the framework, and that can be assembled
together to achieve powerful functionality with a very small amount of
code.
-skalibs is only required at build time, not run time.
-
-
-Some hints for using this package on Slackware:
-
-I added the following to my /etc/inittab:
-
-# S6
-sv:12345:respawn:/command/s6-svscanboot
-
-Then did a 'telinit q' to start it.
-
-Note that the default s6-svscanboot provided disables polling
-(-t0). So after adding a new service to /service you should call:
-
-/command/s6-svscanctl -a /service
+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.
diff --git a/system/s6/README.Slackware b/system/s6/README.Slackware
new file mode 100644
index 000000000000..5842f3888df6
--- /dev/null
+++ b/system/s6/README.Slackware
@@ -0,0 +1,21 @@
+Some hints for using this package alongside Slackware's default
+init system:
+
+I added the following to my /etc/inittab:
+
+ # S6
+ sv:12345:respawn:/bin/s6-svscanboot
+
+Then did a 'telinit q' to start it.
+
+Note that the default s6-svscanboot provided disables polling
+(-t0). So after adding a new service to /service you should call:
+
+ /bin/s6-svscanctl -a /service
+
+where /service is a directory that contains all the services that
+s6 will supervise. You can change it to other places such as
+/etc/service, /var/service, etc. and edit the provided
+/bin/s6-svscanboot script to change the scan directory to the new
+service directory (i.e. change /service in the script to the new service
+directory).
diff --git a/system/s6/s6.SlackBuild b/system/s6/s6.SlackBuild
index 83120ba2a5d4..4c3dadd47692 100644
--- a/system/s6/s6.SlackBuild
+++ b/system/s6/s6.SlackBuild
@@ -3,6 +3,7 @@
# Slackware build script for s6
# Copyright 2019 Sean MacLennan Ottawa, Canada
+# Copyright 2020 Muhammad Mahendra Subrata Depok, Indonesia
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +24,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=s6
-VERSION=${VERSION:-2.7.2.2}
+VERSION=${VERSION:-2.9.0.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -54,6 +55,29 @@ else
LIBDIRSUFFIX=""
fi
+# By default, only static libraries are built. If you need to build the shared libraries, just pass
+# BUILD_SHARED=yes to this script
+BUILD_STATIC=${BUILD_STATIC:-yes}
+BUILD_SHARED=${BUILD_SHARED:-no}
+
+if [ "$BUILD_STATIC" = "no" ]; then
+ LIBS_CONF="--disable-static"
+fi
+
+if [ "$BUILD_SHARED" = "yes" ]; then
+ LIBS_CONF="--enable-shared $LIBS_CONF"
+fi
+
+# By default, all binaries are linked against the static versions of the skarnet.org libraries
+# Pass LINK_SHARED=yes to link the binaries against the shared versions of the skarnet.org libraries
+# Also, if you only built the shared versions of the skarnet.org libraries, the binaries will be
+# linked against shared libraries automatically, as though LINK_SHARED=yes is passed to this script
+LINK_SHARED=${LINK_SHARED:-no}
+
+if [ "$LINK_SHARED" = "yes" ]; then
+ LIBS_CONF="--disable-allstatic $LIBS_CONF"
+fi
+
set -e
rm -rf $PKG
@@ -72,23 +96,24 @@ find -L . \
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
- --bindir=/command \
- --libdir=/usr/lib${LIBDIRSUFFIX} \
- --dynlibdir=/usr/lib${LIBDIRSUFFIX} \
- --build=$ARCH-slackware-linux
+ --dynlibdir=/lib${LIBDIRSUFFIX} \
+ --bindir=/bin \
+ --libexecdir=/usr/libexec \
+ --libdir=/usr/lib${LIBDIRSUFFIX}/s6 \
+ --includedir=/usr/include \
+ --with-sysdeps=/usr/lib${LIBDIRSUFFIX}/skalibs/sysdeps \
+ --with-lib=/usr/lib${LIBDIRSUFFIX}/skalibs \
+ --with-lib=/usr/lib${LIBDIRSUFFIX}/execline \
+ $LIBS_CONF
make
+make strip
make install DESTDIR=$PKG
-# Promote s6-svscanboot to /command since most Slackware users will
-# probably want to run without replacing init
-install examples/s6-svscanboot $PKG/command
-
-# Make this directory so that removepkg will show it as not empty
-mkdir $PKG/service
-
-find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
- | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+# Promote s6-svscanboot to /bin for users that want to use s6
+# alongside the system's default init system
+install examples/s6-svscanboot $PKG/bin
+sed -i 's|command|bin|g' $PKG/bin/s6-svscanboot
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a AUTHORS COPYING INSTALL NEWS README doc examples $PKG/usr/doc/$PRGNAM-$VERSION
diff --git a/system/s6/s6.info b/system/s6/s6.info
index 01a1bfcb19c0..53d6298bb813 100644
--- a/system/s6/s6.info
+++ b/system/s6/s6.info
@@ -1,10 +1,10 @@
PRGNAM="s6"
-VERSION="2.7.2.2"
+VERSION="2.9.0.1"
HOMEPAGE="https://skarnet.org/software/s6/"
-DOWNLOAD="https://skarnet.org/software/s6/s6-2.7.2.2.tar.gz"
-MD5SUM="49d7d214c41cc49b839834a518f21ca5"
+DOWNLOAD="https://skarnet.org/software/s6/s6-2.9.0.1.tar.gz"
+MD5SUM="e202b9dbfd532322ca9b92e20f5ac6bb"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="execline"
-MAINTAINER="Sean MacLennan"
-EMAIL="seanm@seanm.ca"
+MAINTAINER="Muhammad Mahendra Subrata"
+EMAIL="mumahendras3@gmail.com"
diff --git a/system/s6/slack-desc b/system/s6/slack-desc
index 79cc2632c7e1..57896e4006d2 100644
--- a/system/s6/slack-desc
+++ b/system/s6/slack-desc
@@ -10,10 +10,10 @@ s6: s6 (process/service supervision suite)
s6:
s6: s6 is a small suite of programs for UNIX, designed to allow process
s6: supervision (a.k.a service supervision), in the line of daemontools
-s6: and runit, as well as various operations on processes and daemons.
-s6: It is meant to be a toolbox for low-level process and service
-s6: administration, providing different sets of independent tools that
-s6: can be used within or without the framework.
-s6:
-s6: https://skarnet.org/software/s6/
+s6: and runit, as well as various operations on processes and daemons. It
+s6: is meant to be a toolbox for low-level process and service
+s6: administration, providing different sets of independent tools that can
+s6: be used within or without the framework, and can be assembled together
+s6: to achieve powerful functionality with a very small amount of code.
s6:
+s6: Homepage: https://skarnet.org/software/s6/