%define debug_package %{nil} Name: rabbitmq-server Version: 1.5.5 Release: 2%{?dist} License: MPLv1.1 Group: Development/Libraries 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 URL: http://www.rabbitmq.com/ BuildRequires: erlang, python-simplejson Requires: erlang, logrotate BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-%{_arch}-root Summary: The RabbitMQ server Requires(post): chkconfig initscripts Requires(pre): chkconfig initscripts %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. %define _rabbit_erllibdir %{_libdir}/erlang/lib/rabbitmq_server-%{version} %define _rabbit_libdir %{_libdir}/rabbitmq %define _rabbit_wrapper %{_builddir}/`basename %{S:2}` %define _maindir %{buildroot}%{_rabbit_erllibdir} %prep %setup -q %build cp %{S:2} %{_rabbit_wrapper} sed -i 's|/usr/lib/|%{_libdir}/|' %{_rabbit_wrapper} # The rabbitmq build needs escript, which is missing from /usr/bin in # some versions of the erlang RPM. See # PATH=%{_libdir}/erlang/bin:$PATH make %{?_smp_mflags} %install rm -rf %{buildroot} make install TARGET_DIR=%{_maindir} \ SBIN_DIR=%{buildroot}%{_rabbit_libdir}/bin \ MAN_DIR=%{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-multi install -p -D -m 0644 %{S:3} %{buildroot}%{_sysconfdir}/logrotate.d/rabbitmq-server mkdir -p %{buildroot}%{_sysconfdir}/rabbitmq rm %{_maindir}/LICENSE %{_maindir}/LICENSE-MPL-RabbitMQ %{_maindir}/INSTALL #Build the list of files rm -f %{_builddir}/filelist.%{name}.rpm echo '%defattr(-,root,root, -)' >> %{_builddir}/filelist.%{name}.rpm (cd %{buildroot}; \ find . -type f ! -regex '\.%{_sysconfdir}.*' \ ! -regex '\.\(%{_rabbit_erllibdir}\|%{_rabbit_libdir}\).*' \ | sed -e 's/^\.//' >> %{_builddir}/filelist.%{name}.rpm) %pre if [ $1 -gt 1 ]; then #Upgrade - stop and remove previous instance of rabbitmq-server init.d script /sbin/service rabbitmq-server stop /sbin/chkconfig --del rabbitmq-server 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} %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 %files -f ../filelist.%{name}.rpm %defattr(-,root,root,-) %attr(0750, rabbitmq, rabbitmq) %dir %{_localstatedir}/lib/rabbitmq %attr(0750, rabbitmq, rabbitmq) %dir %{_localstatedir}/log/rabbitmq %dir %{_sysconfdir}/rabbitmq %{_rabbit_erllibdir} %{_rabbit_libdir} %{_initrddir}/rabbitmq-server %config(noreplace) %{_sysconfdir}/logrotate.d/rabbitmq-server %doc LICENSE LICENSE-MPL-RabbitMQ %clean rm -rf %{buildroot} %changelog * Tue May 26 2009 Hubert Plociniczak 1.5.5-2 - Include dist macro in the release number * Tue May 19 2009 Matthias Radestock 1.5.5-1 - Maintenance release for the 1.5.x series * Mon Apr 6 2009 Matthias Radestock 1.5.4-1 - Maintenance release for the 1.5.x series * Tue Feb 24 2009 Tony Garnock-Jones 1.5.3-1 - Maintenance release for the 1.5.x series * Mon Feb 23 2009 Tony Garnock-Jones 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 1.5.0-1 - New upstream release * Thu Jul 24 2008 Tony Garnock-Jones 1.4.0-1 - New upstream release * Mon Mar 3 2008 Adrien Pierard 1.3.0-1 - New upstream release * Wed Sep 26 2007 Simon MacMullen 1.2.0-1 - New upstream release * Wed Aug 29 2007 Simon MacMullen 1.1.1-1 - New upstream release * Mon Jul 30 2007 Simon MacMullen 1.1.0-1.alpha - New upstream release * Tue Jun 12 2007 Hubert Plociniczak 1.0.0-1.20070607 - Building from source tarball, added starting script, stopping * Mon May 21 2007 Hubert Plociniczak 1.0.0-1.alpha - Initial build of server library of RabbitMQ package