From nobody Mon Apr 27 00:03:34 2026 X-Original-To: dev-commits-ports-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g3kLH105Yz6bGtk for ; Mon, 27 Apr 2026 00:03:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g3kLG2zzMz47pT for ; Mon, 27 Apr 2026 00:03:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777248214; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Jof4M2Lc7T3WXmy+shyY4OUOA2RxQNGKcEftNyfYSZ0=; b=LArv3ZymSmizAz18msSlSQkX3DaYbU/q4rpPZrP+sykSD4++vZHXtq3cIuOzZ9p9CDELcD VT2F5ZSTlYGVkzLBdotKIraZ0e2uOWEXIjFnOHReUI7MgW95ltp2QU+H7o/+g3GTTI5T5f ca2muyVTa7B9t7cKkIRedkrHZIT2KBbm4v9IrHCpsTnCMThcyXl5ac5oy0VxVSmFQ15Uti TTaugHnYM+9PXaVJZ0BzbkYm2icT9JH4Tg6xYc+kkNIOIMV/OZRaA28yTQ+2k3vFcefymZ u2c3CXsALYyupQJHpTMN5QDIu2acllsfjec02FEDV0adHCX6mnnC3zCcXJumBw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777248214; a=rsa-sha256; cv=none; b=a9g9V6Ni5omkpJ2NTKMoa+bvq9s3/B4HnWGmarzGrjH3KDoR0bnr/K75vPkfHFvnAcrqSv 7VT4VAd0nUn60hY1DNmY5Cja+2saIKGjIMlEOQw9Mt7OBUBmmqzRjWGAZmoT/Y1ULkFI5v RKckY2gKMVZjOo70rwPWdUBYN1eE4S6EBUyIaCeZ4fbM3h4Ce1J8vKFRSEHOV9VNoZEy8W AuN7yr379EbQ+d8IMJsnuGFJFaNAu/UBOLJ+UBgJJ1TRHoBHqzbIjcNV/A3xdLItYXo0NG 8BRD8cSVcnURDb2DJ9bFN+jJ6SfYHshugrm+Cn2B3ll786sJ3CkxA8Dvz87Dsg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777248214; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Jof4M2Lc7T3WXmy+shyY4OUOA2RxQNGKcEftNyfYSZ0=; b=CSl4MUBP8y+DZsX5W1O2XyVZv6osDIbxTxZc7EPWTRc3GKqR5qyvdOYb4G82ts/IUwxydv 5J/ATRZz1N8xUvZbStSsxO9BJdb1puo3gnh8EYdmWrq/kyUNo2EkMxgY0fxqkcnn4dIlak T5aci9ruh/mQpdYaiPPCcy3HaflK8JzNyGBDJscC+GC+Uh5XCI1qj83Hvw+UA0az6NKpZD FBNCrBy0QGkXjW/RfBd2BB7KaovEnVMBOVn90lqTqmfctK/biUynu1pPCLkdcIC6TEHZXc aDKGtwR0hvycRvJerknJWRd0cjeZC8UfejyJc8uPCBm+dD7ulpGm+hGQ8LZTmw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g3kLG2KbGzk8f for ; Mon, 27 Apr 2026 00:03:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1e83c by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 27 Apr 2026 00:03:34 +0000 To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org Cc: Jan Bramkamp From: Robert Clausecker Subject: git: a37192b4896e - main - sysutils/s6-frontend: Frontend to the s6 init system List-Id: Commit messages for all branches of the ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-ports-all@freebsd.org Sender: owner-dev-commits-ports-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: fuz X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a37192b4896e3ef9438e610cf6bf31c451ef11dc Auto-Submitted: auto-generated Date: Mon, 27 Apr 2026 00:03:34 +0000 Message-Id: <69eea7d6.1e83c.5502a8da@gitrepo.freebsd.org> The branch main has been updated by fuz: URL: https://cgit.FreeBSD.org/ports/commit/?id=a37192b4896e3ef9438e610cf6bf31c451ef11dc commit a37192b4896e3ef9438e610cf6bf31c451ef11dc Author: Jan Bramkamp AuthorDate: 2026-04-24 17:06:26 +0000 Commit: Robert Clausecker 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 . +# 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 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