add files in repository from rabbitmq-server-2.8.7-2.el6.src.rpm
[packages/centos6/rabbitmq-server.git] / rabbitmq-server.spec
1 %define debug_package %{nil}
2
3 Name: rabbitmq-server
4 Version: 2.8.7
5 Release: 2%{?dist}
6 License: MPLv1.1
7 Group: Development/Libraries
8 Source: http://www.rabbitmq.com/releases/rabbitmq-server/v%{version}/%{name}-%{version}.tar.gz
9 Source1: rabbitmq-server.init
10 Source2: rabbitmq-script-wrapper
11 Source3: rabbitmq-server.logrotate
12 Source4: rabbitmq-server.ocf
13 URL: http://www.rabbitmq.com/
14 BuildArch: noarch
15 BuildRequires: erlang >= R12B-3, python-simplejson, xmlto, libxslt, zip
16 Requires: erlang >= R12B-3, logrotate
17 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-%{_arch}-root
18 Summary: The RabbitMQ server
19 Requires(post): chkconfig initscripts
20 Requires(pre): chkconfig initscripts
21
22 %description
23 RabbitMQ is an implementation of AMQP, the emerging standard for high
24 performance enterprise messaging. The RabbitMQ server is a robust and
25 scalable implementation of an AMQP broker.
26
27 # We want to install into /usr/lib, even on 64-bit platforms
28 %define _rabbit_libdir %{_exec_prefix}/lib/rabbitmq
29 %define _rabbit_erllibdir %{_rabbit_libdir}/lib/rabbitmq_server-%{version}
30 %define _rabbit_wrapper %{_builddir}/`basename %{S:2}`
31 %define _rabbit_server_ocf %{_builddir}/`basename %{S:4}`
32 %define _plugins_state_dir %{_localstatedir}/lib/rabbitmq/plugins
33
34 %define _maindir %{buildroot}%{_rabbit_erllibdir}
35
36 %prep
37 %setup -q
38
39 %build
40 cp %{S:2} %{_rabbit_wrapper}
41 cp %{S:4} %{_rabbit_server_ocf}
42 make %{?_smp_mflags}
43
44 %install
45 rm -rf %{buildroot}
46
47 make install TARGET_DIR=%{_maindir} \
48              SBIN_DIR=%{buildroot}%{_rabbit_libdir}/bin \
49              MAN_DIR=%{buildroot}%{_mandir}
50
51 mkdir -p %{buildroot}%{_localstatedir}/lib/rabbitmq/mnesia
52 mkdir -p %{buildroot}%{_localstatedir}/log/rabbitmq
53
54 #Copy all necessary lib files etc.
55 install -p -D -m 0755 %{S:1} %{buildroot}%{_initrddir}/rabbitmq-server
56 install -p -D -m 0755 %{_rabbit_wrapper} %{buildroot}%{_sbindir}/rabbitmqctl
57 install -p -D -m 0755 %{_rabbit_wrapper} %{buildroot}%{_sbindir}/rabbitmq-server
58 install -p -D -m 0755 %{_rabbit_wrapper} %{buildroot}%{_sbindir}/rabbitmq-plugins
59 install -p -D -m 0755 %{_rabbit_server_ocf} %{buildroot}%{_exec_prefix}/lib/ocf/resource.d/rabbitmq/rabbitmq-server
60
61 install -p -D -m 0644 %{S:3} %{buildroot}%{_sysconfdir}/logrotate.d/rabbitmq-server
62
63 mkdir -p %{buildroot}%{_sysconfdir}/rabbitmq
64
65 rm %{_maindir}/LICENSE %{_maindir}/LICENSE-MPL-RabbitMQ %{_maindir}/INSTALL
66
67 #Build the list of files
68 echo '%defattr(-,root,root, -)' >%{_builddir}/%{name}.files
69 find %{buildroot} -path %{buildroot}%{_sysconfdir} -prune -o '!' -type d -printf "/%%P\n" >>%{_builddir}/%{name}.files
70
71 %pre
72
73 if [ $1 -gt 1 ]; then
74   # Upgrade - stop previous instance of rabbitmq-server init.d script
75   /sbin/service rabbitmq-server stop
76 fi
77
78 # create rabbitmq group
79 if ! getent group rabbitmq >/dev/null; then
80         groupadd -r rabbitmq
81 fi
82
83 # create rabbitmq user
84 if ! getent passwd rabbitmq >/dev/null; then
85         useradd -r -g rabbitmq -d %{_localstatedir}/lib/rabbitmq rabbitmq \
86             -c "RabbitMQ messaging server"
87 fi
88
89 %post
90 /sbin/chkconfig --add %{name}
91 if [ -f %{_sysconfdir}/rabbitmq/rabbitmq.conf ] && [ ! -f %{_sysconfdir}/rabbitmq/rabbitmq-env.conf ]; then
92     mv %{_sysconfdir}/rabbitmq/rabbitmq.conf %{_sysconfdir}/rabbitmq/rabbitmq-env.conf
93 fi
94
95 %preun
96 if [ $1 = 0 ]; then
97   #Complete uninstall
98   /sbin/service rabbitmq-server stop
99   /sbin/chkconfig --del rabbitmq-server
100   
101   # We do not remove /var/log and /var/lib directories
102   # Leave rabbitmq user and group
103 fi
104
105 # Clean out plugin activation state, both on uninstall and upgrade
106 rm -rf %{_plugins_state_dir}
107 for ext in rel script boot ; do
108     rm -f %{_rabbit_erllibdir}/ebin/rabbit.$ext
109 done
110
111 %files -f ../%{name}.files
112 %defattr(-,root,root,-)
113 %attr(0750, rabbitmq, rabbitmq) %dir %{_localstatedir}/lib/rabbitmq
114 %attr(0750, rabbitmq, rabbitmq) %dir %{_localstatedir}/log/rabbitmq
115 %dir %{_sysconfdir}/rabbitmq
116 %{_initrddir}/rabbitmq-server
117 %config(noreplace) %{_sysconfdir}/logrotate.d/rabbitmq-server
118 %doc LICENSE*
119
120 %clean
121 rm -rf %{buildroot}
122
123 %changelog
124 * Mon Dec 24 2012 Matthew Mosesohn <mmosesohn@mirantis.com> 2.8.7-2
125 - Added zip for buildreq
126
127 * Thu Sep 27 2012 emile@rabbitmq.com 2.8.7-1
128 - New Upstream Release
129
130 * Wed Aug 22 2012 emile@rabbitmq.com 2.8.6-1
131 - New Upstream Release
132
133 * Wed Aug 1 2012 tim@rabbitmq.com 2.8.5-1
134 - New Upstream Release
135
136 * Thu Jun 21 2012 simon@rabbitmq.com 2.8.3-1
137 - New Upstream Release
138
139 * Fri Dec 16 2011 steve@rabbitmq.com 2.7.1-1
140 - New Upstream Release
141
142 * Tue Nov 8 2011 steve@rabbitmq.com 2.7.0-1
143 - New Upstream Release
144
145 * Fri Sep 9 2011 tim@rabbitmq.com 2.6.1-1
146 - New Upstream Release
147
148 * Fri Aug 26 2011 tim@rabbitmq.com 2.6.0-1
149 - New Upstream Release
150
151 * Mon Jun 27 2011 simon@rabbitmq.com 2.5.1-1
152 - New Upstream Release
153
154 * Thu Jun 9 2011 jerryk@vmware.com 2.5.0-1
155 - New Upstream Release
156
157 * Thu Apr 7 2011 Alexandru Scvortov <alexandru@rabbitmq.com> 2.4.1-1
158 - New Upstream Release
159
160 * Tue Mar 22 2011 Alexandru Scvortov <alexandru@rabbitmq.com> 2.4.0-1
161 - New Upstream Release
162
163 * Thu Feb 3 2011 simon@rabbitmq.com 2.3.1-1
164 - New Upstream Release
165
166 * Tue Feb 1 2011 simon@rabbitmq.com 2.3.0-1
167 - New Upstream Release
168
169 * Mon Nov 29 2010 rob@rabbitmq.com 2.2.0-1
170 - New Upstream Release
171
172 * Tue Oct 19 2010 vlad@rabbitmq.com 2.1.1-1
173 - New Upstream Release
174
175 * Tue Sep 14 2010 marek@rabbitmq.com 2.1.0-1
176 - New Upstream Release
177
178 * Mon Aug 23 2010 mikeb@rabbitmq.com 2.0.0-1
179 - New Upstream Release
180
181 * Wed Jul 14 2010 Emile Joubert <emile@rabbitmq.com> 1.8.1-1
182 - New Upstream Release
183
184 * Tue Jun 15 2010 Matthew Sackman <matthew@rabbitmq.com> 1.8.0-1
185 - New Upstream Release
186
187 * Mon Feb 15 2010 Matthew Sackman <matthew@lshift.net> 1.7.2-1
188 - New Upstream Release
189
190 * Fri Jan 22 2010 Matthew Sackman <matthew@lshift.net> 1.7.1-1
191 - New Upstream Release
192
193 * Mon Oct 5 2009 David Wragg <dpw@lshift.net> 1.7.0-1
194 - New upstream release
195
196 * Wed Jun 17 2009 Matthias Radestock <matthias@lshift.net> 1.6.0-1
197 - New upstream release
198
199 * Tue May 19 2009 Matthias Radestock <matthias@lshift.net> 1.5.5-1
200 - Maintenance release for the 1.5.x series
201
202 * Mon Apr 6 2009 Matthias Radestock <matthias@lshift.net> 1.5.4-1
203 - Maintenance release for the 1.5.x series
204
205 * Tue Feb 24 2009 Tony Garnock-Jones <tonyg@lshift.net> 1.5.3-1
206 - Maintenance release for the 1.5.x series
207
208 * Mon Feb 23 2009 Tony Garnock-Jones <tonyg@lshift.net> 1.5.2-1
209 - Maintenance release for the 1.5.x series
210
211 * Mon Jan 19 2009 Ben Hood <0x6e6562@gmail.com> 1.5.1-1
212 - Maintenance release for the 1.5.x series
213
214 * Wed Dec 17 2008 Matthias Radestock <matthias@lshift.net> 1.5.0-1
215 - New upstream release
216
217 * Thu Jul 24 2008 Tony Garnock-Jones <tonyg@lshift.net> 1.4.0-1
218 - New upstream release
219
220 * Mon Mar 3 2008 Adrien Pierard <adrian@lshift.net> 1.3.0-1
221 - New upstream release
222
223 * Wed Sep 26 2007 Simon MacMullen <simon@lshift.net> 1.2.0-1
224 - New upstream release
225
226 * Wed Aug 29 2007 Simon MacMullen <simon@lshift.net> 1.1.1-1
227 - New upstream release
228
229 * Mon Jul 30 2007 Simon MacMullen <simon@lshift.net> 1.1.0-1.alpha
230 - New upstream release
231
232 * Tue Jun 12 2007 Hubert Plociniczak <hubert@lshift.net> 1.0.0-1.20070607
233 - Building from source tarball, added starting script, stopping
234
235 * Mon May 21 2007 Hubert Plociniczak <hubert@lshift.net> 1.0.0-1.alpha
236 - Initial build of server library of RabbitMQ package