system/s6: Updated for version 2.9.0.1.

Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
This commit is contained in:
Muhammad Mahendra Subrata 2020-01-12 21:38:17 +07:00 committed by Willy Sudiarto Raharjo
parent 6b5f8d5332
commit 80e0de1677
5 changed files with 100 additions and 34 deletions

View File

@ -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.
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.
Some hints for using this package on Slackware:
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.
I added the following to my /etc/inittab:
If you want to also build the shared libraries, pass BUILD_SHARED=yes
environment variable to the SlackBuild script like below:
# S6
sv:12345:respawn:/command/s6-svscanboot
BUILD_SHARED=yes ./s6.SlackBuild
Then did a 'telinit q' to start it.
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:
Note that the default s6-svscanboot provided disables polling
(-t0). So after adding a new service to /service you should call:
BUILD_SHARED=yes BUILD_STATIC=no ./s6.SlackBuild
/command/s6-svscanctl -a /service
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.

View File

@ -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).

View File

@ -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

View File

@ -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"

View File

@ -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/