[rabbitmq-discuss] Unable to build Debian package since 2.7.0

Jared Biel jared.biel at bolderthinking.com
Thu Jan 5 16:53:12 GMT 2012


Hi Simon,

I'm not sure what logic Debian uses when determining to implement a
START=yes/no function in init scripts. Apache 2 installs and listens
on 0.0.0.0 but MySQL runs through a postinst configure script before
it starts up. There are some daemons that don't start out of the box
without editing an /etc/default file: monit, puppet, saslauthd,
opensips (3rd party package from vendor.)

The packages that have this behavior have an entry in their init
script to alert the user when trying to start a daemon if it's not
been enabled. Also, there's a debian package control file that can be
used to specify config files (DEBIAN/conffiles) that shouldn't be
modified on upgrade. This means  that START=no would only affect new
installations and upgrades of existing installs that don't have
knowledge of this.

if is_true "$START" ; then
  start-stop-daemon --start --quiet --pidfile $PIDFILE ...
else
  echo "puppet not configured to start, please edit
/etc/default/puppet to enable"
fi

My reason for wanting rabbitmq to use this process is the following:

1. Rabbitmq package is installed and post install script starts the daemon
2. The first time the daemon has been started an erlang cookie is generated
3. The mnesia database is initialized and it's keyed to the cookie
4. I drop in my cookie that's used across all of my nodes and attempt
to restart rabbitmq. It fails because the mnesia database expects to
have a different cookie. I must now blow away the database.

There also exists the potential for abuse of a newly installed
rabbitmq server, given that it listens on 0.0.0.0 and uses guest/guest
by default. Of course preventing abuse is the responsibility of the
admin but /etc/default can serve as a bit of a safety.

Overall it doesn't affect me much because I need to repackage anyway
to enable -name in lieu of -sname but I think it'd be a nice thing to
have by default.

Thanks,
Jared

On Thu, Jan 5, 2012 at 04:48, Simon MacMullen <simon at rabbitmq.com> wrote:
> On 04/01/12 19:32, Jared Biel wrote:
>>
>> 1. An /etc/default/rabbitmq file that contains something like START=no
>> 2. Modification to rabbitmq-server.init to make use of that file so
>> rabbitmq won't start unless START is equal to a true value.
>
>
> Hmm. I have to admit to not being a Debian packaging expert but is this how
> things are meant to work? If I apt-get install apache2 or mysql, then by the
> time apt has done its work I have a running server.
>
> So I think if we did this then we would want to default to START=yes or else
> lots of people would turn up on this mailing list saying "I just installed
> rabbitmq-server and nothing happened!". And if we do that then why not just
> use update-rc.d?
>
>
> Cheers, Simon
>
> --
> Simon MacMullen
> RabbitMQ, VMware
> _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss at lists.rabbitmq.com
> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss


More information about the rabbitmq-discuss mailing list