Skip site navigation (1)Skip section navigation (2)
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.html


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?69eea7d6.1e83c.5502a8da>