Mon Sep 4 17:51:11 2023 UTC ()
daemontools-run: update to 20230903.

pkgsrc changes:

- Create a /service symlink, if possible, pointing to ${VARBASE}/service
- Change default rc.d svscan_servicedir to "/service"
- Allow daemontools-encore to satisfy the dependency
- Move SMF configuration here (from daemontools)


(schmonz)
diff -r0 -r1.1 pkgsrc/sysutils/daemontools-run/DEINSTALL
diff -r0 -r1.1 pkgsrc/sysutils/daemontools-run/INSTALL
diff -r1.10 -r1.11 pkgsrc/sysutils/daemontools-run/Makefile
diff -r1.5 -r1.6 pkgsrc/sysutils/daemontools-run/files/svscan.sh
diff -r0 -r1.1 pkgsrc/sysutils/daemontools-run/files/smf/manifest.xml

File Added: pkgsrc/sysutils/daemontools-run/DEINSTALL
# $NetBSD: DEINSTALL,v 1.1 2023/09/04 17:51:10 schmonz Exp $

case "${STAGE}" in

DEINSTALL)
	${RM} -f /service

	;;

esac

File Added: pkgsrc/sysutils/daemontools-run/INSTALL
# $NetBSD: INSTALL,v 1.1 2023/09/04 17:51:10 schmonz Exp $

VARBASE=@VARBASE@

case "${STAGE}" in

POST-INSTALL)
	${LN} -s ${VARBASE}/service		/service

	;;

esac

cvs diff -r1.10 -r1.11 pkgsrc/sysutils/daemontools-run/Makefile (expand / switch to unified diff)

--- pkgsrc/sysutils/daemontools-run/Makefile 2019/08/19 22:11:44 1.10
+++ pkgsrc/sysutils/daemontools-run/Makefile 2023/09/04 17:51:10 1.11
@@ -1,37 +1,38 @@ @@ -1,37 +1,38 @@
1# $NetBSD: Makefile,v 1.10 2019/08/19 22:11:44 schmonz Exp $ 1# $NetBSD: Makefile,v 1.11 2023/09/04 17:51:10 schmonz Exp $
2# 2#
3 3
4DISTNAME= daemontools-run-20190819 4DISTNAME= daemontools-run-20230904
5CATEGORIES= sysutils 5CATEGORIES= sysutils
6MASTER_SITES= # empty 6MASTER_SITES= # empty
7DISTFILES= # empty 7DISTFILES= # empty
8 8
9MAINTAINER= schmonz@NetBSD.org 9MAINTAINER= schmonz@NetBSD.org
10COMMENT= Configures daemontools to run supervised services 10COMMENT= Configures daemontools to run supervised services
11LICENSE= 2-clause-bsd 11LICENSE= 2-clause-bsd
12 12
13DEPENDS+= daemontools-[0-9]*:../../sysutils/daemontools 13DEPENDS+= {daemontools>=0.76nb5,daemontools-encore-[0-9]*}:../../sysutils/daemontools
14 14
15WRKSRC= ${WRKDIR} 15WRKSRC= ${WRKDIR}
16NO_BUILD= yes 16NO_BUILD= yes
17NO_CHECKSUM= yes 17NO_CHECKSUM= yes
18 18
19MAKE_DIRS+= ${VARBASE}/service 19MAKE_DIRS+= ${VARBASE}/service
20PKG_GROUPS_VARS+= DAEMONTOOLS_GROUP 20PKG_GROUPS_VARS+= DAEMONTOOLS_GROUP
21PKG_USERS_VARS+= DAEMONTOOLS_LOG_USER 21PKG_USERS_VARS+= DAEMONTOOLS_LOG_USER
22PKG_GROUPS+= ${DAEMONTOOLS_GROUP} 22PKG_GROUPS+= ${DAEMONTOOLS_GROUP}
23PKG_USERS+= ${DAEMONTOOLS_LOG_USER}:${DAEMONTOOLS_GROUP} 23PKG_USERS+= ${DAEMONTOOLS_LOG_USER}:${DAEMONTOOLS_GROUP}
24RCD_SCRIPTS= svscan 24RCD_SCRIPTS= svscan
 25SMF_NAME= svscan
25FILES_SUBST+= VARBASE=${VARBASE:Q} 26FILES_SUBST+= VARBASE=${VARBASE:Q}
26FILES_SUBST+= DAEMONTOOLS_LOG_USER=${DAEMONTOOLS_LOG_USER:Q} 27FILES_SUBST+= DAEMONTOOLS_LOG_USER=${DAEMONTOOLS_LOG_USER:Q}
27FILES_SUBST+= PKGNAME=${PKGNAME:Q} 28FILES_SUBST+= PKGNAME=${PKGNAME:Q}
28 29
29INSTALLATION_DIRS= share/doc/${PKGBASE} 30INSTALLATION_DIRS= share/doc/${PKGBASE}
30BUILD_DEFS+= VARBASE DAEMONTOOLS_LOG_USER 31BUILD_DEFS+= VARBASE DAEMONTOOLS_LOG_USER
31 32
32.include "options.mk" 33.include "options.mk"
33 34
34do-install: 35do-install:
35 ${INSTALL_DATA} ${FILESDIR}/README.pkgsrc ${DESTDIR}${PREFIX}/share/doc/daemontools-run 36 ${INSTALL_DATA} ${FILESDIR}/README.pkgsrc ${DESTDIR}${PREFIX}/share/doc/daemontools-run
36 37
37.include "../../mk/bsd.pkg.mk" 38.include "../../mk/bsd.pkg.mk"

