Date: Tue, 13 Oct 2009 21:21:54 -0700 From: Doug Barton <dougb@FreeBSD.org> To: =?UTF-8?B?RGFnLUVybGluZyBTbcO4cmdyYXY=?= <des@des.no> Cc: cvs-ports@FreeBSD.org, cvs-all@FreeBSD.org, ports-committers@FreeBSD.org Subject: Re: cvs commit: ports/www/varnish Makefile ports/www/varnish/files pkg-message.in varnishd.in varnishlog.in varnishncsa.in Message-ID: <4AD551E2.3010407@FreeBSD.org> In-Reply-To: <86iqeietvu.fsf@ds4.des.no> References: <200910131851.n9DIpB7P057665@repoman.freebsd.org> <4AD4DE92.3090808@FreeBSD.org> <86iqeietvu.fsf@ds4.des.no>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --] Dag-Erling Smørgrav wrote: > Doug Barton <dougb@FreeBSD.org> writes: >> Also in varnishd, the test for the existence of $varnishd_config >> should really be encased in a pre_start method since that's the only >> time it's relevant (unless I'm missing something). > > When does pre_start run? um, before start? :) After load_rc_config is what I think you're getting at. It's run as part of run_rc_command. > Does your patch allow the user to override > varnishd_flags? Good point. I added that to the attached version. Doug -- Improve the effectiveness of your Internet presence with a domain name makeover! http://SupersetSolutions.com/ [-- Attachment #2 --] Index: varnishd.in =================================================================== RCS file: /home/pcvs/ports/www/varnish/files/varnishd.in,v retrieving revision 1.7 diff -u -r1.7 varnishd.in --- varnishd.in 13 Oct 2009 18:51:10 -0000 1.7 +++ varnishd.in 14 Oct 2009 04:13:48 -0000 @@ -4,7 +4,7 @@ # # PROVIDE: varnishd -# REQUIRE: DAEMON +# REQUIRE: LOGIN # KEYWORD: shutdown # @@ -34,15 +34,18 @@ # varnishd_storage - storage method and parameters. # default: "file,/tmp,50%" # -# varnishd_user - unprivileged user for the child process. +# varnishd_uid - unprivileged user for the child process. # default: "www" # -# varnishd_group - unprivileged group for the child process. +# varnishd_gid - unprivileged group for the child process. # default: "www" # # varnishd_flags - complete command line arguments. -# default if varnishd_config is unset: "-P ${varnishd_pidfile} -a ${varnishd_listen} -T ${varnishd_admin} -b ${varnishd_backend} -s ${varnishd_storage} -u ${varnishd_user} -g ${varnishd_group}" -# default if varnishd_config is set: "-P ${varnishd_pidfile} -a ${varnishd_listen} -T ${varnishd_admin} -f ${varnishd_config} -s ${varnishd_storage} -u ${varnishd_user} -g ${varnishd_group}" +# Common flags: -P ${varnishd_pidfile} -a ${varnishd_listen} +# -T ${varnishd_admin} -s ${varnishd_storage} +# -u ${varnishd_uid} -g ${varnishd_gid} +# default if varnishd_config is unset: "<Common flags> -b ${varnishd_backend}" +# default if varnishd_config is set: "<Common flags> -f ${varnishd_config}" # # See varnishd(1) for a detailed overview of command-line options. # @@ -54,6 +57,23 @@ command="%%PREFIX%%/sbin/${name}" +start_precmd=${name}_prestart + +varnishd_prestart() +{ + [ -n "$varnishd_flags" ] && return + + local common + + common="-P ${varnishd_pidfile} -a ${varnishd_listen} -T ${varnishd_admin} -s ${varnishd_storage} -u ${varnishd_uid} -g ${varnishd_group}" + + if [ -n "${varnishd_config}" ] ; then + varnishd_flags="$common -f ${varnishd_config}" + else + varnishd_flags="$common -b ${varnishd_backend}" + fi +} + # read configuration and set defaults load_rc_config ${name} : ${varnishd_enable:="NO"} @@ -63,18 +83,8 @@ : ${varnishd_backend:="localhost:8080"} : ${varnishd_config:=""} : ${varnishd_storage:="file,/tmp,50%"} -: ${varnishd_user:="www"} -: ${varnishd_group:="www"} -if [ -n "${varnishd_config}" ] ; then - : ${varnishd_flags:="-P ${varnishd_pidfile} -a ${varnishd_listen} -T ${varnishd_admin} -f ${varnishd_config} -s ${varnishd_storage} -u ${varnishd_user} -g ${varnishd_group}"} -else - : ${varnishd_flags:="-P ${varnishd_pidfile} -a ${varnishd_listen} -T ${varnishd_admin} -b ${varnishd_backend} -s ${varnishd_storage} -u ${varnishd_user} -g ${varnishd_group}"} -fi - -# If we leave these set, rc.subr will su to them before starting -# varnishd, which is not what we want. -unset varnishd_user -unset varnishd_group +: ${varnishd_uid:="www"} +: ${varnishd_gid:="www"} pidfile="${varnishd_pidfile}" run_rc_command "$1"
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4AD551E2.3010407>
