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