cvs diff -r1.5 -r1.6 pkgsrc/sysutils/daemontools-run/files/svscan.sh (expand / switch to unified diff)

--- pkgsrc/sysutils/daemontools-run/files/svscan.sh 2017/08/05 15:20:03 1.5
+++ pkgsrc/sysutils/daemontools-run/files/svscan.sh 2023/09/04 17:51:11 1.6
@@ -1,30 +1,30 @@ @@ -1,30 +1,30 @@
1#!@RCD_SCRIPTS_SHELL@ 1#!@RCD_SCRIPTS_SHELL@
2# 2#
3# $NetBSD: svscan.sh,v 1.5 2017/08/05 15:20:03 schmonz Exp $ 3# $NetBSD: svscan.sh,v 1.6 2023/09/04 17:51:11 schmonz Exp $
4# 4#
5# @PKGNAME@ script to control svscan (service supervisor). 5# @PKGNAME@ script to control svscan (service supervisor).
6# 6#
7 7
8# PROVIDE: svscan 8# PROVIDE: svscan
9# REQUIRE: NETWORKING mountcritremote syslogd 9# REQUIRE: NETWORKING mountcritremote syslogd
10# BEFORE: DAEMON 10# BEFORE: DAEMON
11 11
12name="svscan" 12name="svscan"
13 13
14# User-settable rc.conf variables and their default values: 14# User-settable rc.conf variables and their default values:
15: ${svscan_postenv:="PATH=@PREFIX@/sbin:@PREFIX@/bin:$PATH"} 15: ${svscan_postenv:="PATH=@PREFIX@/sbin:@PREFIX@/bin:$PATH"}
16: ${svscan_datalimit:="3000000"} 16: ${svscan_datalimit:="3000000"}
17: ${svscan_servicedir:="@VARBASE@/service"} 17: ${svscan_servicedir:="/service"}
18: ${svscan_log:="YES"} 18: ${svscan_log:="YES"}
19: ${svscan_logcmd:="logger -t nb${name} -p daemon.info"} 19: ${svscan_logcmd:="logger -t nb${name} -p daemon.info"}
20: ${svscan_nologcmd:="@PREFIX@/bin/multilog -*"} 20: ${svscan_nologcmd:="@PREFIX@/bin/multilog -*"}
21 21
22if [ -f /etc/rc.subr ]; then 22if [ -f /etc/rc.subr ]; then
23 . /etc/rc.subr 23 . /etc/rc.subr
24fi 24fi
25 25
26rcvar=${name} 26rcvar=${name}
27required_dirs="${svscan_servicedir}" 27required_dirs="${svscan_servicedir}"
28command="@PREFIX@/bin/${name}" 28command="@PREFIX@/bin/${name}"
29procname=nb${name} 29procname=nb${name}
30start_precmd="svscan_precmd" 30start_precmd="svscan_precmd"

File Added: pkgsrc/sysutils/daemontools-run/files/smf/manifest.xml
<?xml version="1.0"?>
<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
<service_bundle type="manifest" name="export">
  <service name="@SMF_PREFIX@/@SMF_NAME@" type="service" version="1">
    <create_default_instance enabled="false"/>
    <single_instance/>
    <dependency name="network" grouping="require_all" restart_on="error" type="service">
      <service_fmri value="svc:/milestone/network:default"/>
    </dependency>
    <dependency name="filesystem" grouping="require_all" restart_on="error" type="service">
      <service_fmri value="svc:/system/filesystem/local"/>
    </dependency>
    <exec_method type="method" name="start" exec="@PREFIX@/bin/svscanboot" timeout_seconds="60">
       <method_context>
	 <method_environment>
	   <envvar name="PATH" value="@PREFIX@/sbin:@PREFIX@/bin:/sbin:/usr/sbin:/usr/bin"/>
	 </method_environment>
       </method_context>
    </exec_method>
    <exec_method type="method" name="stop" exec=":kill" timeout_seconds="60"/>
    <property_group name="application" type="application"></property_group>
    <property_group name="startd" type="framework">
      <propval name="duration" type="astring" value="child"/>
      <propval name="ignore_error" type="astring" value="core,signal"/>
    </property_group>
    <template>
      <common_name>
	 <loctext xml:lang="C">Scan /service directory to start and monitor a collection of services.</loctext>
      </common_name>
    </template>
  </service>
</service_bundle>