Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 18 Feb 2014 10:00:50 -0600
From:      Scot Hetzel <swhetzel@gmail.com>
To:        Benjamin Podszun <benjamin.podszun@gmail.com>, bra@fsn.hu
Cc:        ports <ports@freebsd.org>
Subject:   Re: dovecot, init script - is this expected or PR worthy?
Message-ID:  <CACdU%2Bf8ppyS=0f43FHhvb-5E3CSptqZesHBCmHG%2BdUmxVLi6RA@mail.gmail.com>
In-Reply-To: <CAJOeo-1o%2BUDso9i6rtbAyTdpSCp8n3DhyVWq2ir5iNec3HoEFg@mail.gmail.com>
References:  <CAJOeo-1o%2BUDso9i6rtbAyTdpSCp8n3DhyVWq2ir5iNec3HoEFg@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
 On Tue, Feb 11, 2014 at 11:24 AM, Benjamin Podszun
<benjamin.podszun@gmail.com> wrote:
> Hey there.
>
> Setting up a machine with ansible, stumbling upon a couple of problems. The
> current issue? Part of my automated setup calls
>
> service dovecot start
>
> and .. that succeeds always, if dovecot_enable="YES" is missing (which
> totally is an error on my part, obviously).
>
> What I expect though is the typical "Can't do that, Dave. Try onestart
> perhaps" response - and some exit code that signals failure.
>
> Dovecot's init script wraps all the standard rc stuff in this if though:
>
> if checkyesno ${name}_enable; then
>         for config in ${dovecot_config}; do
>                 required_files="${config}"
>                 command_args="-c ${config}"
>                 base_dir=$(${command} ${command_args} -a | /usr/bin/awk -F
> '= ' '/^base_dir =/ { print $2 }')
>                 pidfile="${base_dir}/master.pid"
>                 run_rc_command "$1"
>         done
> fi
>
> => checkyesno returns false, script silently exits and 'service dovecot
> start' seemingly succeeded, no message given. Looking at other services at
> least a message appears (but the exit code is still 0):
>
> service unbound start
> Cannot 'start' unbound. Set unbound_enable to YES in /etc/rc.conf or use
> 'onestart' instead of 'start'.
>
> Is that a (tiny, minor) bug? Should I submit a PR for that? Or is that
> totally irrelevant and people out there would never fall for that anyway..?
>
The checkyesno ${name}_enable is not needed, as the run_rc_command
will check the value of ${name}_enable and output a warning if it is
not set.

Not sure why the maintainer added that in there.  But one possible
reason was so that the script wouldn't output a warning for each
${dovecot_config} (since it can be a list of config's to start).

Go ahead and submit a PR for this inconsistent behavior.

-- 
DISCLAIMER:

No electrons were maimed while sending this message. Only slightly bruised.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CACdU%2Bf8ppyS=0f43FHhvb-5E3CSptqZesHBCmHG%2BdUmxVLi6RA>