009ad2c
%define debug_package %{nil}
009ad2c
009ad2c
Name: rabbitmq-server
9ff0b46
Version: 1.7.0
ed3fe42
Release: 1%{?dist}
009ad2c
License: MPLv1.1
009ad2c
Group: Development/Libraries
009ad2c
Source: http://www.rabbitmq.com/releases/rabbitmq-server/v%{version}/%{name}-%{version}.tar.gz
009ad2c
Source1: rabbitmq-server.init
009ad2c
Source2: rabbitmq-script-wrapper
009ad2c
Source3: rabbitmq-server.logrotate
9ff0b46
Source4: rabbitmq-asroot-script-wrapper
009ad2c
URL: http://www.rabbitmq.com/
009ad2c
BuildRequires: erlang, python-simplejson
009ad2c
Requires: erlang, logrotate
009ad2c
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-%{_arch}-root
009ad2c
Summary: The RabbitMQ server
009ad2c
Requires(post): chkconfig initscripts
009ad2c
Requires(pre): chkconfig initscripts
009ad2c
009ad2c
%description
009ad2c
RabbitMQ is an implementation of AMQP, the emerging standard for high
009ad2c
performance enterprise messaging. The RabbitMQ server is a robust and
009ad2c
scalable implementation of an AMQP broker.
009ad2c
9ff0b46
%define _rabbit_erllibdir %{_libdir}/rabbitmq/lib/rabbitmq_server-%{version}
009ad2c
%define _rabbit_libdir %{_libdir}/rabbitmq
009ad2c
%define _rabbit_wrapper %{_builddir}/`basename %{S:2}`
9ff0b46
%define _rabbit_asroot_wrapper %{_builddir}/`basename %{S:4}`
009ad2c
009ad2c
%define _maindir %{buildroot}%{_rabbit_erllibdir}
009ad2c
009ad2c
%prep
009ad2c
%setup -q
009ad2c
009ad2c
%build
009ad2c
cp %{S:2} %{_rabbit_wrapper}
009ad2c
sed -i 's|/usr/lib/|%{_libdir}/|' %{_rabbit_wrapper}
9ff0b46
cp %{S:4} %{_rabbit_asroot_wrapper}
9ff0b46
sed -i 's|/usr/lib/|%{_libdir}/|' %{_rabbit_asroot_wrapper}
9ff0b46
make %{?_smp_mflags}
009ad2c
009ad2c
%install
009ad2c
rm -rf %{buildroot}
009ad2c
009ad2c
make install TARGET_DIR=%{_maindir} \
009ad2c
             SBIN_DIR=%{buildroot}%{_rabbit_libdir}/bin \
009ad2c
             MAN_DIR=%{buildroot}%{_mandir}
009ad2c
009ad2c
mkdir -p %{buildroot}%{_localstatedir}/lib/rabbitmq/mnesia
009ad2c
mkdir -p %{buildroot}%{_localstatedir}/log/rabbitmq
009ad2c
009ad2c
#Copy all necessary lib files etc.
009ad2c
install -p -D -m 0755 %{S:1} %{buildroot}%{_initrddir}/rabbitmq-server
009ad2c
install -p -D -m 0755 %{_rabbit_wrapper} %{buildroot}%{_sbindir}/rabbitmqctl
009ad2c
install -p -D -m 0755 %{_rabbit_wrapper} %{buildroot}%{_sbindir}/rabbitmq-server
009ad2c
install -p -D -m 0755 %{_rabbit_wrapper} %{buildroot}%{_sbindir}/rabbitmq-multi
9ff0b46
install -p -D -m 0755 %{_rabbit_asroot_wrapper} %{buildroot}%{_sbindir}/rabbitmq-activate-plugins
9ff0b46
install -p -D -m 0755 %{_rabbit_asroot_wrapper} %{buildroot}%{_sbindir}/rabbitmq-deactivate-plugins
009ad2c
009ad2c
install -p -D -m 0644 %{S:3} %{buildroot}%{_sysconfdir}/logrotate.d/rabbitmq-server
009ad2c
009ad2c
mkdir -p %{buildroot}%{_sysconfdir}/rabbitmq
009ad2c
009ad2c
rm %{_maindir}/LICENSE %{_maindir}/LICENSE-MPL-RabbitMQ %{_maindir}/INSTALL
009ad2c
009ad2c
#Build the list of files
009ad2c
rm -f %{_builddir}/filelist.%{name}.rpm
009ad2c
echo '%defattr(-,root,root, -)' >> %{_builddir}/filelist.%{name}.rpm 
009ad2c
(cd %{buildroot}; \
009ad2c
    find . -type f ! -regex '\.%{_sysconfdir}.*' \
009ad2c
        ! -regex '\.\(%{_rabbit_erllibdir}\|%{_rabbit_libdir}\).*' \
009ad2c
        | sed -e 's/^\.//' >> %{_builddir}/filelist.%{name}.rpm)
009ad2c
009ad2c
%pre
009ad2c
009ad2c
if [ $1 -gt 1 ]; then
009ad2c
  #Upgrade - stop and remove previous instance of rabbitmq-server init.d script
