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 5.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199
  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 USE_JUDY 0
  8. %if 0%{?suse_version}
  9. %define __cmake cmake
  10. %define __install install
  11. %define __make make
  12. %define __chown chown
  13. %endif
  14. Name: rspamd
  15. Version: 0.6.5
  16. Release: 1
  17. Summary: Rapid spam filtering system
  18. Group: System Environment/Daemons
  19. # BSD License (two clause)
  20. # http://www.freebsd.org/copyright/freebsd-license.html
  21. License: BSD2c
  22. URL: https://rspamd.com
  23. BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}
  24. %if "%{USE_JUDY}" == "1"
  25. BuildRequires: cmake,glib2-devel,gmime-devel,libevent-devel,openssl-devel,lua-devel,Judy-devel,pcre-devel
  26. Requires: lua, logrotate
  27. %else
  28. BuildRequires: cmake,glib2-devel,gmime-devel,libevent-devel,openssl-devel,lua-devel,pcre-devel
  29. Requires: lua, logrotate
  30. %endif
  31. # for /user/sbin/useradd
  32. %if 0%{?suse_version}
  33. Requires(pre): shadow, %insserv_prereq, %fillup_prereq
  34. %else
  35. Requires(pre): shadow-utils
  36. Requires(post): chkconfig
  37. # for /sbin/service
  38. Requires(preun): chkconfig, initscripts
  39. Requires(postun): initscripts
  40. %endif
  41. Source0: https://rspamd.com/downloads/%{name}-%{version}.tar.gz
  42. Source1: %{name}.init
  43. Source2: %{name}.logrotate
  44. %description
  45. Rspamd is a rapid, modular and lightweight spam filter. It is designed to work
  46. with big amount of mail and can be easily extended with own filters written in
  47. lua.
  48. %prep
  49. %setup -q
  50. %build
  51. %{__cmake} \
  52. -DCMAKE_INSTALL_PREFIX=%{_prefix} \
  53. -DCONFDIR=%{_sysconfdir}/rspamd \
  54. -DMANDIR=%{_mandir} \
  55. -DDBDIR=%{_localstatedir}/lib/rspamd \
  56. -DRUNDIR=%{_localstatedir}/run/rspamd \
  57. -DLOGDIR=%{_localstatedir}/log/rspamd \
  58. -DEXAMPLESDIR=%{_datadir}/examples/rspamd \
  59. -DPLUGINSDIR=%{_datadir}/rspamd \
  60. -DLIBDIR=%{_libdir} \
  61. -DINCLUDEDIR=%{_includedir} \
  62. -DNO_SHARED=ON \
  63. -DDEBIAN_BUILD=1 \
  64. -DRSPAMD_GROUP=%{rspamd_group} \
  65. -DRSPAMD_USER=%{rspamd_user} \
  66. %if "%{USE_JUDY}" == "1"
  67. -DENABLE_JUDY=ON
  68. %else
  69. -DENABLE_JUDY=OFF
  70. %endif
  71. %{__make} %{?jobs:-j%jobs}
  72. %install
  73. %{__make} install DESTDIR=%{buildroot} INSTALLDIRS=vendor
  74. %{__install} -p -D -m 0755 %{SOURCE1} %{buildroot}%{_initrddir}/%{name}
  75. %if 0%{?suse_version}
  76. mkdir -p %{buildroot}%{_sbindir}
  77. ln -sf %{_initrddir}/rspamd %{buildroot}%{_sbindir}/rcrspamd
  78. %endif
  79. %{__install} -p -D -m 0644 %{SOURCE2} %{buildroot}%{_sysconfdir}/logrotate.d/%{name}
  80. %{__install} -d -p -m 0755 %{buildroot}%{rspamd_logdir}
  81. %{__install} -d -p -m 0755 %{buildroot}%{rspamd_home}
  82. %clean
  83. rm -rf %{buildroot}
  84. %pre
  85. %{_sbindir}/groupadd -r %{rspamd_group} 2>/dev/null || :
  86. %{_sbindir}/useradd -g %{rspamd_group} -c "Rspamd user" -s /bin/false -r -d %{rspamd_home} %{rspamd_user} 2>/dev/null || :
  87. %if 0%{?suse_version}
  88. %post
  89. %fillup_and_insserv rspamd
  90. %preun
  91. %stop_on_removal rspamd
  92. %postun
  93. %restart_on_update rspamd
  94. %insserv_cleanup
  95. %else
  96. %post
  97. /sbin/chkconfig --add %{name}
  98. %preun
  99. if [ $1 = 0 ]; then
  100. /sbin/service %{name} stop >/dev/null 2>&1
  101. /sbin/chkconfig --del %{name}
  102. fi
  103. %postun
  104. if [ $1 -ge 1 ]; then
  105. /sbin/service %{name} condrestart > /dev/null 2>&1 || :
  106. fi
  107. %endif
  108. %files
  109. %defattr(-,root,root,-)
  110. %{_initrddir}/%{name}
  111. %{_mandir}/man8/%{name}.*
  112. %{_mandir}/man1/rspamc.*
  113. %{_bindir}/rspamd
  114. %{_bindir}/rspamc
  115. %config(noreplace) %{rspamd_confdir}/%{name}.conf
  116. %config(noreplace) %{rspamd_confdir}/composites.conf
  117. %config(noreplace) %{rspamd_confdir}/logging.conf
  118. %config(noreplace) %{rspamd_confdir}/metrics.conf
  119. %config(noreplace) %{rspamd_confdir}/modules.conf
  120. %config(noreplace) %{rspamd_confdir}/options.conf
  121. %config(noreplace) %{rspamd_confdir}/statistic.conf
  122. %config(noreplace) %{rspamd_confdir}/workers.conf
  123. %config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
  124. %dir %{rspamd_logdir}
  125. %dir %{rspamd_home}
  126. %dir %{rspamd_confdir}/lua/regexp
  127. %dir %{rspamd_confdir}/lua
  128. %dir %{rspamd_confdir}
  129. %dir %{rspamd_pluginsdir}/lua
  130. %dir %{rspamd_pluginsdir}
  131. %config(noreplace) %{rspamd_confdir}/2tld.inc
  132. %config(noreplace) %{rspamd_confdir}/surbl-whitelist.inc
  133. %{rspamd_pluginsdir}/lua/forged_recipients.lua
  134. %{rspamd_pluginsdir}/lua/maillist.lua
  135. %{rspamd_pluginsdir}/lua/multimap.lua
  136. %{rspamd_pluginsdir}/lua/once_received.lua
  137. %{rspamd_pluginsdir}/lua/rbl.lua
  138. %{rspamd_pluginsdir}/lua/ratelimit.lua
  139. %{rspamd_pluginsdir}/lua/whitelist.lua
  140. %{rspamd_pluginsdir}/lua/phishing.lua
  141. %{rspamd_pluginsdir}/lua/trie.lua
  142. %{rspamd_pluginsdir}/lua/emails.lua
  143. %{rspamd_pluginsdir}/lua/ip_score.lua
  144. %config(noreplace) %{rspamd_confdir}/lua/regexp/drugs.lua
  145. %config(noreplace) %{rspamd_confdir}/lua/regexp/fraud.lua
  146. %config(noreplace) %{rspamd_confdir}/lua/regexp/headers.lua
  147. %config(noreplace) %{rspamd_confdir}/lua/regexp/lotto.lua
  148. %config(noreplace) %{rspamd_confdir}/lua/rspamd.lua
  149. %config(noreplace) %{rspamd_confdir}/lua/rspamd.classifiers.lua
  150. %if 0%{?suse_version}
  151. %{_sbindir}/rcrspamd
  152. %endif
  153. %changelog
  154. * Wed Dec 20 2013 Vsevolod Stakhov <vsevolod-at-highsecure.ru> 0.6.5-1
  155. - Update to 0.6.5.
  156. * Wed Dec 18 2013 Vsevolod Stakhov <vsevolod-at-highsecure.ru> 0.6.4-1
  157. - Update to 0.6.4.
  158. * Tue Dec 10 2013 Vsevolod Stakhov <vsevolod-at-highsecure.ru> 0.6.3-1
  159. - Update to 0.6.3.
  160. * Tue Dec 06 2013 Vsevolod Stakhov <vsevolod-at-highsecure.ru> 0.6.2-1
  161. - Update to 0.6.2.
  162. * Tue Nov 19 2013 Vsevolod Stakhov <vsevolod-at-highsecure.ru> 0.6.0-1
  163. - Update to 0.6.0.
  164. * Mon Jun 10 2013 Vsevolod Stakhov <vsevolod-at-highsecure.ru> 0.5.6-1
  165. - Update to 0.5.6.
  166. * Sat May 25 2013 Vsevolod Stakhov <vsevolod-at-highsecure.ru> 0.5.5-1
  167. - Initial spec version.