This is a (virtually) zero dependency 64-bit Erlang RPM package that provides just enough to run RabbitMQ. It may be easier to install than RPMs provided by Erlang Solutions in certain environments. It may or may not be suitable for running other Erlang-based software or 3rd party RabbitMQ plugins.
This package has an implicit OpenSSL/libcrypto dependency (see below).
The package currently targets Erlang/OTP 20.2.x
and 20.1.x
, 19.3.x
. Only 64-bit packages are provided.
18.3.x
, 19.0.x
,19.1.x
, and 19.2.x
are also available but get not updates unless
they address a critically important issue.
This package intentionally does not include OpenSSL/libcrypto. It must be provisioned separately.
Recent Erlang versions require a modern OpenSSL version, e.g. 1.0.1
.
Please note the implicit OpenSSL/libcrypto dependency section above.
- CentOS 7
- CentOS 6
Binary packages can be obtained from Bintray and GitHub.
Yum repositories are available from Bintray and Package Cloud.
To use the Bintray Yum repositories, here are the .repo
configuration files:
Note that OTP 20 is supported by RabbitMQ starting with version 3.6.11.
To use Erlang 20.x on CentOS 7:
# In /etc/yum.repos.d/rabbitmq-erlang.repo
[rabbitmq-erlang]
name=rabbitmq-erlang
baseurl=https://dl.bintray.com/rabbitmq/rpm/erlang/20/el/7
gpgcheck=1
gpgkey=https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc
repo_gpgcheck=0
enabled=1
To use Erlang 20.x on CentOS 6:
# In /etc/yum.repos.d/rabbitmq-erlang.repo
[rabbitmq-erlang]
name=rabbitmq-erlang
baseurl=https://dl.bintray.com/rabbitmq/rpm/erlang/20/el/6
gpgcheck=1
gpgkey=https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc
repo_gpgcheck=0
enabled=1
To use Erlang 19.x on CentOS 7:
# In /etc/yum.repos.d/rabbitmq-erlang.repo
[rabbitmq-erlang]
name=rabbitmq-erlang
baseurl=https://dl.bintray.com/rabbitmq/rpm/erlang/19/el/7
gpgcheck=1
gpgkey=https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc
repo_gpgcheck=0
enabled=1
To use Erlang 19.x on CentOS 6:
# In /etc/yum.repos.d/rabbitmq-erlang.repo
[rabbitmq-erlang]
name=rabbitmq-erlang
baseurl=https://dl.bintray.com/rabbitmq/rpm/erlang/19/el/6
gpgcheck=1
gpgkey=https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc
repo_gpgcheck=0
enabled=1
Package Cloud supports a variety of options for RPM package installation: from Yum configuration to shell scripts to Chef and Puppet.
See Package Cloud repository installation page for details.
To use the most recent version on CentOS 7:
# In /etc/yum.repos.d/rabbitmq_erlang.repo
[rabbitmq_erlang]
name=rabbitmq_erlang
baseurl=https://packagecloud.io/rabbitmq/erlang/el/7/$basearch
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
[rabbitmq_erlang-source]
name=rabbitmq_erlang-source
baseurl=https://packagecloud.io/rabbitmq/erlang/el/7/SRPMS
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
To use the most recent version on CentOS 6:
# In /etc/yum.repos.d/rabbitmq_erlang.repo
[rabbitmq_erlang]
name=rabbitmq_erlang
baseurl=https://packagecloud.io/rabbitmq/erlang/el/6/$basearch
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
[rabbitmq_erlang-source]
name=rabbitmq_erlang-source
baseurl=https://packagecloud.io/rabbitmq/erlang/el/6/SRPMS
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300
This package removes certain Erlang/OTP components that are non-essential for running RabbitMQ but can greatly complicate installation process by bringing in complicated dependencies.
Only the following OTP applications are provided:
- asn1
- compiler
- crypto
- erl_interface
- erts
- hipe
- inets
- kernel
- mnesia
- os_mon
- otp_mibs
- public_key
- reltool
- runtime_tools
- sasl
- snmp
- ssl
- stdlib
- syntax_tools
- xmerl
cd docker
#
# builds a CentOS 7 Docker image with necessary toolchain
#
./build-docker-image.sh 7 --no-cache
#
# builds the RPM in Docker
#
./build-rpm-in-docker 7
#
# Use build-image-and-rpm.sh to execute all scripts
# Ex: Centos 7 docker image and build RPM on the image:
#
./build-image-and-rpm.sh 7 --no-cache
#
# Ex: Centos 6 docker image and build RPM on the image:
#
./build-image-and-rpm.sh 6 --no-cache
#
# --no-cache is optional. Use it to rebuild the docker image.
#
then find the result under docker/build-dir-{centosversion}/RPMS/x86_64/
.
for example : build-dir-7/RPMS/x86_64/
You must be running an RPMish distro for this to work.
make
and see RPMS/x86_64/
.
The patches applied affect the following files:
- erts/etc/common/Makefile.in
- erts/etc/unix/Install.src
- erts/preloaded/src/Makefile
- lib/asn1/c_src/Makefile
- lib/asn1/src/Makefile
- lib/compiler/src/Makefile
- lib/crypto/c_src/Makefile.in
- lib/crypto/src/Makefile
- lib/crypto/priv/Makefile
- lib/debugger/src/Makefile
- lib/edoc/src/Makefile
- lib/erl_docgen/src/Makefile
- lib/erl_interface/src/Makefile.in
- lib/hipe/cerl/Makefile
- lib/hipe/flow/Makefile
- lib/hipe/icode/Makefile
- lib/hipe/main/Makefile
- lib/hipe/misc/Makefile
- lib/hipe/rtl/Makefile
- lib/hipe/util/Makefile
- lib/inets/src/ftp/Makefile
- lib/inets/src/http_client/Makefile
- lib/inets/src/http_lib/Makefile
- lib/inets/src/http_server/Makefile
- lib/inets/src/inets_app/Makefile
- lib/kernel/src/Makefile
- lib/mnesia/src/Makefile
- lib/os_mon/c_src/Makefile.in
- lib/os_mon/src/Makefile
- lib/otp_mibs/src/Makefile
- lib/parsetools/src/Makefile
- lib/public_key/src/Makefile
- lib/reltool/src/Makefile
- lib/runtime_tools/src/Makefile
- lib/sasl/src/Makefile
- lib/snmp/src/agent/Makefile
- lib/snmp/src/app/Makefile
- lib/snmp/src/compile/Makefile
- lib/snmp/src/manager/Makefile
- lib/snmp/src/misc/Makefile
- lib/ssl/src/Makefile
- lib/stdlib/src/Makefile
- lib/syntax_tools/src/Makefile
- lib/tools/c_src/Makefile.in
- lib/tools/src/Makefile
- lib/xmerl/src/Makefile
The directory versions
contains the patch files used for the older versions. Git repository
history can be useful as well.
(c) 2011-current Pivotal Software, Inc.
Released under the Apache Software License 2.0, same as Erlang/OTP starting with 18.0.