system/s6-linux-init: Updated for version 1.0.8.0, added a new compile-time option, general fixups/cleanups

Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
This commit is contained in:
Muhammad Mahendra Subrata 2022-06-18 12:08:13 +08:00 committed by Willy Sudiarto Raharjo
parent 01bbf8afd9
commit 4f99a118f0
No known key found for this signature in database
GPG key ID: 3F617144D7238786
3 changed files with 46 additions and 41 deletions

View file

@ -4,7 +4,6 @@ init system, including a /sbin/init binary, on a Linux kernel.
The resulting architecture follows the Unix philosophy (one job -> one
tool) as closely as possible, and is fully dedicated to the s6 way of
managing a system:
- s6-svscan runs as process 1 for the whole machine lifetime.
- Every daemon is supervised.
- No logs are ever lost.
@ -13,7 +12,6 @@ managing a system:
Nevertheless, the architecture is fully compliant with various empirical
and historical specifications. For instance, it provides:
- utmp management compatible with sysvinit,
- runlevel management, with a configurable default, overridable from the
kernel command line,
@ -25,29 +23,34 @@ nsss (https://skarnet.org/software/nsss/) (not available at SBo)
utmps (https://skarnet.org/software/utmps/) (not available at SBo)
NOTE:
s6-linux-init has some skeleton files that will be used to build the
s6-linux-init has some skeleton files that will be used to build a
complete s6-based init system. These files will be placed under
/etc/s6-linux-init/skel by default. You can change this by passing
SKEL_DIR=/path/to/directory environment variable to the SlackBuild
SKEL_DIR=/path/to/directory environment variable to this SlackBuild
script like below:
SKEL_DIR=/path/to/directory ./s6-linux-init.SlackBuild
The init system created by s6-linux-init will need an early boot tmpfs
in order to work properly. By default, s6-linux-init will assume that
The s6-based init system created by s6-linux-init needs an early boot
tmpfs to work properly. By default, the created init system assumes that
this tmpfs will be mounted on /run. You can change this by passing
TMPFS_DIR=/path/to/directory to the script like below:
TMPFS_DIR=/path/to/directory ./s6-linux-init.SlackBuild
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.
At some point in boot time, an instance of s6-svscan will become PID 1,
using $TMPFS_DIR/service as its scan directory by default. This can be
altered by passing SCAN_DIR=path/to/directory to the script, changing
the scan directory to $TMPFS_DIR/path/to/directory.
If you want to also build the shared libraries, pass BUILD_SHARED=yes
to the script like below:
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 to
the script like below:
BUILD_SHARED=yes ./s6-linux-init.SlackBuild
@ -57,7 +60,7 @@ libraries and not the static ones, you can do something like:
BUILD_SHARED=yes BUILD_STATIC=no ./s6-linux-init.SlackBuild
If you just want to build and use skarnet.org softwares, building only
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

View file

@ -29,8 +29,8 @@
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=s6-linux-init
VERSION=${VERSION:-1.0.7.3}
BUILD=${BUILD:-2}
VERSION=${VERSION:-1.0.8.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
@ -65,37 +65,38 @@ 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
# By default, only static libraries are built. If you want to also build the
# shared libraries, just pass BUILD_SHARED=yes to this script.
BUILD_STATIC=${BUILD_STATIC:-yes}
BUILD_SHARED=${BUILD_SHARED:-no}
[ "$BUILD_STATIC" = "no" ] && LIBS_CONF="--disable-static"
[ "$BUILD_SHARED" = "yes" ] && LIBS_CONF="--enable-shared $LIBS_CONF"
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
# 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. 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}
[ "$LINK_SHARED" = "yes" ] && LIBS_CONF="--disable-allstatic $LIBS_CONF"
if [ "$LINK_SHARED" = "yes" ]; then
LIBS_CONF="--disable-allstatic $LIBS_CONF"
fi
# By default, all the skeleton files from s6-linux-init are placed under /etc/s6-linux-init/skel
# Pass SKEL_DIR=/path/to/directory to this script if you want to place it somewhere else
# By default, all skeleton files from s6-linux-init are placed under
# /etc/s6-linux-init/skel. Pass SKEL_DIR=/path/to/directory to this script if
# you want to place them somewhere else.
SKEL_DIR=${SKEL_DIR:-/etc/s6-linux-init/skel}
# By default, s6-linux-init will assume that the initial tmpfs is mounted on /run
# Pass TMPFS_DIR=/path/to/directory to this script if you want to change it
# By default, a s6-based init system created by s6-linux-init assumes that the
# initial tmpfs will be mounted on /run. Pass TMPFS_DIR=/path/to/directory to
# this script if you want to change it.
TMPFS_DIR=${TMPFS_DIR:-/run}
# By default, the PID 1 s6-svscan will use $TMPFS_DIR/service as its scan
# directory. Pass SCAN_DIR=path/to/directory to this script if you want to
# change it. Note that $SCAN_DIR will be relative to $TMPFS_DIR, so the final
# path will be $TMPFS_DIR/$SCAN_DIR.
SCAN_DIR=${SCAN_DIR:-service}
set -e
rm -rf $PKG
@ -121,6 +122,7 @@ CXXFLAGS="$SLKCFLAGS" \
--includedir=/usr/include \
--skeldir=${SKEL_DIR} \
--tmpfsdir=${TMPFS_DIR} \
--scandir=${SCAN_DIR} \
--with-sysdeps=/usr/lib${LIBDIRSUFFIX}/skalibs/sysdeps \
--with-lib=/usr/lib${LIBDIRSUFFIX}/skalibs \
--with-lib=/usr/lib${LIBDIRSUFFIX}/execline \

View file

@ -1,8 +1,8 @@
PRGNAM="s6-linux-init"
VERSION="1.0.7.3"
VERSION="1.0.8.0"
HOMEPAGE="https://skarnet.org/software/s6-linux-init/"
DOWNLOAD="https://skarnet.org/software/s6-linux-init/s6-linux-init-1.0.7.3.tar.gz"
MD5SUM="2627a029432a4dec5362d36611b18e06"
DOWNLOAD="https://skarnet.org/software/s6-linux-init/s6-linux-init-1.0.8.0.tar.gz"
MD5SUM="c970118871adc59c2c8126a83fb93589"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="s6"