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>