Index: head/sysutils/daemontools-encore/Makefile =================================================================== --- head/sysutils/daemontools-encore/Makefile (revision 395752) +++ head/sysutils/daemontools-encore/Makefile (revision 395753) @@ -1,74 +1,81 @@ # Created by: Uffe Jakobsen # $FreeBSD$ PORTNAME= daemontools-encore PORTVERSION= 1.10 +PORTREVISION= 1 CATEGORIES= sysutils MASTER_SITES= http://untroubled.org/daemontools-encore/ MAINTAINER= uffe@uffe.org COMMENT= Daemontools-encore is a collection of tools for managing UNIX services +LICENSE= MIT + USES= gmake +CONFLICTS= daemontools-[0-9]* freedt-[0-9]* serialmail-[0-9]* + ALL_TARGET= default + +USE_RC_SUBR= svscan MANFILES= \ envdir.8 \ envuidgid.8 \ fghack.8 \ multilog.8 \ pgrphack.8 \ readproctitle.8 \ setlock.8 \ setuidgid.8 \ softlimit.8 \ supervise.8 \ svc.8 \ svok.8 \ svscan.8 \ svscanboot.8 \ svstat.8 \ svup.8 \ tai64n.8 \ tai64nlocal.8 PLIST_FILES= \ bin/envdir \ bin/envuidgid \ bin/fghack \ bin/multilog \ bin/pgrphack \ bin/readproctitle \ bin/setlock \ bin/setuidgid \ bin/softlimit \ bin/supervise \ bin/svc \ bin/svok \ bin/svscan \ bin/svscanboot \ bin/svstat \ bin/svup \ bin/tai64n \ bin/tai64nlocal \ %%DOCSDIR%%/README \ %%DOCSDIR%%/LICENSE \ %%DOCSDIR%%/CHANGES \ %%DOCSDIR%%/CHANGES.djb \ ${MANFILES:S,^,man/man8/,:S,$,.gz,} do-install: ${INSTALL_SCRIPT} ${WRKSRC}/svscanboot.sh ${STAGEDIR}${PREFIX}/bin/svscanboot .for binfile in envdir envuidgid fghack multilog pgrphack readproctitle setlock setuidgid softlimit supervise svc svok svscan svstat svup tai64n tai64nlocal ${INSTALL_PROGRAM} ${WRKSRC}/${binfile} ${STAGEDIR}${PREFIX}/bin/ .endfor ${MKDIR} ${STAGEDIR}${DOCSDIR} .for docfile in README LICENSE CHANGES CHANGES.djb ${INSTALL_DATA} ${WRKSRC}/${docfile} ${STAGEDIR}${DOCSDIR} .endfor .for manfile in ${MANFILES} ${INSTALL_MAN} ${WRKSRC}/${manfile} ${STAGEDIR}${MAN1PREFIX}/man/man8/ .endfor .include Index: head/sysutils/daemontools-encore/files/svscan.in =================================================================== --- head/sysutils/daemontools-encore/files/svscan.in (nonexistent) +++ head/sysutils/daemontools-encore/files/svscan.in (revision 395753) @@ -0,0 +1,102 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# PROVIDE: svscan +# REQUIRE: %%SVSCAN_REQUIRE%% +# BEFORE: %%SVSCAN_BEFORE%% +# KEYWORD: shutdown + +# Define these svscan_* variables in one of these files: +# /etc/rc.conf +# /etc/rc.conf.local +# /etc/rc.conf.d/svscan +# +# svscan_enable Set to "YES" to run svscan. +# svscan_servicedir The directory containing the various service. +# directories to be monitored. Professor Daniel J. +# Bernstein recommends "/service", but the FreeBSD +# port has a default of "/var/service" instead, which +# is consistent with the FreeBSD filesystem hierarchy +# guidelines as described in the hier(7) manual page. +# svscan_logdir If set, then svscan will not log its output through +# readproctitle, but through multilog instead, and +# the logs will be placed in the specified directory. +# The FreeBSD port default is to run svscan through +# readproctitle. +# svscan_lognum The number of logfiles that multilog will keep if +# svscan_logdir is set; the multilog default is 10. +# svscan_logmax The maximum logfile size for multilog if svscan_logdir +# is set; the multilog default is 99999. + +# It would really, really be a Good Thing(tm) for you to enable some +# of the below control variables and the apropriate ulimit. +# These are only examples. +# Furthermore, you should think about additional limits you might need. +# Or, check login.conf(5) for a suitable alternative. +# If you want to use these examples, please place into /etc/rc.conf.d/svscan. +# +# I really do suggest you use /var/service as your service spool directory. +# Check hier(7) for reasons. + +# 10 Mb +#MINSEGMENT=10240 +# 20 Mb +#MAXSEGMENT=20480 +# 10 Mb +#MAXFILESIZE=10240 +# 100 +#MAXFD=100 +# 40 +#MAXCHILD=40 + +# ulimits +#ulimit -d ${MINSEGMENT} +#ulimit -f ${MAXFILESIZE} +#ulimit -m ${MAXSEGMENT} +#ulimit -n ${MAXFD} +#ulimit -s ${MINSEGMENT} +#ulimit -u ${MAXCHILD} + +. /etc/rc.subr + +name="svscan" +rcvar=svscan_enable +command="%%PREFIX%%/bin/svscan" + +# +# DO NOT CHANGE THESE DEFAULT VALUES HERE +# +svscan_enable=${svscan_enable-"NO"} +svscan_servicedir=${svscan_servicedir-"/var/service"} + +start_cmd="svscan_start" +stop_postcmd="svscan_stop_post" + +load_rc_config $name + +required_dirs="${svscan_servicedir}" +if [ -n "${svscan_logdir}" ]; then + required_dirs="${required_dirs} ${svscan_logdir}" +fi + +svscan_start () { + echo "Starting svscan." + EP="/usr/bin/env \ + PATH=%%PREFIX%%/sbin:%%PREFIX%%/bin:/usr/sbin:/usr/bin:/sbin:/bin" + if [ -z "${svscan_logdir}" ]; then + ${EP} /usr/sbin/daemon /bin/sh -c "$command $svscan_servicedir 2>&1 | %%PREFIX%%/bin/readproctitle service errors: ................................................................................................................................................................................................................................................................................................................................................................................................................ &" > /dev/null + else + logmax=${svscan_logmax+s$svscan_logmax} + lognum=${svscan_lognum+n$svscan_lognum} + ${EP} /usr/sbin/daemon /bin/sh -c "$command $svscan_servicedir 2>&1 \ + | %%PREFIX%%/bin/multilog t $logmax $lognum '${svscan_logdir}' &" > /dev/null + fi +} + +svscan_stop_post () { + find -L "$svscan_servicedir" -mindepth 1 -maxdepth 2 -type d -name '[^.]*' \( \! -path "$svscan_servicedir/*/*" -or -name 'log' \) -print0 | xargs -0 %%PREFIX%%/bin/svc -dx +} + +run_rc_command "$1" Property changes on: head/sysutils/daemontools-encore/files/svscan.in ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +FreeBSD=%H \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property