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