diff options
author | Muhammad Mahendra Subrata <mumahendras3@gmail.com> | 2020-01-12 21:38:17 +0700 |
---|---|---|
committer | Willy Sudiarto Raharjo <willysr@slackbuilds.org> | 2020-01-12 21:43:36 +0700 |
commit | 80e0de16771ef475d8a538e7dcc9dbbb1a01d1d4 (patch) | |
tree | 493b5a32f6c723f6283d9238fd78dad824e9a806 | |
parent | 6b5f8d533295693f34718f873eae24fca5387331 (diff) |
system/s6: Updated for version 2.9.0.1.
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
-rw-r--r-- | system/s6/README | 52 | ||||
-rw-r--r-- | system/s6/README.Slackware | 21 | ||||
-rw-r--r-- | system/s6/s6.SlackBuild | 53 | ||||
-rw-r--r-- | system/s6/s6.info | 10 | ||||
-rw-r--r-- | system/s6/slack-desc | 12 |
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/ |