rabbitmq-server/rabbitmq-server.spec

258 lines
8.4 KiB
RPMSpec
Raw Normal View History

#
# spec file for package rabbitmq-server
#
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
#Compat macro for new _fillupdir macro introduced in Nov 2017
%if ! %{defined _fillupdir}
%define _fillupdir /var/adm/fillup-templates
%endif
%bcond_without split_plugins
%define _rabbit_erllibdir %{_libdir}/rabbitmq/lib/rabbitmq_server-%{version}
%define _rabbit_libdir %{_libdir}/rabbitmq
%if %{undefined _initddir}
%define _initddir %{_sysconfdir}/init.d
%endif
%define _make_args DESTDIR="%{buildroot}" PREFIX="%{_prefix}" RMQ_ROOTDIR=%{_rabbit_libdir} RMQ_ERLAPP_DIR=%{_rabbit_erllibdir} MAN_INSTALL_PATH="%{_mandir}" DOC_INSTALL_DIR=%{buildroot}/%{_docdir} VERSION=%{version} V=1
Name: rabbitmq-server
Accepting request 754670 from home:gsantomaggio_suse:branches:network:messaging:amqp - Update to RabbitMQ version 3.7.23 - Full release notes: https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.7.23 - RabbitMQ 3.7.23 is a maintenance release that focuses on bug fixes. - RabbitMQ 3.7.x series is supported through March 2020. - Per the new Erlang version support policy in effect starting with January 2019, this release no longer supports Erlang/OTP 20.3. - Update to RabbitMQ version 3.7.22 - Full release notes: https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.7.22 - RabbitMQ 3.7.22 is a maintenance release that focuses on bug fixes. - RabbitMQ 3.7.x series is supported through March 2020. - Per the new Erlang version support policy in effect starting with January 2019, this release no longer supports Erlang/OTP 20.3. - Update to RabbitMQ version 3.7.21 - Full release notes: https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.7.21 - RabbitMQ 3.7.21 is a maintenance release that focuses on bug fixes. - RabbitMQ 3.7.x series is supported through March 2020. - Update to RabbitMQ version 3.7.20 - Full release notes: https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.7.20 - RabbitMQ 3.7.20 is a maintenance release that focuses on bug fixes. - RabbitMQ 3.7.x series is supported through March 2020. - Update to RabbitMQ version 3.7.19 - Full release notes: https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.7.19 - RabbitMQ 3.7.19 is a maintenance release that focuses on bug fixes. - RabbitMQ 3.7.x series is supported through March 2020. - Update to RabbitMQ version 3.7.18 - Full release notes: https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.7.18 - RabbitMQ 3.7.18 is a maintenance release. It focuses on bug fixes and internal API changes that refine the common plugin API with the upcoming 3.8.0 version. - Update to RabbitMQ version 3.7.17 - Full release notes: https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.7.17 - RabbitMQ 3.7.17 is a maintenance release. It focuses on bug fixes and upgrades a JavaScript dependency in the management UI to patch three CVEs in that library. - Update to RabbitMQ version 3.7.16 - Full release notes: https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.7.16 - RabbitMQ 3.7.16 is a maintenance release. It focuses on bug fixes and minor usability improvements. Erlang/OTP Compatibility Notes Per the new Erlang version support policy in effect starting with January 2019, this release no longer supports Erlang/OTP 19.3. Make sure a supported Erlang version is used before upgrading. - Update to RabbitMQ version 3.7.15 - Full release notes: https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.7.15 - RabbitMQ 3.7.15 is a maintenance release. It focuses on bug fixes and minor usability improvements. This release requires Erlang/OTP 20.3 or later. It is also the first release to support Erlang 22. - bsc#1130588: Require shadow instead of old pwdutils - Update to RabbitMQ version 3.7.14 - Full release notes: https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.7.14 - RabbitMQ 3.7.14 is a maintenance release. It focuses on bug fixes and minor usability improvements. This release requires Erlang/OTP 20.3 or later. - Update to RabbitMQ version 3.7.13 - Full release notes: https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.7.13 - RabbitMQ 3.7.13 is a maintenance release. It focuses on bug fixes and minor usability improvements. This release requires Erlang/OTP 20.3 or later. - Update to RabbitMQ version 3.7.12 - Full release notes: https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.7.12 - RabbitMQ 3.7.12 is a maintenance release. It focuses on bug fixes and minor usability improvements. This is the first release to require Erlang/OTP 20.3+. - inet_dist_listen_min and inet_dist_listen_max were removed from new style configuration. They wouldn't have any effect due to how configuration translation is performed. Use advanced.config or the RABBITMQ_DIST_PORT env variable to configure inet_dist_listen_* - Update to RabbitMQ version 3.7.11 - Full release notes: https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.7.11 - RabbitMQ 3.7.11 is a maintenance release. It focuses on bug fixes and minor usability improvements. This is the first release to require Erlang/OTP 20.3+. - Update to RabbitMQ version 3.7.10 - Requires erlang to 20.3, mandatory for RabbitMQ 3.7.10 see: https://www.rabbitmq.com/which-erlang.html - Avoid name repetition in summary. Trim filler wording from descriptions. - add the 3.7.x command line tools - switch to 3.7.x style rabbitmq-server.conf - Remove sd_notify dependency and replace with socat as followup to upstream change in https://github.com/rabbitmq/rabbitmq-server/pull/666 - listen to localhost only by default to comply to the epmd.socket which also only listens to localhost (bsc#1087270) - Fix Source0 URL - BuildRequire elixir - Constrain required erlang versions: https://www.rabbitmq.com/which-erlang.html (boo#1115169) - Drop sysexists-in-ocf.patch: upstreamed - Update to 3.7.9 (fate#322425, bsc#1115466) - Changes for 3.7.9: * Bug fixes * Usability improvements - Changes for 3.7.8: * Bug fixes * Usability improvements - Changes for 3.7.7: * Erlang 21 compatibility * Bug fixes * Usability improvements - Changes for 3.7.6: * Bug fixes * Usability improvements - Changes for 3.7.5: * Bug fixes * Usability improvements - Changes for 3.7.4: * Bug fixes * Usability improvements - Changes for 3.7.3: * Bug fixes * Usability improvements - Changes for 3.7.2: * Bug fix in the HTTP auth backend - Changes for 3.7.1: * Bug fixes - Changes for 3.7.0: * Minimum required Erlang version is now 19.3 * Automation-friendly cluster formation * Distributed management plugin, including minor breaking HTTP API changes. * Simpler, ini-style configuration format * Per-vhost limits * Operator policies * Topic-based authorisation * Cross-protocol Shovel (currently supports AMQP 0.9.1 and AMQP 1.0) * Command-line tools are extensible via plugins * Message store multi-tenancy * Proxy protocol support * Web STOMP no longer supports WebSocket emulation * Java and .NET client releases no longer track RabbitMQ server releases * .NET client now supports .NET Core. * Management plugin extensions now must target Cowboy 2.0 * Java client for RabbitMQ HTTP API - update config.template to use channel_max to 0 (old default, mitigate breakage in 3.6.16 change) - update to 3.6.16 (bsc#1109991): Bug fixes: + Queue master locator min-masters incorrectly calculated the number of masters. + Maximum supported number of queue priorities (255) is now enforced Enhancements: + queue.delete operations will now force delete queues that don't have a promotable master + Lock contention in internal database is now much lower when a node with a lot of exclusive queues shuts down or is otherwise considered to be unavailable by peers + Default max number of channels allowed on a connection (a.k.a. channel_max) has been lowered from 65535 to 2047. The new default is much safer and will reduce the effect application channel leaks have on node resource consumption. This is a potentially breaking change. - Add sysexits-in-ocf.patch to handle new rabbitmqctl exit codes (bsc#1093046) - Add TasksMax=8192 to start on large machines (bsc#1094896) - Update to 3.6.15: + Bug fixes: - Avoid infinite loop when dropping entries in the GM. - Various changes to the OCF scripts. + Enhancements: - Internal authN backend will now prohibit logins with a blank passwords. + Bug fixes in plugins. - Remove ocf-pull-request-63.patch, ocf-pull-request-64.patch, ocf-pull-request-66.patch: merged upstream. - Add TimeoutStartSec=300 to rabbitmq-server.service as enabling HiPE can make the startup take much longer (documentation says "a few minutes"). - Add ocf-pull-request-63.patch and ocf-pull-request-64.patch: fixes to avoid moving master unnecessarily, and to make start notification handler more reliable. - Add ocf-pull-request-66.patch: do not consider transient local failures as failures of remote nodes. - modified logrotate to use rabbitmqctl to force the creation of the log file after logrotation - Replace references to /var/adm/fillup-templates with new %_fillupdir macro (boo#1069468) - update to 3.6.14: * package/systemd bug fixes * Usability improvements * Bug fixes - update to 3.6.11: * packaging: package-rpm-suse is an alias for package-rpm-opensuse * Makefile: Move plugins list to `plugins.mk` * Include rabbitmq_web_mqtt into the distribution * Log rabbitmqctl's output on failure * Makefile: Set default `broker_version_requirements` * packaging/windows: Allow to override `PRODUCTVERSION` * debian/control: Revert the use of ${misc:Depends} * packaging: Add scripts for format RabbitMQ version to match package constarints * Commit Debian and RPM changelogs * debian/control: Use ${misc:Depends} instead of hard-coding dependencies * Fix HA OCF script * Makefile: Store the plugins list in the source archive * plugins.mk: The list is overriden by the server-release Concourse pipeline * Makefile: Use PROJECT_DESCRIPTION in git-revisions.txt * packaging/RPMS: Simplify the Makefile wrapping dpkg-buildpackage(1) * Makefile: Sync exclusion list with rabbitmq-erlang-client * OCF RA: accept 1 as valid exit code from "rabbitmqctl status" * Ignore .envrc files * upgrade/Makefile: Remove trailing space * standalone/src/rabbit_release.erl: Copy `escript` directory to the archive * packaging/standalone: Remove the source `rabbit.rel` file * Commit .deb and .rpm change logs * OCF RA: Don't hardcode primitive name in rabbitmq-server-ha.ocf * Makefile: Use $(PROJECT_VERSION) instead of $(VERSION) * debian/control: Add version restriction on erlang-dev and esl-erlang * Commit 3.6.9 package change logs * packaging/standalone: Fix path to the source `rabbit.rel` file * Configure shortcuts to run as admin. * Debian package: No need to pass $(VERSION) around in debian/rules * Makefile: Use a recursively expanded var for `RABBITMQ_VERSION` * Add Travis tests for Pacemaker OCF RA cluster * Makefile: Load rabbitmq-dist.mk before rabbitmq-run.mk * packaging/debs/Debian/Makefile: Display Erlang version *after* installing it * packaging/debs/Debian/scripts/udpate-changelog.sh: Show syntax * packaging/standalone: Do not use NUL-separated filenames in manifest * packaging/standalone: Copy `start_clean.boot` to bin driectory * packaging: rpms: Add systemd support for openSUSE * packaging/debs/Debian/Makefile: Install build dependencies * packaging/RPMS: Fix SAVE_CHANGELOG handling * Makefile: Call $(MAKE), not plain `make` * packaging/*/rabbitmq-server.service: Wait for RabbitMQ to stop in ExecStop * packaging/debs: Use make conditionals instead of Bourne shell ones * packaging/debs: Derive GNUPGHOME from KEYSDIR * Add chmod g+s to /etc/rabbitmq * packaging/standalone: Remove temporary `expand` directory * packaging/windows: Try to compute a valid default `PRODUCTVERSION` * Enlist OCF_RESKEY_limit_nofile_default on comment * Re-do #21 * Makefile: Exclude `/rabbit{,mq_cli}/escript/` from the source archive * debian/control: Try with erlang-nox 1:16.b.3-3 * packaging/standalone: Use an intermediate file to list files to archive * Makefile: Use an intermediate file to list files to put in the source archive * Makefile: Use echo instead of printf * debian/control: Depend on erlang-src * Change to 2750 * Trigger a Travis build * packaging: Log the version of Erlang used to compile packages * Update erlang.mk * packaging/debs/apt-repository/distributions: Add `arm64` architecture * Require root or rabbitmq user for rabbitmq-plugins. * Makefile: Remove more unneeded files from the source archive * Update rabbitmq-components.mk * Placeholder, remove later. * packaging/windows: Bump copyright of the installer to 2017 * Manually backport #20, #21, #24, #25 by @vuntz and @aplanas to stable * packaging/debs: Simplify the Makefile wrapping dpkg-buildpackage(1) * plugins.mk: Sort list alphabetically * Add write permissions to erl * OCF RA: Add new limit_nofile parameter to rabbitmq-server OCF RA * packaging/debs/Debian/Makefile: Use cp(1) instead of rsync(1) * scripts/rabbitmq-script-wrapper: Run rabbitmq-plugin as root only * Remove. * Add `standalone-linux-x86_64` and `standalone-freebsd-x86_64` package targets * Makefile: Remove all targets entering the `upgrade` subdir * OCF RA: Use rabbitmqctl_action wrapper for stop action * README.md: Document how to build the source archive and packages * README.md: Document how Windows' PRODUCTVERSION is computed by default * Add chmod g+s to rpm spec - Drop pull-request-20.patch . Applied upstream. - Drop pull-request-21.patch . Applied upstream. - Drop pull-request-24.patch . Applied upstream. - Drop pull-request-25.patch . Applied upstream. - Stop shipping rabbitmq-server OCF resource agent as source file while it's included in the upstream tarball. Add patches for code that was specific to our variant; they now got upstreamed, but are not in this version of rabbitmq yet: pull-request-20.patch and pull-request-21.patch. - Also package the rabbitmq-server-ha OCF resource agent as it seems to be more appropriate for clustering. Add upstream fixes for making it more solid: pull-request-24.patch and pull-request-25.patch. - Ship an example of /etc/rabbitmq/rabbitmq-env.conf, as this is useful indication. It only contains commented examples, based on what the Debian package is doing. - Cleanup file list and prepare merging the plugins package into the main package: - No longer create parts of the filelist in %install - Only exclude the plugins starting with rabbitmq_* and not all files in the plugin dir. Some of the files are basic libraries needed to even launch rabbitmq. (boo#1025442) - in the tmpfiles.d file: make the directory group owned - own the run dir in the non systemd case - add buildrequires for xz to fix build on sle11 - drop no-remove-common.patch and no-nmap.patch: no longer needed - add back default config from the 3.5.8 package as 3.6.6 doesn't ship one anymore - rabbitmq-script-wrapper now directly talks to the scripts in _rabbit_erllibdir instead of having another indirection. - moved tmpfiles.d support into the main systemd install block - extracted make cmdline options into a variable - update to 3.6.6 https://github.com/rabbitmq/rabbitmq-server/releases/tag/rabbitmq_v3_6_6 https://github.com/rabbitmq/rabbitmq-server/releases/tag/rabbitmq_v3_6_5 https://github.com/rabbitmq/rabbitmq-server/releases/tag/rabbitmq_v3_6_4 https://github.com/rabbitmq/rabbitmq-server/releases/tag/rabbitmq_v3_6_3 https://github.com/rabbitmq/rabbitmq-server/releases/tag/rabbitmq_v3_6_2 https://github.com/rabbitmq/rabbitmq-server/releases/tag/rabbitmq_v3_6_1 https://github.com/rabbitmq/rabbitmq-server/releases/tag/rabbitmq_v3_6_0 - fix source url - IMPORTANT CHANGE Require the epmd service instead of running our own version as rabbitmq user. This requires that you configure epmd to listen on more interfaces than just 127.0.0.1. For non systemd based distributions you can set EPMD_ADDRESSES in /etc/sysconfing/erlang. For systemd based distributions please follow /usr/share/doc/packages/erlang/README.SUSE IMPORTANT CHANGE This change is also documented in /usr/share/doc/packages/rabbitmq-server/README.SUSE - Update to 3.5.8 Fixes logging issues on erlang 17+ Fixes MQTT password authentication error (CVE-2016-9877) (boo#1017642) Fix bsc#973999 - rabbitmq-server.service: increase NOFILE limit per documentation - rabbitqm-server.ocf: add OCF_RESKEY_limit_nofile parameter default as 65535 - rabbitmqctl: clear CMDLINE before appending - update to 3.5.4: Runtime I/O thread pool size is now 64 instead of 30 by default. This reduces time spent waiting for file I/O operations to complete on machines with 8 or more cores. * https://github.com/rabbitmq/rabbitmq-server/releases/tag/rabbitmq_v3_5_4 - rabbitmq-server.service: switch to type=Notify in order to avoid cookie creation race - update to 3.5.3: 3.5.2 and 3.5.3 are bugfix releases. See: * https://github.com/rabbitmq/rabbitmq-server/releases/tag/rabbitmq_v3_5_2 * https://github.com/rabbitmq/rabbitmq-server/releases/tag/rabbitmq_v3_5_3 - update to 3.5.1 This release adds support for priority queues which were available as a plugin before. Performance is improved; in particular messages smaller than configurable size are embedded in the queue index to reduce I/O and memory consumption. Stability of clustering and autoheal partition handling is improved as well. A new pause_if_all_down partition handling mode is added. The management web UI now shows many more I/O statistics. This release also corrects a number of defects in the broker and plugins, as well as introducing many smaller new features and improvements. * see https://www.rabbitmq.com/release-notes/README-3.5.1.txt * see https://www.rabbitmq.com/release-notes/README-3.5.0.txt * see https://www.rabbitmq.com/release-notes/README-3.4.4.txt - instead of patching the ocf provider after copying: patch it right away and drop the ocf-fixes.patch. - refresh no-nmap.patch to apply cleanly again - create rcrabbitmq-server for the systemd case - update to 3.4.3: * prevent XSS attack in table key names (since 2.4.0) (CVE-2015-0862) * prevent XSS attack in policy names (since 3.4.0) (CVE-2015-0862) * prevent XSS attack in client details in the connections list (CVE-2015-0862) * prevent XSS attack in user names in the vhosts list or the vhost names in the user list (since 2.4.0) (CVE-2015-0862) * prevent XSS attack in the cluster name (since 3.3.0) (CVE-2015-0862) * prevent /api/* from returning text/html error messages which could act as an XSS vector (since 2.1.0) * fix response-splitting vulnerability in /api/downloads (since 2.1.0) * do not trust X-Forwarded-For header when enforcing 'loopback_users' (CVE-2014-9494) * disable SSLv3 by default to prevent the POODLE attack * see https://www.rabbitmq.com/release-notes/README-3.4.3.txt * see https://www.rabbitmq.com/release-notes/README-3.4.2.txt * see https://www.rabbitmq.com/release-notes/README-3.4.1.txt * see https://www.rabbitmq.com/release-notes/README-3.4.0.txt - ignore stop errors in %preun - update to 3.3.5: * Bug fixes, see - https://www.rabbitmq.com/release-notes/README-3.3.2.txt - https://www.rabbitmq.com/release-notes/README-3.3.3.txt - https://www.rabbitmq.com/release-notes/README-3.3.4.txt - https://www.rabbitmq.com/release-notes/README-3.3.5.txt - The package doesn't provide any sysvinit script or sysconfig file; remove dependencies to fillup or insserv if the package build with systemd support - update to 3.3.1: * Bug fixes * Security fixes to MQTT and shovel * see http://www.rabbitmq.com/release-notes/README-3.3.1.txt - do not install init script on systemd distros - require epmd.socket in .service in order not to start earlier than epmd.socket - update to 3.3.0: * long list of security, bugfixes and enhancements * see http://www.rabbitmq.com/release-notes/README-3.3.0.txt - Add ocf-fixes.patch to fix issues in the OCF file: - use the wrapper function to call rabbitmqctl for stop, so that we interpret correctly the exit code. - accept 1 as valid exit code from "rabbitmqctl status", instead of totally breaking when we get it. - We use a patch as the OCF file comes from upstream, so it's better to keep the changes isolated. - update to 3.2.4: * Several bug fixes, no detailed changelog available - remove fix-syntax-error-in-example-conf.patch: merged upstream - update to 3.2.3: * This release fixes a number of bugs in the broker and federation plugin * Improvements to the LDAP and shovel plugins are also included - install a config file by default add fix-syntax-error-in-example-conf.patch - update to 3.2.2: * federated queues and features enhanced policies for aspects of the broker * This release fixes a number of bugs in the broker and plugins - add Provides: erlang-gen_server2 to erlang-rabbitmq_client (many people want gen_server2, which is a part of rabbitmq) - fix syntax error in wrapper script - update to 3.1.5: * various security fixes and bugfixes * see http://www.rabbitmq.com/release-notes/README-3.1.5.txt * see http://www.rabbitmq.com/release-notes/README-3.1.4.txt - update to 3.1.3: * Eager synchronisation of mirror queue slaves * Automatic cluster partition healing * Charts in the management plugin * Queue length limits * Bug fixes * Fixes a security bug in federation - fix rabbitmq-server startup on systemd enabled systems (create /var/run/rabbitmq-server directory using systemd-tmpfiles mechanism) - Change init script to properly daemonize (patch by jdsn) (bnc#807540) - Added systemd .service file - updated to version 3.0.4 * 3.0.4: This release fixes a bug in the federation plugin where upstream credentials were leaked in the x-received-from header. This bug had been in the federation plugin since RabbitMQ 3.0.0. There are no other changes from RabbitMQ 3.0.3. * 3.0.3: This release fixes a small number of bugs in 3.0.2 and earlier versions. * 3.0.2: This release fixes a number of bugs in 3.0.1 and earlier versions. * 3.0.1: This release fixes a number of bugs in 3.0.0 and earlier versions. * 3.0.0: This release introduces dynamic, policy-based control of mirroring and federation, improves the user friendliness of clustering, adds support for per-message TTL, introduces plugins for web-STOMP and MQTT, and adds many smaller new features and bug fixes. - rebased no-remove-common.patch - sysconfig file cleanup * remove unused Variables * removed variables which can also be set in rabbitmq-env.conf to avoid sysconfig settings overriding settings from the env file (bnc#771151) - Use rc.status functions in init script for prettier startup - Remove "set -e" from init script (bnc#768175) - Include OCF RA for use with Pacemaker - Updated script-wrapper to the latest upstream code - Don't use download_files service, or at least only in mode="localonly" or mode="disabled". But why using it at all, it makes no sense. - Update to 2.8.7 changes since: * 2.8.6: This release fixes a number of bugs in the broker, Erlang client and STOMP and management plugins. * 2.8.5: This release fixes a number of bugs, including one introduced in 2.8.5 that could cause an error during shutdown of mirrored queues. * 2.8.4: This is primarily a bugfix release, with several improvements to HA queues. - Fixing logrotate errors (bnc#775867) - Updated to 2.8.4 - Updated to 2.8.2 - Require python >= 2.6 for json - Add _initddir define for SLE11 build - Fixed doubled preamble entries - fix /var/run/rabbitmq ownership - updated to 2.7.1 - don't use nmap during the build (no-nmap.patch) - don't use /var/lock/subsys in initscript - create /var/run/rabbitmq in initscript - import changes from Fedora package - New upstream release - New upstream release - Maintenance release for the 1.5.x series - Maintenance release for the 1.5.x series - Maintenance release for the 1.5.x series - Maintenance release for the 1.5.x series - Maintenance release for the 1.5.x series - New upstream release - New upstream release - New upstream release - New upstream release - New upstream release - New upstream release - Building from source tarball, added starting script, stopping - Initial build of server library of RabbitMQ package OBS-URL: https://build.opensuse.org/request/show/754670 OBS-URL: https://build.opensuse.org/package/show/network:messaging:amqp/rabbitmq-server?expand=0&rev=136
2019-12-06 16:11:40 +01:00
Version: 3.7.23
Release: 0
Summary: A message broker supporting AMQP, STOMP and MQTT
License: MPL-1.1
Group: System/Daemons
Url: http://www.rabbitmq.com/
Source: https://github.com/rabbitmq/rabbitmq-server/releases/download/v%{version}/rabbitmq-server-%{version}.tar.xz
Source1: rabbitmq-server.init
# This comes from: http://hg.rabbitmq.com/rabbitmq-server/raw-file/2da625c0a436/packaging/common/rabbitmq-script-wrapper
Source2: rabbitmq-script-wrapper
Source3: rabbitmq-server.logrotate
Source4: rabbitmq-env.conf
Source5: rabbitmq-server.sysconfig
Source6: rabbitmq-server.service
Source7: rabbitmq-server.tmpfiles.d.conf
Source8: README.SUSE
# from https://raw.githubusercontent.com/rabbitmq/rabbitmq-server/v3.7.x/docs/rabbitmq.conf.example
Source9: rabbitmq.conf.example
Source10: advanced.config.example
Source11: rabbitmq.config.example
Accepting request 651344 from home:matwey:branches:network:messaging:amqp - BuildRequire elixir - Constrain required erlang versions: https://www.rabbitmq.com/which-erlang.html (boo#1115169) - Drop sysexists-in-ocf.patch: upstreamed - Update to 3.7.9 - Changes for 3.7.9: * Bug fixes * Usability improvements - Changes for 3.7.8: * Bug fixes * Usability improvements - Changes for 3.7.7: * Erlang 21 compatibility * Bug fixes * Usability improvements - Changes for 3.7.6: * Bug fixes * Usability improvements - Changes for 3.7.5: * Bug fixes * Usability improvements - Changes for 3.7.4: * Bug fixes * Usability improvements - Changes for 3.7.3: * Bug fixes * Usability improvements - Changes for 3.7.2: * Bug fix in the HTTP auth backend - Changes for 3.7.1: * Bug fixes - Changes for 3.7.0: * Minimum required Erlang version is now 19.3 * Automation-friendly cluster formation * Distributed management plugin, including minor breaking HTTP API changes. * Simpler, ini-style configuration format * Per-vhost limits * Operator policies * Topic-based authorisation * Cross-protocol Shovel (currently supports AMQP 0.9.1 and AMQP 1.0) * Command-line tools are extensible via plugins * Message store multi-tenancy * Proxy protocol support * Web STOMP no longer supports WebSocket emulation * Java and .NET client releases no longer track RabbitMQ server releases * .NET client now supports .NET Core. * Management plugin extensions now must target Cowboy 2.0 * Java client for RabbitMQ HTTP API OBS-URL: https://build.opensuse.org/request/show/651344 OBS-URL: https://build.opensuse.org/package/show/network:messaging:amqp/rabbitmq-server?expand=0&rev=99
2018-11-30 15:47:23 +01:00
BuildRequires: elixir
# https://www.rabbitmq.com/which-erlang.html
BuildRequires: erlang
Accepting request 651344 from home:matwey:branches:network:messaging:amqp - BuildRequire elixir - Constrain required erlang versions: https://www.rabbitmq.com/which-erlang.html (boo#1115169) - Drop sysexists-in-ocf.patch: upstreamed - Update to 3.7.9 - Changes for 3.7.9: * Bug fixes * Usability improvements - Changes for 3.7.8: * Bug fixes * Usability improvements - Changes for 3.7.7: * Erlang 21 compatibility * Bug fixes * Usability improvements - Changes for 3.7.6: * Bug fixes * Usability improvements - Changes for 3.7.5: * Bug fixes * Usability improvements - Changes for 3.7.4: * Bug fixes * Usability improvements - Changes for 3.7.3: * Bug fixes * Usability improvements - Changes for 3.7.2: * Bug fix in the HTTP auth backend - Changes for 3.7.1: * Bug fixes - Changes for 3.7.0: * Minimum required Erlang version is now 19.3 * Automation-friendly cluster formation * Distributed management plugin, including minor breaking HTTP API changes. * Simpler, ini-style configuration format * Per-vhost limits * Operator policies * Topic-based authorisation * Cross-protocol Shovel (currently supports AMQP 0.9.1 and AMQP 1.0) * Command-line tools are extensible via plugins * Message store multi-tenancy * Proxy protocol support * Web STOMP no longer supports WebSocket emulation * Java and .NET client releases no longer track RabbitMQ server releases * .NET client now supports .NET Core. * Management plugin extensions now must target Cowboy 2.0 * Java client for RabbitMQ HTTP API OBS-URL: https://build.opensuse.org/request/show/651344 OBS-URL: https://build.opensuse.org/package/show/network:messaging:amqp/rabbitmq-server?expand=0&rev=99
2018-11-30 15:47:23 +01:00
BuildRequires: erlang >= 19.3.6.4
BuildRequires: erlang-src
BuildRequires: fdupes
BuildRequires: libxslt
# require python json module
BuildRequires: python >= 2.6
BuildRequires: python-xml
BuildRequires: rsync
BuildRequires: unzip
BuildRequires: xmlto
BuildRequires: xz
BuildRequires: zip
Requires: erlang >= 20.3
Requires: erlang-epmd
Requires: logrotate
Provides: AMQP-server
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Requires(pre): shadow
Requires(pre): %fillup_prereq
Requires(pre): %insserv_prereq
%if 0%{?suse_version} > 1140
BuildRequires: systemd
%{?systemd_requires}
%define have_systemd 1
Requires: socat
%else
Requires: %fillup_prereq
Requires: %insserv_prereq
%endif
# Do not use noarch since the Erlang packaging does not really allow that
#BuildArch: noarch
%description
RabbitMQ is an implementation of an AMQP broker. AMQP is an emerging
standard for messaging.
%package plugins
Summary: Plugins for the RabbitMQ server
Group: System/Daemons
Requires: rabbitmq-server = %{version}
%description plugins
RabbitMQ is an implementation of an AMQP broker. AMQP is an emerging
standard for messaging.
This package includes some plugins for the RabbitMQ server.
%package -n erlang-rabbitmq-client
Summary: RabbitMQ AMQP language bindings for Erlang
Group: Development/Libraries/Other
Requires: erlang
Provides: erlang-gen_server2 = %{version}
%description -n erlang-rabbitmq-client
RabbitMQ is an implementation of an AMQP broker. AMQP is an emerging
standard for messaging.
This package includes the RabbitMQ AMQP language bindings for Erlang.
%prep
%setup -q
cp %{SOURCE8} .
%build
Accepting request 651344 from home:matwey:branches:network:messaging:amqp - BuildRequire elixir - Constrain required erlang versions: https://www.rabbitmq.com/which-erlang.html (boo#1115169) - Drop sysexists-in-ocf.patch: upstreamed - Update to 3.7.9 - Changes for 3.7.9: * Bug fixes * Usability improvements - Changes for 3.7.8: * Bug fixes * Usability improvements - Changes for 3.7.7: * Erlang 21 compatibility * Bug fixes * Usability improvements - Changes for 3.7.6: * Bug fixes * Usability improvements - Changes for 3.7.5: * Bug fixes * Usability improvements - Changes for 3.7.4: * Bug fixes * Usability improvements - Changes for 3.7.3: * Bug fixes * Usability improvements - Changes for 3.7.2: * Bug fix in the HTTP auth backend - Changes for 3.7.1: * Bug fixes - Changes for 3.7.0: * Minimum required Erlang version is now 19.3 * Automation-friendly cluster formation * Distributed management plugin, including minor breaking HTTP API changes. * Simpler, ini-style configuration format * Per-vhost limits * Operator policies * Topic-based authorisation * Cross-protocol Shovel (currently supports AMQP 0.9.1 and AMQP 1.0) * Command-line tools are extensible via plugins * Message store multi-tenancy * Proxy protocol support * Web STOMP no longer supports WebSocket emulation * Java and .NET client releases no longer track RabbitMQ server releases * .NET client now supports .NET Core. * Management plugin extensions now must target Cowboy 2.0 * Java client for RabbitMQ HTTP API OBS-URL: https://build.opensuse.org/request/show/651344 OBS-URL: https://build.opensuse.org/package/show/network:messaging:amqp/rabbitmq-server?expand=0&rev=99
2018-11-30 15:47:23 +01:00
# Make elixir happy with Unicode
export LANG=en_US.UTF-8
make all %{_make_args} %{?_smp_mflags}
%install
Accepting request 651344 from home:matwey:branches:network:messaging:amqp - BuildRequire elixir - Constrain required erlang versions: https://www.rabbitmq.com/which-erlang.html (boo#1115169) - Drop sysexists-in-ocf.patch: upstreamed - Update to 3.7.9 - Changes for 3.7.9: * Bug fixes * Usability improvements - Changes for 3.7.8: * Bug fixes * Usability improvements - Changes for 3.7.7: * Erlang 21 compatibility * Bug fixes * Usability improvements - Changes for 3.7.6: * Bug fixes * Usability improvements - Changes for 3.7.5: * Bug fixes * Usability improvements - Changes for 3.7.4: * Bug fixes * Usability improvements - Changes for 3.7.3: * Bug fixes * Usability improvements - Changes for 3.7.2: * Bug fix in the HTTP auth backend - Changes for 3.7.1: * Bug fixes - Changes for 3.7.0: * Minimum required Erlang version is now 19.3 * Automation-friendly cluster formation * Distributed management plugin, including minor breaking HTTP API changes. * Simpler, ini-style configuration format * Per-vhost limits * Operator policies * Topic-based authorisation * Cross-protocol Shovel (currently supports AMQP 0.9.1 and AMQP 1.0) * Command-line tools are extensible via plugins * Message store multi-tenancy * Proxy protocol support * Web STOMP no longer supports WebSocket emulation * Java and .NET client releases no longer track RabbitMQ server releases * .NET client now supports .NET Core. * Management plugin extensions now must target Cowboy 2.0 * Java client for RabbitMQ HTTP API OBS-URL: https://build.opensuse.org/request/show/651344 OBS-URL: https://build.opensuse.org/package/show/network:messaging:amqp/rabbitmq-server?expand=0&rev=99
2018-11-30 15:47:23 +01:00
# Make elixir happy with Unicode
export LANG=en_US.UTF-8
make install %{_make_args}
mkdir -p %{buildroot}%{_sbindir}
%if 0%{?have_systemd}
install -p -D -m 644 %{SOURCE6} %{buildroot}%{_unitdir}/%{name}.service
ln -s -f %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name}
install -p -D -m 0644 %{SOURCE7} %{buildroot}/usr/lib/tmpfiles.d/rabbitmq-server.conf
%else
# Install init scripts
install -p -D -m 0755 %{SOURCE1} %{buildroot}%{_initddir}/rabbitmq-server
ln -sf %{_initddir}/rabbitmq-server %{buildroot}%{_sbindir}/rcrabbitmq-server
mkdir -p %{buildroot}%{_fillupdir}/
install -p -D -m 644 %{SOURCE5} %{buildroot}%{_fillupdir}/sysconfig.rabbitmq-server
%endif
# Install wrapper scripts
%define _rabbit_wrapper %{_builddir}/`basename %{SOURCE2}`
cp %{SOURCE2} %{_rabbit_wrapper}
sed -i 's|@SU_RABBITMQ_SH_C@|su rabbitmq -s /bin/sh -c|' %{_rabbit_wrapper}
sed -i 's|@RABBITMQ_ROOT@|%{_rabbit_erllibdir}/|' %{_rabbit_wrapper}
install -p -D -m 0755 %{_rabbit_wrapper} %{buildroot}%{_sbindir}/rabbitmqctl
install -p -D -m 0755 %{_rabbit_wrapper} %{buildroot}%{_sbindir}/rabbitmq-server
install -p -D -m 0755 %{_rabbit_wrapper} %{buildroot}%{_sbindir}/rabbitmq-plugins
install -p -D -m 0755 %{_rabbit_wrapper} %{buildroot}%{_sbindir}/rabbitmq-diagnostics
install -p -D -m 0755 scripts/rabbitmq-server.ocf %{buildroot}%{_exec_prefix}/lib/ocf/resource.d/rabbitmq/rabbitmq-server
install -p -D -m 0755 scripts/rabbitmq-server-ha.ocf %{buildroot}%{_exec_prefix}/lib/ocf/resource.d/rabbitmq/rabbitmq-server-ha
# install config files
install -p -D -m 0644 %{SOURCE9} %{buildroot}/%{_sysconfdir}/rabbitmq/rabbitmq.conf
install -p -D -m 0644 %{SOURCE10} %{buildroot}/%{_sysconfdir}/rabbitmq/advanced.config.example
install -p -D -m 0644 %{SOURCE11} %{buildroot}/%{_sysconfdir}/rabbitmq/rabbitmq.config.example
install -p -D -m 0644 %{SOURCE4} %{buildroot}/%{_sysconfdir}/rabbitmq/rabbitmq-env.conf
# Copy all necessary lib files etc.
install -p -D -m 0644 %{SOURCE3} %{buildroot}%{_sysconfdir}/logrotate.d/rabbitmq-server
# Install Erlang client
mkdir -p %{buildroot}%{_libdir}/erlang/lib
for i in amqp_client rabbit_common ; do
unzip %{buildroot}%{_rabbit_erllibdir}/plugins/$i*.ez -d %{buildroot}%{_libdir}/erlang/lib
done
# Create other necessary directories for RabbitMQ server
mkdir -p %{buildroot}%{_sysconfdir}/rabbitmq
mkdir -p %{buildroot}%{_localstatedir}/lib/rabbitmq/mnesia
mkdir -p %{buildroot}%{_localstatedir}/log/rabbitmq
# Create hardlinks for duplicate files
%fdupes %{buildroot}/usr/share
%pre
getent group rabbitmq >/dev/null || groupadd -r rabbitmq
getent passwd rabbitmq >/dev/null || useradd -r -g rabbitmq \
-d %{_localstatedir}/lib/rabbitmq \
-s /sbin/nologin \
-c "user for RabbitMQ messaging server" rabbitmq
%if 0%{?have_systemd}
%service_add_pre %{name}.service
%endif
%post
%if 0%{?have_systemd}
%service_add_post %{name}.service
systemd-tmpfiles --create --clean /usr/lib/tmpfiles.d/rabbitmq-server.conf
%else
%fillup_and_insserv rabbitmq-server
%endif
%preun
%if 0%{?have_systemd}
%service_del_preun %{name}.service
%else
%stop_on_removal rabbitmq-server
%endif
%postun
%if 0%{?have_systemd}
%service_del_postun %{name}.service
%else
%restart_on_update rabbitmq-server
%insserv_cleanup
%endif
%files
%defattr(-,root,root,-)
%config(noreplace) %{_sysconfdir}/logrotate.d/rabbitmq-server
%config(noreplace) %{_sysconfdir}/rabbitmq/
%{_rabbit_libdir}
%if %{with split_plugins}
%exclude %{_rabbit_erllibdir}/plugins/rabbitmq_*
%endif
#
%if 0%{?have_systemd}
%{_unitdir}/%{name}.service
/usr/lib/tmpfiles.d/rabbitmq-server.conf
%else
%{_initddir}/rabbitmq-server
%dir %attr(0755, rabbitmq, rabbitmq) %{_localstatedir}/run/rabbitmq
%endif
#
%attr(0750, rabbitmq, rabbitmq) %dir %{_localstatedir}/lib/rabbitmq
%attr(0750, rabbitmq, rabbitmq) %dir %{_localstatedir}/log/rabbitmq
#
%{_sbindir}/rabbitmq-plugins
%{_sbindir}/rabbitmq-server
%{_sbindir}/rabbitmqctl
%{_sbindir}/rcrabbitmq-server
%{_sbindir}/rabbitmq-diagnostics
#
%dir /usr/lib/ocf/
%dir /usr/lib/ocf/resource.d/
/usr/lib/ocf/resource.d/rabbitmq/
#
%license LICENSE*
%doc README* CODE_OF_CONDUCT.md CONTRIBUTING.md
%if %{with split_plugins}
%files plugins
%defattr(-,root,root)
%{_rabbit_erllibdir}/plugins/rabbitmq_*
%endif
%files -n erlang-rabbitmq-client
%defattr(-,root,root)
%{_libdir}/erlang/lib/amqp_client*/
%{_libdir}/erlang/lib/rabbit_common*/
%changelog