009ad2c
  /sbin/service rabbitmq-server stop
009ad2c
  /sbin/chkconfig --del rabbitmq-server
009ad2c
fi
009ad2c
009ad2c
# create rabbitmq group
009ad2c
if ! getent group rabbitmq >/dev/null; then
009ad2c
        groupadd -r rabbitmq
009ad2c
fi
009ad2c
009ad2c
# create rabbitmq user
009ad2c
if ! getent passwd rabbitmq >/dev/null; then
009ad2c
        useradd -r -g rabbitmq -d %{_localstatedir}/lib/rabbitmq rabbitmq \
009ad2c
            -c "RabbitMQ messaging server"
009ad2c
fi
009ad2c
009ad2c
%post
009ad2c
/sbin/chkconfig --add %{name}
009ad2c
009ad2c
%preun
009ad2c
if [ $1 = 0 ]; then
009ad2c
  #Complete uninstall
009ad2c
  /sbin/service rabbitmq-server stop
009ad2c
  /sbin/chkconfig --del rabbitmq-server
009ad2c
  
009ad2c
  # We do not remove /var/log and /var/lib directories
009ad2c
  # Leave rabbitmq user and group
009ad2c
fi
009ad2c
009ad2c
%files -f ../filelist.%{name}.rpm
009ad2c
%defattr(-,root,root,-)
009ad2c
%attr(0750, rabbitmq, rabbitmq) %dir %{_localstatedir}/lib/rabbitmq
009ad2c
%attr(0750, rabbitmq, rabbitmq) %dir %{_localstatedir}/log/rabbitmq
009ad2c
%dir %{_sysconfdir}/rabbitmq
009ad2c
%{_rabbit_erllibdir}
009ad2c
%{_rabbit_libdir}
009ad2c
%{_initrddir}/rabbitmq-server
009ad2c
%config(noreplace) %{_sysconfdir}/logrotate.d/rabbitmq-server
009ad2c
%doc LICENSE LICENSE-MPL-RabbitMQ
009ad2c
009ad2c
%clean
009ad2c
rm -rf %{buildroot}
009ad2c
009ad2c
%changelog
9ff0b46
* Mon Oct 5 2009 David Wragg <dpw@lshift.net> 1.7.0-1
9ff0b46
- New upstream release
9ff0b46
ed3fe42
* Wed Jun 17 2009 Matthias Radestock <matthias@lshift.net> 1.6.0-1
ed3fe42
- New upstream release
ed3fe42
009ad2c
* Tue May 26 2009 Hubert Plociniczak <hubert@lshift.net> 1.5.5-2
009ad2c
- Include dist macro in the release number
009ad2c
009ad2c
* Tue May 19 2009 Matthias Radestock <matthias@lshift.net> 1.5.5-1
009ad2c
- Maintenance release for the 1.5.x series
009ad2c
009ad2c
* Mon Apr 6 2009 Matthias Radestock <matthias@lshift.net> 1.5.4-1
009ad2c
- Maintenance release for the 1.5.x series
009ad2c
009ad2c
* Tue Feb 24 2009 Tony Garnock-Jones <tonyg@lshift.net> 1.5.3-1
009ad2c
- Maintenance release for the 1.5.x series
009ad2c
009ad2c
* Mon Feb 23 2009 Tony Garnock-Jones <tonyg@lshift.net> 1.5.2-1
009ad2c
- Maintenance release for the 1.5.x series
009ad2c
009ad2c
* Mon Jan 19 2009 Ben Hood <0x6e6562@gmail.com> 1.5.1-1
009ad2c
- Maintenance release for the 1.5.x series
009ad2c
009ad2c
* Wed Dec 17 2008 Matthias Radestock <matthias@lshift.net> 1.5.0-1
009ad2c
- New upstream release
009ad2c
009ad2c
* Thu Jul 24 2008 Tony Garnock-Jones <tonyg@lshift.net> 1.4.0-1
009ad2c
- New upstream release
009ad2c
009ad2c
* Mon Mar 3 2008 Adrien Pierard <adrian@lshift.net> 1.3.0-1
009ad2c
- New upstream release
009ad2c
009ad2c
* Wed Sep 26 2007 Simon MacMullen <simon@lshift.net> 1.2.0-1
009ad2c
- New upstream release
009ad2c
009ad2c
* Wed Aug 29 2007 Simon MacMullen <simon@lshift.net> 1.1.1-1
009ad2c
- New upstream release
009ad2c
009ad2c
* Mon Jul 30 2007 Simon MacMullen <simon@lshift.net> 1.1.0-1.alpha
009ad2c
- New upstream release
009ad2c
009ad2c
* Tue Jun 12 2007 Hubert Plociniczak <hubert@lshift.net> 1.0.0-1.20070607
009ad2c
- Building from source tarball, added starting script, stopping
009ad2c
009ad2c
* Mon May 21 2007 Hubert Plociniczak <hubert@lshift.net> 1.0.0-1.alpha
009ad2c
- Initial build of server library of RabbitMQ package