Bug 1083637
Summary: | Trim dependencies in rabbitmq-server | ||||||
---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora EPEL | Reporter: | Lon Hohberger <lhh> | ||||
Component: | rabbitmq-server | Assignee: | Hubert Plociniczak <hubert.plociniczak> | ||||
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||
Severity: | low | Docs Contact: | |||||
Priority: | unspecified | ||||||
Version: | epel7 | CC: | erlang, hubert.plociniczak, jeckersb, josh, lemenkov, lnie, mmosesohn, ohadlevy, rjones | ||||
Target Milestone: | --- | Keywords: | Reopened | ||||
Target Release: | --- | ||||||
Hardware: | Unspecified | ||||||
OS: | Unspecified | ||||||
Whiteboard: | |||||||
Fixed In Version: | rabbitmq-server-3.1.5-7.fc20 | Doc Type: | Bug Fix | ||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | Environment: | ||||||
Last Closed: | 2014-07-30 21:57:57 UTC | Type: | Bug | ||||
Regression: | --- | Mount Type: | --- | ||||
Documentation: | --- | CRM: | |||||
Verified Versions: | Category: | --- | |||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
Cloudforms Team: | --- | Target Upstream Version: | |||||
Embargoed: | |||||||
Bug Depends On: | |||||||
Bug Blocks: | 1086146 | ||||||
Attachments: |
|
Description
Lon Hohberger
2014-04-02 15:46:01 UTC
My ultimate goal is to also have the erlang package buildable or usable without wxGTK, since it's rather silly to have rabbitmq-server require X and/or OpenGL. (Obviously comment #1 is not the subject of this bugzilla :) ) *** This bug has been marked as a duplicate of bug 784693 *** There are two separate optimizations - one is for erlang, which looks like bug 784693 - the other is for rabbitmq-server's .spec file - which does -not- need to include the erlang environment metapackage as it does now. For example, to run rabbitmq-server, there's no need for the debugger, observer, the release tool, etc. - all of which are pulled in as part of the erlang metapackage. I'll attach a specfile patch. Created attachment 881910 [details]
Example
(In reply to Lon Hohberger from comment #4) > There are two separate optimizations - one is for erlang, which looks like > bug 784693 - the other is for rabbitmq-server's .spec file - which does > -not- need to include the erlang environment metapackage as it does now. Yes, indeed. These are two separate issues. The patch in comment 5 looks reasonable. Peter what do you think about [me or you] adding this? So far I've only made a few quite conservative changes to the rabbitmq-server package; this is a bit larger. (In reply to Richard W.M. Jones from comment #7) > The patch in comment 5 looks reasonable. Peter what do you think > about [me or you] adding this? So far I've only made a few quite > conservative changes to the rabbitmq-server package; this is a bit > larger. Looks good to me. The package is quite large and contains plugins which are currently cannot be processed by my own poor-man dependency generator properly. However if considering only core functionality it could be trimmed down even more. Here is my final list of RabbitMQ dependencies: Requires: erlang-erts%{?_isa} Requires: erlang-kernel%{?_isa} Requires: erlang-mnesia%{?_isa} Requires: erlang-os_mon%{?_isa} Requires: erlang-public_key%{?_isa} Requires: erlang-sasl%{?_isa} Requires: erlang-ssl%{?_isa} Requires: erlang-stdlib%{?_isa} Requires: erlang-tools%{?_isa} Requires: erlang-xmerl%{?_isa} Note that I added "Requires: erlang-tools". Not sure if we need to add %{?_isa} since the package is noarch. The following dependencies can be removed since my script failed to recognize dependency on them: Requires: erlang-inets >= %{erlang_minver} Requires: erlang-asn1 >= %{erlang_minver} Requires: erlang-snmp >= %{erlang_minver} Requires: erlang-otp_mibs >= %{erlang_minver} Requires: erlang-crypto >= %{erlang_minver} Requires: erlang-runtime_tools >= %{erlang_minver} There could be a possibility that some of the plugins depends on them though. Rich, please go on with the changes - I'm not an active RabbitMQ user these days (however I'll be back in a couple of months - my next project will rely on it) so I can't maintain it properly right now. So, I tried this in my specfile: Requires: erlang-mnesia >= %{erlang_minver} Requires: erlang-erts >= %{erlang_minver} Requires: erlang-xmerl >= %{erlang_minver} Requires: erlang-stdlib >= %{erlang_minver} Requires: erlang-public_key >= %{erlang_minver} Requires: erlang-ssl >= %{erlang_minver} Requires: erlang-kernel >= %{erlang_minver} Requires: erlang-sasl >= %{erlang_minver} Requires: erlang-os_mon >= %{erlang_minver} Requires: erlang-tools >= %{erlang_minver} I turned on SSL and erased runtime_tools (and tools) and things still work. Forcefully erasing some of the others (for example inets) caused rabbitmq-server to fail on startup: Error description: {error,{"no such file or directory","inets.app"}} You were right about runtime_tools, it's not needed really. erlang-snmp-R16B-03.2min.2.el7.x86_64 erlang-asn1-R16B-03.2min.2.el7.x86_64 erlang-inets-R16B-03.2min.2.el7.x86_64 erlang-crypto-R16B-03.2min.2.el7.x86_64 erlang-kernel-R16B-03.2min.2.el7.x86_64 erlang-mnesia-R16B-03.2min.2.el7.x86_64 erlang-otp_mibs-R16B-03.2min.2.el7.x86_64 erlang-ssl-R16B-03.2min.2.el7.x86_64 erlang-public_key-R16B-03.2min.2.el7.x86_64 erlang-stdlib-R16B-03.2min.2.el7.x86_64 erlang-os_mon-R16B-03.2min.2.el7.x86_64 erlang-xmerl-R16B-03.2min.2.el7.x86_64 erlang-erts-R16B-03.2min.2.el7.x86_64 erlang-sasl-R16B-03.2min.2.el7.x86_64 Apart from the packages that require wx, a few extraneous packages get pulled in (that is, they are not required for rabbitmq to run): erlang-syntax_tools erlang-compiler erlang-hipe erlang-runtime_tools erlang-tools This should be fine. This is a big improvement over the previous requirement of the 'erlang' meta package. Once wx is optional (looks like F21), this will be a -huge- improvement! rabbitmq-server-3.1.5-7.fc20 has been submitted as an update for Fedora 20. https://admin.fedoraproject.org/updates/rabbitmq-server-3.1.5-7.fc20 Hello All! That's a first test build of RabbitMQ with dependencies trimmed a bit. Also there is a EL7 build available: http://koji.fedoraproject.org/koji/taskinfo?taskID=6916081 Please test it. Meanwhile I'm going to roll out another set of changes (and update to the latest version) which will trim dependencies even further. Package rabbitmq-server-3.1.5-7.fc20: * should fix your issue, * was pushed to the Fedora 20 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing rabbitmq-server-3.1.5-7.fc20' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2014-7005/rabbitmq-server-3.1.5-7.fc20 then log in and leave karma (feedback). rabbitmq-server-3.1.5-7.fc20 works rabbitmq-server-3.1.5-7.fc20 has been pushed to the Fedora 20 stable repository. If problems still persist, please make note of it in this bug report. |