summaryrefslogtreecommitdiff
path: root/packaging/RPMS/standalone/rabbitmq-server.spec
diff options
context:
space:
mode:
Diffstat (limited to 'packaging/RPMS/standalone/rabbitmq-server.spec')
-rw-r--r--packaging/RPMS/standalone/rabbitmq-server.spec261
1 files changed, 261 insertions, 0 deletions
diff --git a/packaging/RPMS/standalone/rabbitmq-server.spec b/packaging/RPMS/standalone/rabbitmq-server.spec
new file mode 100644
index 00000000..5ef65e89
--- /dev/null
+++ b/packaging/RPMS/standalone/rabbitmq-server.spec
@@ -0,0 +1,261 @@
+%define debug_package %{nil}
+
+Name: rabbitmq-server
+Version: %%VERSION%%
+Release: 1%{?dist}
+License: MPLv1.1 and MIT and ASL 2.0 and BSD
+Group: %{group_tag}
+Source: http://www.rabbitmq.com/releases/rabbitmq-server/v%{version}/%{name}-%{version}.tar.gz
+Source1: rabbitmq-server.init
+Source2: rabbitmq-script-wrapper
+Source3: rabbitmq-server.logrotate
+Source4: rabbitmq-server.ocf
+URL: http://www.rabbitmq.com/
+BuildRequires: erlang >= R13B03, python-simplejson, xmlto, libxslt
+Requires: logrotate, openssl = 1.0.0
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-%{_arch}-root
+Summary: The RabbitMQ server
+Requires(post): %%REQUIRES%%
+Requires(pre): %%REQUIRES%%
+
+%description
+RabbitMQ is an implementation of AMQP, the emerging standard for high
+performance enterprise messaging. The RabbitMQ server is a robust and
+scalable implementation of an AMQP broker.
+
+# We want to install into /usr/lib, even on 64-bit platforms
+%define _rabbit_libdir %{_exec_prefix}/lib/rabbitmq
+%define _rabbit_erllibdir %{_rabbit_libdir}/lib/rabbitmq_server-%{version}
+%define _rabbit_wrapper %{_builddir}/`basename %{S:2}`
+%define _rabbit_server_ocf %{_builddir}/`basename %{S:4}`
+%define _plugins_state_dir %{_localstatedir}/lib/rabbitmq/plugins
+
+
+%define _maindir %{buildroot}%{_rabbit_erllibdir}
+
+
+%prep
+
+%setup -q -c
+
+%build
+mv rabbitmq_server-%{version}/* .
+rm -rf rabbitmq_server-%{version}
+cp %{S:2} %{_rabbit_wrapper}
+cp %{S:4} %{_rabbit_server_ocf}
+# make %{?_smp_mflags}
+
+%install
+
+rm -rf %{buildroot}
+
+mkdir -p %{_maindir}
+# copy server files (ebin, sbin, etc) to _maindir
+cp -r * %{_maindir}/
+mkdir -p %{buildroot}%{_rabbit_libdir}
+mkdir -p %{buildroot}%{_mandir}
+
+# TODO refactor these functions into one taking 2 args
+fix_env () {
+ sed -e $1 sbin/rabbitmq-env > sbin/rabbitmq-env.tmp && mv sbin/rabbitmq-env.tmp sbin/rabbitmq-env
+}
+
+fix_defaults () {
+ sed -e $1 sbin/rabbitmq-defaults > sbin/rabbitmq-defaults.tmp && mv sbin/rabbitmq-defaults.tmp sbin/rabbitmq-defaults
+}
+
+fix_env 's:RABBITMQ_HOME="\${SCRIPT_DIR}/..":RABBITMQ_HOME="\${SCRIPT_DIR}/../lib/rabbitmq_server-3.1.3/":'
+fix_defaults 's:CLEAN_BOOT_FILE="\${SYS_PREFIX}/releases/3.1.3/start_clean":CLEAN_BOOT_FILE="\${RABBITMQ_HOME}/releases/3.1.3/start_clean":'
+fix_defaults 's:SASL_BOOT_FILE="\${SYS_PREFIX}/releases/3.1.3/start_sasl":SASL_BOOT_FILE="\${RABBITMQ_HOME}/releases/3.1.3/start_sasl":'
+fix_defaults 's:SYS_PREFIX=\${RABBITMQ_HOME}:SYS_PREFIX=:'
+
+mv sbin %{buildroot}%{_rabbit_libdir}/bin
+mv share/man/* %{buildroot}%{_mandir}/
+
+mkdir -p %{buildroot}%{_localstatedir}/lib/rabbitmq/mnesia
+mkdir -p %{buildroot}%{_localstatedir}/log/rabbitmq
+
+#Copy all necessary lib files etc.
+install -p -D -m 0755 %{S:1} %{buildroot}%{_initrddir}/rabbitmq-server
+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_server_ocf} %{buildroot}%{_exec_prefix}/lib/ocf/resource.d/rabbitmq/rabbitmq-server
+
+install -p -D -m 0644 %{S:3} %{buildroot}%{_sysconfdir}/logrotate.d/rabbitmq-server
+
+mkdir -p %{buildroot}%{_sysconfdir}/rabbitmq
+
+#Build the list of files
+echo '%defattr(-,root,root, -)' >%{_builddir}/%{name}.files
+find %{buildroot} -path %{buildroot}%{_sysconfdir} -prune -o '!' -type d -printf "/%%P\n" >>%{_builddir}/%{name}.files
+
+%pre
+
+if [ $1 -gt 1 ]; then
+ # Upgrade - stop previous instance of rabbitmq-server init.d script
+ /sbin/service rabbitmq-server stop
+fi
+
+# create rabbitmq group
+if ! getent group rabbitmq >/dev/null; then
+ groupadd -r rabbitmq
+fi
+
+# create rabbitmq user
+if ! getent passwd rabbitmq >/dev/null; then
+ useradd -r -g rabbitmq -d %{_localstatedir}/lib/rabbitmq rabbitmq \
+ -c "RabbitMQ messaging server"
+fi
+
+%post
+/sbin/chkconfig --add %{name}
+if [ -f %{_sysconfdir}/rabbitmq/rabbitmq.conf ] && [ ! -f %{_sysconfdir}/rabbitmq/rabbitmq-env.conf ]; then
+ mv %{_sysconfdir}/rabbitmq/rabbitmq.conf %{_sysconfdir}/rabbitmq/rabbitmq-env.conf
+fi
+
+%preun
+if [ $1 = 0 ]; then
+ #Complete uninstall
+ /sbin/service rabbitmq-server stop
+ /sbin/chkconfig --del rabbitmq-server
+
+ # We do not remove /var/log and /var/lib directories
+ # Leave rabbitmq user and group
+fi
+
+# Clean out plugin activation state, both on uninstall and upgrade
+rm -rf %{_plugins_state_dir}
+for ext in rel script boot ; do
+ rm -f %{_rabbit_erllibdir}/ebin/rabbit.$ext
+done
+
+%files -f ../%{name}.files
+%defattr(-,root,root,-)
+%attr(0755, rabbitmq, rabbitmq) %dir %{_localstatedir}/lib/rabbitmq
+%attr(0755, rabbitmq, rabbitmq) %dir %{_localstatedir}/log/rabbitmq
+%dir %{_sysconfdir}/rabbitmq
+%{_initrddir}/rabbitmq-server
+%config(noreplace) %{_sysconfdir}/logrotate.d/rabbitmq-server
+# %doc LICENSE*
+
+%clean
+rm -rf %{buildroot}
+
+%changelog
+* Tue Jun 25 2013 tim@rabbitmq.com 3.1.3-1
+- New Upstream Release
+
+* Mon Jun 24 2013 tim@rabbitmq.com 3.1.2-1
+- New Upstream Release
+
+* Mon May 20 2013 tim@rabbitmq.com 3.1.1-1
+- Test release
+
+* Wed May 1 2013 simon@rabbitmq.com 3.1.0-1
+- New Upstream Release
+
+* Tue Dec 11 2012 simon@rabbitmq.com 3.0.1-1
+- New Upstream Release
+
+* Fri Nov 16 2012 simon@rabbitmq.com 3.0.0-1
+- New Upstream Release
+
+* Fri Dec 16 2011 steve@rabbitmq.com 2.7.1-1
+- New Upstream Release
+
+* Tue Nov 8 2011 steve@rabbitmq.com 2.7.0-1
+- New Upstream Release
+
+* Fri Sep 9 2011 tim@rabbitmq.com 2.6.1-1
+- New Upstream Release
+
+* Fri Aug 26 2011 tim@rabbitmq.com 2.6.0-1
+- New Upstream Release
+
+* Mon Jun 27 2011 simon@rabbitmq.com 2.5.1-1
+- New Upstream Release
+
+* Thu Jun 9 2011 jerryk@vmware.com 2.5.0-1
+- New Upstream Release
+
+* Thu Apr 7 2011 Alexandru Scvortov <alexandru@rabbitmq.com> 2.4.1-1
+- New Upstream Release
+
+* Tue Mar 22 2011 Alexandru Scvortov <alexandru@rabbitmq.com> 2.4.0-1
+- New Upstream Release
+
+* Thu Feb 3 2011 simon@rabbitmq.com 2.3.1-1
+- New Upstream Release
+
+* Tue Feb 1 2011 simon@rabbitmq.com 2.3.0-1
+- New Upstream Release
+
+* Mon Nov 29 2010 rob@rabbitmq.com 2.2.0-1
+- New Upstream Release
+
+* Tue Oct 19 2010 vlad@rabbitmq.com 2.1.1-1
+- New Upstream Release
+
+* Tue Sep 14 2010 marek@rabbitmq.com 2.1.0-1
+- New Upstream Release
+
+* Mon Aug 23 2010 mikeb@rabbitmq.com 2.0.0-1
+- New Upstream Release
+
+* Wed Jul 14 2010 Emile Joubert <emile@rabbitmq.com> 1.8.1-1
+- New Upstream Release
+
+* Tue Jun 15 2010 Matthew Sackman <matthew@rabbitmq.com> 1.8.0-1
+- New Upstream Release
+
+* Mon Feb 15 2010 Matthew Sackman <matthew@lshift.net> 1.7.2-1
+- New Upstream Release
+
+* Fri Jan 22 2010 Matthew Sackman <matthew@lshift.net> 1.7.1-1
+- New Upstream Release
+
+* Mon Oct 5 2009 David Wragg <dpw@lshift.net> 1.7.0-1
+- New upstream release
+
+* Wed Jun 17 2009 Matthias Radestock <matthias@lshift.net> 1.6.0-1
+- New upstream release
+
+* Tue May 19 2009 Matthias Radestock <matthias@lshift.net> 1.5.5-1
+- Maintenance release for the 1.5.x series
+
+* Mon Apr 6 2009 Matthias Radestock <matthias@lshift.net> 1.5.4-1
+- Maintenance release for the 1.5.x series
+
+* Tue Feb 24 2009 Tony Garnock-Jones <tonyg@lshift.net> 1.5.3-1
+- Maintenance release for the 1.5.x series
+
+* Mon Feb 23 2009 Tony Garnock-Jones <tonyg@lshift.net> 1.5.2-1
+- Maintenance release for the 1.5.x series
+
+* Mon Jan 19 2009 Ben Hood <0x6e6562@gmail.com> 1.5.1-1
+- Maintenance release for the 1.5.x series
+
+* Wed Dec 17 2008 Matthias Radestock <matthias@lshift.net> 1.5.0-1
+- New upstream release
+
+* Thu Jul 24 2008 Tony Garnock-Jones <tonyg@lshift.net> 1.4.0-1
+- New upstream release
+
+* Mon Mar 3 2008 Adrien Pierard <adrian@lshift.net> 1.3.0-1
+- New upstream release
+
+* Wed Sep 26 2007 Simon MacMullen <simon@lshift.net> 1.2.0-1
+- New upstream release
+
+* Wed Aug 29 2007 Simon MacMullen <simon@lshift.net> 1.1.1-1
+- New upstream release
+
+* Mon Jul 30 2007 Simon MacMullen <simon@lshift.net> 1.1.0-1.alpha
+- New upstream release
+
+* Tue Jun 12 2007 Hubert Plociniczak <hubert@lshift.net> 1.0.0-1.20070607
+- Building from source tarball, added starting script, stopping
+
+* Mon May 21 2007 Hubert Plociniczak <hubert@lshift.net> 1.0.0-1.alpha
+- Initial build of server library of RabbitMQ package