Package: rabbitmq-server
Version: 3.7.8-4
Severity: normal

Dear Maintainer,

As you're aware but for the record:
RabbitMQ is a server software that is written in Erlang.

This is basically what upstream installs when you build their software.

Upstream also provides an _example_ client written in python, which is
not installed and from what I've read upstream does not support it and
recommends people who use it to bundle their own version of it.

The client is also designed to connect to a _remote_ server, so assuming
the client and server will be useful on the same machine is usually a
stretch that is not accepted in Debian if you compare how databases get
packaged which sets a very long precedent in Debian for this.

For the record the client script is deps/rabbitmq_management/bin/rabbitmqadmin

I'm not personally a fan of "micro-packaging", so a dedicated binary
package just for this script seems overkill to me. If you're strongly
attached to shipping it in a binary package at all, I would personally
consider it ok to ship it as an example (either installed in the PATH or
installed by dh_installexamples) but the problem I see with the current
packaging is that the rabbitmq-server package which is supposed to
ship a service written in Erlang now depends on an entire python stack.
This pulls in a massive amount of software which might not be
problematic for your gigantic cloud instances, but please consider
debian is supposed to be a more generic distribution than not only
consider running on things that counts its storage in terabytes.
My suggestion would thus be to simply downgrade the python stack from
Depends to Recommends (or even Suggests!).
That would mean you could cater to both use-cases while still shipping
the client as well as avoiding micro-packaging.
This is the implementation included in 
https://salsa.debian.org/openstack-team/third-party/rabbitmq-server/merge_requests/2/commits

If you do not agree with this approach, please share what problems you
see (or it'll be really hard for me to adress any of your conserns).

Alternatively, please split out the client parts into a separate
package so that the server and client can be installed separately as
needed.

Regards,
Andreas Henriksson

Reply via email to