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

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. Name: rspamd
  2. Version: 3.2
  3. Release: 1
  4. Summary: Rapid spam filtering system
  5. Group: System Environment/Daemons
  6. License: Apache-2.0
  7. URL: https://rspamd.com
  8. Source0: https://github.com/rspamd/rspamd/archive/%{version}/%{name}-%{version}.tar.gz
  9. Source1: %{name}.logrotate
  10. Source2: 80-rspamd.preset
  11. BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}
  12. %if 0%{?el7}
  13. BuildRequires: cmake3
  14. BuildRequires: devtoolset-8-gcc-c++
  15. %else
  16. BuildRequires: cmake
  17. BuildRequires: gcc-c++
  18. %endif
  19. BuildRequires: file-devel
  20. BuildRequires: glib2-devel
  21. BuildRequires: hyperscan-devel
  22. BuildRequires: jemalloc-devel
  23. BuildRequires: lapack-devel
  24. BuildRequires: libevent-devel
  25. BuildRequires: libicu-devel
  26. BuildRequires: libsodium-devel
  27. BuildRequires: libunwind-devel
  28. BuildRequires: luajit-devel
  29. BuildRequires: openblas-devel
  30. BuildRequires: openssl-devel
  31. BuildRequires: pcre2-devel
  32. BuildRequires: ragel
  33. BuildRequires: sqlite-devel
  34. BuildRequires: systemd
  35. Requires(pre): shadow-utils
  36. Requires(post): systemd
  37. Requires(preun): systemd
  38. Requires(postun): systemd
  39. %description
  40. Rspamd is a rapid, modular and lightweight spam filter. It is designed to work
  41. with big amount of mail and can be easily extended with own filters written in
  42. lua.
  43. %prep
  44. %setup -q
  45. %build
  46. %if 0%{?el7}
  47. %{__cmake3} \
  48. %else
  49. %{__cmake} \
  50. %endif
  51. -DCMAKE_BUILD_TYPE="Release" \
  52. -DCMAKE_C_FLAGS_RELEASE="%{optflags}" \
  53. -DCMAKE_CXX_FLAGS_RELEASE="%{optflags}" \
  54. -DCMAKE_INSTALL_PREFIX=%{_prefix} \
  55. -DCONFDIR=%{_sysconfdir}/rspamd \
  56. -DMANDIR=%{_mandir} \
  57. -DDBDIR=%{_localstatedir}/lib/rspamd \
  58. -DRUNDIR=%{_localstatedir}/run/rspamd \
  59. -DLOGDIR=%{_localstatedir}/log/rspamd \
  60. -DEXAMPLESDIR=%{_datadir}/examples/rspamd \
  61. -DSHAREDIR=%{_datadir}/rspamd \
  62. -DLIBDIR=%{_libdir}/rspamd/ \
  63. -DINCLUDEDIR=%{_includedir} \
  64. -DRSPAMD_GROUP=_rspamd \
  65. -DRSPAMD_USER=_rspamd \
  66. -DSYSTEMDDIR=%{_unitdir} \
  67. -DWANT_SYSTEMD_UNITS=ON \
  68. -DNO_SHARED=ON \
  69. -DDEBIAN_BUILD=1 \
  70. -DENABLE_LIBUNWIND=ON \
  71. -DENABLE_HYPERSCAN=ON \
  72. -DENABLE_JEMALLOC=ON \
  73. -DENABLE_LUAJIT=ON \
  74. -DENABLE_BLAS=ON
  75. %{__make} %{?jobs:-j%jobs}
  76. %install
  77. %{__make} install DESTDIR=%{buildroot} INSTALLDIRS=vendor
  78. %{__install} -p -D -m 0644 %{SOURCE1} %{buildroot}%{_sysconfdir}/logrotate.d/%{name}
  79. %{__install} -p -D -m 0644 %{SOURCE2} %{buildroot}%{_presetdir}/80-rspamd.preset
  80. %{__install} -d -p -m 0755 %{buildroot}%{_localstatedir}/log/rspamd
  81. %{__install} -d -p -m 0755 %{buildroot}%{_localstatedir}/lib/rspamd
  82. %{__install} -p -D -d -m 0755 %{buildroot}%{_sysconfdir}/%{name}/local.d/
  83. %{__install} -p -D -d -m 0755 %{buildroot}%{_sysconfdir}/%{name}/override.d/
  84. %clean
  85. rm -rf %{buildroot}
  86. %pre
  87. %{_sbindir}/groupadd -r _rspamd 2>/dev/null || :
  88. %{_sbindir}/useradd -g _rspamd -c "Rspamd user" -s /bin/false -r -d %{_localstatedir}/lib/rspamd _rspamd 2>/dev/null || :
  89. %post
  90. %{__chown} -R _rspamd:_rspamd %{_localstatedir}/lib/rspamd
  91. %{__chown} _rspamd:_rspamd %{_localstatedir}/log/rspamd
  92. systemctl --no-reload preset %{name}.service >/dev/null 2>&1 || :
  93. %preun
  94. %systemd_preun %{name}.service
  95. %postun
  96. %systemd_postun_with_restart %{name}.service
  97. %files
  98. %defattr(-,root,root,-)
  99. %dir %{_sysconfdir}/rspamd
  100. %config(noreplace) %{_sysconfdir}/rspamd/*
  101. %{_bindir}/rspamd
  102. %{_bindir}/rspamd_stats
  103. %{_bindir}/rspamc
  104. %{_bindir}/rspamadm
  105. %{_unitdir}/%{name}.service
  106. %{_presetdir}/80-rspamd.preset
  107. %dir %{_libdir}/rspamd
  108. %{_libdir}/rspamd/*
  109. %{_mandir}/man8/%{name}.*
  110. %{_mandir}/man1/rspamc.*
  111. %{_mandir}/man1/rspamadm.*
  112. %dir %{_datadir}/rspamd
  113. %{_datadir}/rspamd/*
  114. %config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
  115. %attr(-, _rspamd, _rspamd) %dir %{_localstatedir}/lib/rspamd
  116. %dir %{_localstatedir}/log/rspamd