diff options
Diffstat (limited to 'packaging/RPMS/standalone/rabbitmq-server.spec')
-rw-r--r-- | packaging/RPMS/standalone/rabbitmq-server.spec | 261 |
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 |