Date: Mon, 27 Apr 2026 00:03:34 +0000 From: Robert Clausecker <fuz@FreeBSD.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org Cc: Jan Bramkamp <crest+freebsd@rlwinm.de> Subject: git: a37192b4896e - main - sysutils/s6-frontend: Frontend to the s6 init system Message-ID: <69eea7d6.1e83c.5502a8da@gitrepo.freebsd.org>
index | next in thread | raw e-mail
The branch main has been updated by fuz: URL: https://cgit.FreeBSD.org/ports/commit/?id=a37192b4896e3ef9438e610cf6bf31c451ef11dc commit a37192b4896e3ef9438e610cf6bf31c451ef11dc Author: Jan Bramkamp <crest+freebsd@rlwinm.de> AuthorDate: 2026-04-24 17:06:26 +0000 Commit: Robert Clausecker <fuz@FreeBSD.org> CommitDate: 2026-04-27 00:01:10 +0000 sysutils/s6-frontend: Frontend to the s6 init system s6-frontend is a frontend to the s6 init system. It provides the one-stop-shop s6 command, that is used to address every part of the s6 init system. WWW: https://www.skarnet.org/software/s6-frontend/ Event: Wiesbaden Hackathon 202604 --- sysutils/Makefile | 1 + sysutils/s6-frontend/Makefile | 84 ++++++++++++++++++++++++++++++++++++++++++ sysutils/s6-frontend/distinfo | 3 ++ sysutils/s6-frontend/pkg-descr | 6 +++ sysutils/s6-frontend/pkg-plist | 22 +++++++++++ 5 files changed, 116 insertions(+) diff --git a/sysutils/Makefile b/sysutils/Makefile index bb0ec5d13e59..d27cf03f24e3 100644 --- a/sysutils/Makefile +++ b/sysutils/Makefile @@ -1304,6 +1304,7 @@ SUBDIR += rw-tui SUBDIR += s-tui SUBDIR += s6 + SUBDIR += s6-frontend SUBDIR += s6-rc SUBDIR += safe-rm SUBDIR += safecat diff --git a/sysutils/s6-frontend/Makefile b/sysutils/s6-frontend/Makefile new file mode 100644 index 000000000000..0c048e0af0e8 --- /dev/null +++ b/sysutils/s6-frontend/Makefile @@ -0,0 +1,84 @@ +PORTNAME= s6-frontend +DISTVERSION= 0.0.1.1 +CATEGORIES= sysutils +MASTER_SITES= http://www.skarnet.org/software/${PORTNAME}/ + +MAINTAINER= crest@rlwinm.de +COMMENT= Frontend to the s6 init system +WWW= https://www.skarnet.org/software/s6-frontend/ + +LICENSE= ISCL +LICENSE_FILE= ${WRKSRC}/COPYING + +FLAVORS= hier run +FLAVOR?= ${FLAVORS:[1]} +.if ${FLAVOR} == run # Follow hier(7) +BUILD_DEPENDS= execline>=2.9.8.1:lang/execline \ + skalibs>=2.14.5.1:devel/skalibs \ + s6>=2.14.0.1:sysutils/s6 \ + s6-rc-run>=0.6.0.0:sysutils/s6-rc +RUN_DEPENDS= execline>=2.9.8.1:lang/execline \ + skalibs>=2.14.5.1:devel/skalibs \ + s6>=2.14.0.1:sysutils/s6 \ + s6-rc-run>=0.6.0.0:sysutils/s6-rc +.else +BUILD_DEPENDS= execline>=2.9.8.1:lang/execline \ + skalibs>=2.14.5.1:devel/skalibs \ + s6>=2.14.0.1:sysutils/s6 \ + s6-rc>=0.6.0.0:sysutils/s6-rc +RUN_DEPENDS= execline>=2.9.8.1:lang/execline \ + skalibs>=2.14.5.1:devel/skalibs \ + s6>=2.14.0.1:sysutils/s6 \ + s6-rc>=0.6.0.0:sysutils/s6-rc +.endif +LIB_DEPENDS= libs6.so:sysutils/s6 \ + libskarnet.so:devel/skalibs + +USES= gmake +USE_LDCONFIG= yes +HAS_CONFIGURE= yes + +run_PKGNAMESUFFIX= -run + +# The only difference between the hier and the run flavors is the default live directory path +# hard coded into the s6-rc utilities allowing their use without passing -l <live_dir>. +# A FreeBSD port should follow the operating system file system layout, but there is a corner +# case where s6-rc replacing base system init system *has* to deviate from hier(7). +# The problem is that s6-rc requires a writeable file system +# (to track service state, bind unix sockets, create named fifos) +# very early in the boot process before FreeBSD used to mount /var and /var/run. +# One way to satisfy this requirement is to mount a tmpfs directly under /. +# The live directory shouldn't be kept on /tmp because this often a small +# file system that could be exhausted by accident breaking s6-rc. +# Adding a small /run tmpfs dedicated to s6-rc solves this problem. +.if ${FLAVOR} == run # Follow hier(7) +LIVEDIR?= /run/${PORTNAME} +SCANDIR?= /run/service +STMPDIR?= /run/s6-frontend +.endif +LIVEDIR?= /var/run/${PORTNAME} +SCANDIR?= /var/run/service +STMPDIR?= /var/run/s6-frontend + +CFLAGS+= -D__BSD_VISIBLE + +CONFIGURE_ARGS+=--prefix=${PREFIX} \ + --with-include=${LOCALBASE}/include \ + --with-lib=${LOCALBASE}/lib \ + --with-lib=${LOCALBASE}/lib/execline \ + --with-lib=${LOCALBASE}/lib/s6 \ + --with-dynlib=${LOCALBASE}/lib \ + --disable-s6li \ + --livedir=${LIVEDIR} \ + --scandir=${SCANDIR} \ + --enable-shared + +DOCS= AUTHORS COPYING INSTALL README doc/*.html +OPTIONS_DEFINE= DOCS + +post-install: + ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/* + @${MKDIR} ${STAGEDIR}${DOCSDIR} + cd ${WRKSRC} && ${INSTALL_DATA} ${DOCS} ${STAGEDIR}${DOCSDIR} + +.include <bsd.port.mk> diff --git a/sysutils/s6-frontend/distinfo b/sysutils/s6-frontend/distinfo new file mode 100644 index 000000000000..b055efd5c79b --- /dev/null +++ b/sysutils/s6-frontend/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1769445127 +SHA256 (s6-frontend-0.0.1.1.tar.gz) = 2c1ac4f64b04400cd7c81cd9be222be52b07b7d8955a876b9f9f3f8c2328dfeb +SIZE (s6-frontend-0.0.1.1.tar.gz) = 56413 diff --git a/sysutils/s6-frontend/pkg-descr b/sysutils/s6-frontend/pkg-descr new file mode 100644 index 000000000000..189dfa30aa1f --- /dev/null +++ b/sysutils/s6-frontend/pkg-descr @@ -0,0 +1,6 @@ +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. diff --git a/sysutils/s6-frontend/pkg-plist b/sysutils/s6-frontend/pkg-plist new file mode 100644 index 000000000000..30cae389949d --- /dev/null +++ b/sysutils/s6-frontend/pkg-plist @@ -0,0 +1,22 @@ +bin/s6 +include/s6-frontend/config.h +libexec/s6-frontend +libexec/s6-frontend-helper-echo +libexec/s6-frontend-helper-kill +%%PORTDOCS%%%%DOCSDIR%%/AUTHORS +%%PORTDOCS%%%%DOCSDIR%%/COPYING +%%PORTDOCS%%%%DOCSDIR%%/INSTALL +%%PORTDOCS%%%%DOCSDIR%%/README +%%PORTDOCS%%%%DOCSDIR%%/index.html +%%PORTDOCS%%%%DOCSDIR%%/overview.html +%%PORTDOCS%%%%DOCSDIR%%/s6-frontend-helper-echo.html +%%PORTDOCS%%%%DOCSDIR%%/s6-frontend-helper-kill.html +%%PORTDOCS%%%%DOCSDIR%%/s6-frontend.conf.html +%%PORTDOCS%%%%DOCSDIR%%/s6-frontend.html +%%PORTDOCS%%%%DOCSDIR%%/s6.html +%%PORTDOCS%%%%DOCSDIR%%/s6_live.html +%%PORTDOCS%%%%DOCSDIR%%/s6_process.html +%%PORTDOCS%%%%DOCSDIR%%/s6_repository.html +%%PORTDOCS%%%%DOCSDIR%%/s6_set.html +%%PORTDOCS%%%%DOCSDIR%%/s6_system.html +%%PORTDOCS%%%%DOCSDIR%%/upgrade.htmlhome | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?69eea7d6.1e83c.5502a8da>
