You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

rspamd.spec 7.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270
  1. %define rspamd_user _rspamd
  2. %define rspamd_group %{rspamd_user}
  3. %define rspamd_home %{_localstatedir}/lib/rspamd
  4. %define rspamd_logdir %{_localstatedir}/log/rspamd
  5. %define rspamd_confdir %{_sysconfdir}/rspamd
  6. %define rspamd_pluginsdir %{_datadir}/rspamd
  7. %define rspamd_wwwdir %{_datadir}/rspamd/www
  8. Name: rspamd
  9. Version: 0.8.0
  10. Release: 1
  11. Summary: Rapid spam filtering system
  12. Group: System Environment/Daemons
  13. # BSD License (two clause)
  14. # http://www.freebsd.org/copyright/freebsd-license.html
  15. %if 0%{?suse_version}
  16. License: BSD-2-Clause
  17. %else
  18. License: BSD2c
  19. %endif
  20. URL: https://rspamd.com
  21. BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}
  22. BuildRequires: cmake,glib2-devel,gmime-devel,libevent-devel,openssl-devel,lua-devel,pcre-devel,perl
  23. %if 0%{?suse_version} || 0%{?el7} || 0%{?fedora}
  24. BuildRequires: systemd
  25. Requires(pre): systemd
  26. Requires(post): systemd
  27. Requires(preun): systemd
  28. Requires(postun): systemd
  29. %endif
  30. %if 0%{?suse_version}
  31. BuildRequires: sqlite3-devel
  32. Requires(pre): shadow
  33. %else
  34. BuildRequires: sqlite-devel
  35. Requires(pre): shadow-utils
  36. %endif
  37. Requires: lua
  38. %if 0%{?el6}
  39. Requires: logrotate
  40. Requires(post): chkconfig
  41. Requires(preun): chkconfig, initscripts
  42. Requires(postun): initscripts
  43. Source1: %{name}.init
  44. Source2: %{name}.logrotate
  45. %endif
  46. Source0: https://rspamd.com/downloads/%{name}-%{version}.tar.xz
  47. Patch0: %{name}.service.patch
  48. %description
  49. Rspamd is a rapid, modular and lightweight spam filter. It is designed to work
  50. with big amount of mail and can be easily extended with own filters written in
  51. lua.
  52. %prep
  53. %setup -q
  54. %if 0%{?el7}
  55. %patch0 -p0
  56. %endif
  57. %build
  58. %{__cmake} \
  59. -DCMAKE_INSTALL_PREFIX=%{_prefix} \
  60. -DCONFDIR=%{_sysconfdir}/rspamd \
  61. -DMANDIR=%{_mandir} \
  62. -DDBDIR=%{_localstatedir}/lib/rspamd \
  63. -DRUNDIR=%{_localstatedir}/run/rspamd \
  64. %if 0%{?el6}
  65. -DWANT_SYSTEMD_UNITS=OFF \
  66. %else
  67. -DSYSTEMDDIR=%{_unitdir} \
  68. %endif
  69. -DLOGDIR=%{_localstatedir}/log/rspamd \
  70. -DEXAMPLESDIR=%{_datadir}/examples/rspamd \
  71. -DPLUGINSDIR=%{_datadir}/rspamd \
  72. -DLIBDIR=%{_libdir} \
  73. -DINCLUDEDIR=%{_includedir} \
  74. -DNO_SHARED=ON \
  75. -DDEBIAN_BUILD=1 \
  76. -DRSPAMD_GROUP=%{rspamd_group} \
  77. -DRSPAMD_USER=%{rspamd_user}
  78. %{__make} %{?jobs:-j%jobs}
  79. %install
  80. %{__make} install DESTDIR=%{buildroot} INSTALLDIRS=vendor
  81. %if 0%{?el6}
  82. %{__install} -p -D -m 0755 %{SOURCE1} %{buildroot}%{_initrddir}/%{name}
  83. %{__install} -d -p -m 0755 %{buildroot}%{_localstatedir}/run/rspamd
  84. %{__install} -p -D -m 0644 %{SOURCE2} %{buildroot}%{_sysconfdir}/logrotate.d/%{name}
  85. %{__install} -d -p -m 0755 %{buildroot}%{rspamd_logdir}
  86. %endif
  87. %{__install} -d -p -m 0755 %{buildroot}%{rspamd_home}
  88. %clean
  89. rm -rf %{buildroot}
  90. %pre
  91. %{_sbindir}/groupadd -r %{rspamd_group} 2>/dev/null || :
  92. %{_sbindir}/useradd -g %{rspamd_group} -c "Rspamd user" -s /bin/false -r -d %{rspamd_home} %{rspamd_user} 2>/dev/null || :
  93. %if 0%{?suse_version}
  94. %service_add_pre %{name}.service
  95. %service_add_pre %{name}.socket
  96. %endif
  97. %post
  98. #to allow easy upgrade from 0.8.1
  99. %{__chown} -R %{rspamd_user}:%{rspamd_group} %{rspamd_home}
  100. %if 0%{?suse_version}
  101. %service_add_post %{name}.service
  102. %service_add_post %{name}.socket
  103. %endif
  104. %if 0%{?fedora} || 0%{?el7}
  105. %systemd_post %{name}.service
  106. %systemd_post %{name}.socket
  107. %endif
  108. %if 0%{?el6}
  109. /sbin/chkconfig --add %{name}
  110. %endif
  111. %preun
  112. %if 0%{?suse_version}
  113. %service_del_preun %{name}.service
  114. %service_del_preun %{name}.socket
  115. %endif
  116. %if 0%{?fedora} || 0%{?el7}
  117. %systemd_preun %{name}.service
  118. %systemd_preun %{name}.socket
  119. %endif
  120. %if 0%{?el6}
  121. if [ $1 = 0 ]; then
  122. /sbin/service %{name} stop >/dev/null 2>&1
  123. /sbin/chkconfig --del %{name}
  124. fi
  125. %endif
  126. %postun
  127. %if 0%{?suse_version}
  128. %service_del_postun %{name}.service
  129. %service_del_postun %{name}.socket
  130. %endif
  131. %if 0%{?fedora} || 0%{?el7}
  132. %systemd_postun_with_restart %{name}.service
  133. %systemd_postun %{name}.socket
  134. %endif
  135. %if 0%{?el6}
  136. if [ $1 -ge 1 ]; then
  137. /sbin/service %{name} condrestart > /dev/null 2>&1 || :
  138. fi
  139. %endif
  140. %files
  141. %defattr(-,root,root,-)
  142. %if 0%{?suse_version} || 0%{?fedora} || 0%{?el7}
  143. %{_unitdir}/%{name}.service
  144. %{_unitdir}/%{name}.socket
  145. %endif
  146. %if 0%{?el6}
  147. %{_initrddir}/%{name}
  148. %dir %{_localstatedir}/run/rspamd
  149. %endif
  150. %{_mandir}/man8/%{name}.*
  151. %{_mandir}/man1/rspamc.*
  152. %{_bindir}/rspamd
  153. %{_bindir}/rspamc
  154. %config(noreplace) %{rspamd_confdir}/%{name}.conf
  155. %config(noreplace) %{rspamd_confdir}/%{name}.sysvinit.conf
  156. %config(noreplace) %{rspamd_confdir}/composites.conf
  157. %config(noreplace) %{rspamd_confdir}/metrics.conf
  158. %config(noreplace) %{rspamd_confdir}/modules.conf
  159. %config(noreplace) %{rspamd_confdir}/statistic.conf
  160. %config(noreplace) %{rspamd_confdir}/common.conf
  161. %config(noreplace) %{rspamd_confdir}/logging.inc
  162. %config(noreplace) %{rspamd_confdir}/options.inc
  163. %config(noreplace) %{rspamd_confdir}/%{name}.sysvinit.conf
  164. %config(noreplace) %{rspamd_confdir}/worker-controller.inc
  165. %config(noreplace) %{rspamd_confdir}/worker-normal.inc
  166. %if 0%{?el6}
  167. %config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
  168. %endif
  169. %if 0%{?el6}
  170. %dir %{rspamd_logdir}
  171. %endif
  172. %attr(-, _rspamd, _rspamd) %dir %{rspamd_home}
  173. %dir %{rspamd_confdir}/lua/regexp
  174. %dir %{rspamd_confdir}/lua
  175. %dir %{rspamd_confdir}
  176. %dir %{rspamd_pluginsdir}/lua
  177. %dir %{rspamd_pluginsdir}
  178. %dir %{rspamd_wwwdir}
  179. %config(noreplace) %{rspamd_confdir}/2tld.inc
  180. %config(noreplace) %{rspamd_confdir}/surbl-whitelist.inc
  181. %{rspamd_pluginsdir}/lua/forged_recipients.lua
  182. %{rspamd_pluginsdir}/lua/maillist.lua
  183. %{rspamd_pluginsdir}/lua/multimap.lua
  184. %{rspamd_pluginsdir}/lua/once_received.lua
  185. %{rspamd_pluginsdir}/lua/rbl.lua
  186. %{rspamd_pluginsdir}/lua/ratelimit.lua
  187. %{rspamd_pluginsdir}/lua/phishing.lua
  188. %{rspamd_pluginsdir}/lua/trie.lua
  189. %{rspamd_pluginsdir}/lua/emails.lua
  190. %{rspamd_pluginsdir}/lua/ip_score.lua
  191. %{rspamd_pluginsdir}/lua/settings.lua
  192. %{rspamd_pluginsdir}/lua/fun.lua
  193. %{rspamd_confdir}/lua/regexp/drugs.lua
  194. %{rspamd_confdir}/lua/regexp/fraud.lua
  195. %{rspamd_confdir}/lua/regexp/headers.lua
  196. %{rspamd_confdir}/lua/regexp/lotto.lua
  197. %{rspamd_confdir}/lua/rspamd.lua
  198. %{rspamd_confdir}/lua/hfilter.lua
  199. %{rspamd_confdir}/lua/rspamd.classifiers.lua
  200. %{rspamd_wwwdir}/*
  201. %changelog
  202. * Fri Jan 02 2015 Vsevolod Stakhov <vsevolod-at-highsecure.ru> 0.8.0-1
  203. - Update to 0.8.0
  204. * Mon Nov 24 2014 Vsevolod Stakhov <vsevolod-at-highsecure.ru> 0.7.6-1
  205. - Update to 0.7.6
  206. * Mon Nov 17 2014 Vsevolod Stakhov <vsevolod-at-highsecure.ru> 0.7.5-1
  207. - Update to 0.7.5
  208. * Sat Nov 08 2014 Vsevolod Stakhov <vsevolod-at-highsecure.ru> 0.7.4-1
  209. - Update to 0.7.4
  210. * Mon Nov 03 2014 Vsevolod Stakhov <vsevolod-at-highsecure.ru> 0.7.3-1
  211. - Update to 0.7.3
  212. * Wed Oct 15 2014 Vsevolod Stakhov <vsevolod-at-highsecure.ru> 0.7.2-1
  213. - Update to 0.7.2
  214. * Tue Sep 30 2014 Vsevolod Stakhov <vsevolod-at-highsecure.ru> 0.7.1-1
  215. - Update to 0.7.1
  216. * Mon Sep 1 2014 Vsevolod Stakhov <vsevolod-at-highsecure.ru> 0.7.0-1
  217. - Update to 0.7.0
  218. * Fri Jan 10 2014 Vsevolod Stakhov <vsevolod-at-highsecure.ru> 0.6.7-1
  219. - Update to 0.6.7.
  220. * Fri Dec 27 2013 Vsevolod Stakhov <vsevolod-at-highsecure.ru> 0.6.6-1
  221. - Update to 0.6.6.
  222. * Fri Dec 20 2013 Vsevolod Stakhov <vsevolod-at-highsecure.ru> 0.6.5-1
  223. - Update to 0.6.5.
  224. * Wed Dec 18 2013 Vsevolod Stakhov <vsevolod-at-highsecure.ru> 0.6.4-1
  225. - Update to 0.6.4.
  226. * Tue Dec 10 2013 Vsevolod Stakhov <vsevolod-at-highsecure.ru> 0.6.3-1
  227. - Update to 0.6.3.
  228. * Fri Dec 06 2013 Vsevolod Stakhov <vsevolod-at-highsecure.ru> 0.6.2-1
  229. - Update to 0.6.2.
  230. * Tue Nov 19 2013 Vsevolod Stakhov <vsevolod-at-highsecure.ru> 0.6.0-1
  231. - Update to 0.6.0.
  232. * Mon Jun 10 2013 Vsevolod Stakhov <vsevolod-at-highsecure.ru> 0.5.6-1
  233. - Update to 0.5.6.
  234. * Sat May 25 2013 Vsevolod Stakhov <vsevolod-at-highsecure.ru> 0.5.5-1
  235. - Initial spec version.