From owner-freebsd-ports@FreeBSD.ORG Sat Jun 19 22:05:21 2004 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 065B316A4CE; Sat, 19 Jun 2004 22:05:21 +0000 (GMT) Received: from sakura.ninth-nine.com (sakura.ninth-nine.com [219.127.74.120]) by mx1.FreeBSD.org (Postfix) with ESMTP id E3E7C43D41; Sat, 19 Jun 2004 22:04:51 +0000 (GMT) (envelope-from nork@FreeBSD.org) Received: from nadesico.ninth-nine.com (nadesico.ninth-nine.com [219.127.74.122]) by sakura.ninth-nine.com (8.12.11/8.12.11/NinthNine) with ESMTP id i5JM4kxg039332; Sun, 20 Jun 2004 07:04:46 +0900 (JST) (envelope-from nork@FreeBSD.org) Date: Sun, 20 Jun 2004 07:04:46 +0900 From: Norikatsu Shigemura To: roam@FreeBSD.org Message-Id: <20040620070446.21a599c7.nork@FreeBSD.org> X-Mailer: Sylpheed version 0.9.11-gtk2-20040613 (GTK+ 2.4.3; i386-portbld-freebsd5.2) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit cc: ports@FreeBSD.org Subject: rcNG-fy sysutils/daemontools X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 19 Jun 2004 22:05:21 -0000 I made a patch for sysutils/daemontools. Please commit. Execuse me, I'm too sleepy. I made and tested through the night and into the morning. Good night(morning?)! :-) # in JST(GMT+09) :-). - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Index: Makefile =================================================================== RCS file: /home/ncvs/ports/sysutils/daemontools/Makefile,v retrieving revision 1.14 diff -u -r1.14 Makefile --- Makefile 19 Feb 2003 16:07:29 -0000 1.14 +++ Makefile 19 Jun 2004 21:56:26 -0000 @@ -7,7 +7,7 @@ PORTNAME= daemontools PORTVERSION= 0.76 -PORTREVISION= 3 +PORTREVISION= 4 CATEGORIES= sysutils MASTER_SITES= http://cr.yp.to/daemontools/ \ ftp://cr.yp.to/daemontools/ @@ -28,6 +28,9 @@ MAINTAINER= roam@FreeBSD.org COMMENT= "Service monitoring and logging utilities by djb" +USE_RC_SUBR= yes +RC_SCRIPTS_SUB= PREFIX=${PREFIX} RC_SUBR=${RC_SUBR} SERVICEDIR=${SERVICEDIR} + WRKSRC= ${WRKDIR}/admin/${DISTNAME}/src NO_PACKAGE= "Unsure of djb\'s license" @@ -35,14 +38,14 @@ INSTALL_TARGET= setup check SAMPLERC= svscan.sh.sample -SERVICEDIR?= /var/service/ +SERVICEDIR?= /var/service post-patch: @echo "${CC} ${CFLAGS}" > ${WRKSRC}/conf-cc @echo "${CC} ${STRIP}" > ${WRKSRC}/conf-ld post-build: - @${SED} "s!/usr/local/!${PREFIX}/!;s!/var/service!${SERVICEDIR}!g" \ + @${SED} ${RC_SCRIPTS_SUB:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} \ ${FILESDIR}/${SAMPLERC} > ${WRKDIR}/${SAMPLERC} do-install: @@ -55,7 +58,7 @@ done) < ${WRKSRC}/../package/commands post-install: - @${INSTALL_SCRIPT} ${WRKDIR}/${SAMPLERC} ${PREFIX}/etc/rc.d/ + @${INSTALL_SCRIPT} ${WRKDIR}/${SAMPLERC} ${PREFIX}/etc/rc.d/${SAMPLERC:S/.sample//} .if !defined(WITHOUT_MAN) @${INSTALL_MAN} ${WRKDIR}/daemontools-man/*.8 ${PREFIX}/man/man8/ .endif Index: pkg-plist =================================================================== RCS file: /home/ncvs/ports/sysutils/daemontools/pkg-plist,v retrieving revision 1.6 diff -u -r1.6 pkg-plist --- pkg-plist 17 Jan 2003 15:06:24 -0000 1.6 +++ pkg-plist 19 Jun 2004 21:51:44 -0000 @@ -15,4 +15,4 @@ bin/envdir bin/setlock bin/readproctitle -etc/rc.d/svscan.sh.sample +etc/rc.d/svscan.sh Index: files/svscan.sh.sample =================================================================== RCS file: /home/ncvs/ports/sysutils/daemontools/files/svscan.sh.sample,v retrieving revision 1.3 diff -u -r1.3 svscan.sh.sample --- files/svscan.sh.sample 28 Jan 2002 19:37:14 -0000 1.3 +++ files/svscan.sh.sample 19 Jun 2004 21:56:10 -0000 @@ -1,22 +1,29 @@ #!/bin/sh +# +# $FreeBSD$ +# + +# PROVIDE: svscan +# REQUIRE: LOGIN +# KEYWORD: FreeBSD + +# Define these svscan_* variables in one of these files: +# /etc/rc.conf +# /etc/rc.conf.local +# /etc/rc.conf.d/svscan +# +# DO NOT CHANGE THESE DEFAULT VALUES HERE +# -if ! PREFIX=$(expr $0 : "\(/.*\)/etc/rc\.d/$(basename $0)\$"); then - echo "$0: Cannot determine the PREFIX" >&2 - exit 1 -fi - -# It would really, really be a Good Thing(tm) -# for you to enable some of the below -# control variables and the apropriate ulimit. +# 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 +# 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. +# I really do suggest you use %%SERVICEDIR%% as your service spool directory. +# Check hier(7) for reasons. # 10 Mb #MINSEGMENT=10240 @@ -37,26 +44,29 @@ #ulimit -s ${MINSEGMENT} #ulimit -u ${MAXCHILD} -KILLALL=/usr/bin/killall -SVC=${PREFIX}/bin/svc -SVPROC=svscan -SVSCAN=$PREFIX/bin/svscan -READPROCTITLE=$PREFIX/bin/readproctitle -SVDIR=/var/service - -case "$1" in - start) - echo -n " svscan" - exec env PATH=$PREFIX/sbin:$PREFIX/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:$PATH /bin/csh -cf "$SVSCAN $SVDIR |& $READPROCTITLE service errors: ................................................................................................................................................................................................................................................................................................................................................................................................................ &" > /dev/null - ;; - - stop) - echo -n " svscan: " - $KILLALL $SVPROC - $SVC -dx $SVDIR/* $SVDIR/*/log - ;; - - *) - echo "Usage: $0 start | stop" - ;; -esac +. %%RC_SUBR%% + +name="svscan" +rcvar=`set_rcvar` +command="%%PREFIX%%/bin/svscan" +svscan_enable="NO" +svscan_servicedir="%%SERVICEDIR%%" + +start_cmd="svscan_start" +stop_postcmd="svscan_stop_post" + +load_rc_config $name + +required_dirs="${svscan_servicedir}" + +svscan_start () { + /usr/bin/env \ + PATH=%%PREFIX%%/sbin:%%PREFIX%%/bin:/usr/sbin:/usr/bin:/sbin:/bin \ + /bin/csh -cf "$command $svscan_servicedir |& %%PREFIX%%/bin/readproctitle service errors: ................................................................................................................................................................................................................................................................................................................................................................................................................ &" > /dev/null +} + +svscan_stop_post () { + %%PREFIX%%/bin/svc -dx `/bin/ls -d $svscan_servicedir/* $svscan_servicedir/*/log 2>/dev/null` +} + +run_rc_command "$1"