%bcond_with systemd %define rspamd_user _rspamd %define rspamd_group %{rspamd_user} %define rspamd_home %{_localstatedir}/lib/rspamd %define rspamd_logdir %{_localstatedir}/log/rspamd %define rspamd_confdir %{_sysconfdir}/rspamd %define rspamd_pluginsdir %{_datadir}/rspamd/plugins %define rspamd_rulesdir %{_datadir}/rspamd/rules %define rspamd_wwwdir %{_datadir}/rspamd/www Summary: Rapid spam filtering system Name: rspamd Version: 2.7 Release: 2%{?_dist_release}%{?with_systemd:.systemd} Group: servers Vendor: Project Vine Distribution: Vine Linux License: ASL 2.0 URL: https://rspamd.com Source0: https://github.com/rspamd/rspamd/archive/%{version}.tar.gz#/%{name}-%{version}.tar.xz Patch0: rspamd-2.7-lua54.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release} BuildRequires: cmake BuildRequires: file-devel BuildRequires: glib2-devel BuildRequires: gmime-devel %ifarch x86_64 BuildRequires: hyperscan-devel %endif BuildRequires: libevent-devel BuildRequires: libicu-devel BuildRequires: libsodium-devel BuildRequires: libunwind-devel BuildRequires: lua-devel BuildRequires: openssl-devel BuildRequires: pcre2-devel BuildRequires: perl BuildRequires: ragel BuildRequires: sqlite3-devel %if %{with systemd} BuildRequires: systemd %endif Requires: logrotate Requires(pre): shadow-utils %if %{with systemd} Requires(pre): systemd Requires(post): systemd Requires(preun): systemd Requires(postun): systemd %else Requires(post): chkconfig Requires(preun): chkconfig, initscripts Requires(postun): initscripts %endif %description Rspamd is a rapid, modular and lightweight spam filter. It is designed to work with big amount of mail and can be easily extended with own filters written in lua. %debug_package %prep %autosetup -p1 %build %{__cmake} \ -DCMAKE_C_OPT_FLAGS="%{optflags}" \ -DCMAKE_INSTALL_PREFIX=%{_prefix} \ -DCONFDIR=%{_sysconfdir}/rspamd \ -DINCLUDEDIR=%{_includedir} \ -DLIBDIR=%{_libdir}/rspamd/ \ -DMANDIR=%{_mandir} \ -DSHAREDIR=%{_datadir}/rspamd \ -DDBDIR=%{_localstatedir}/lib/rspamd \ -DRUNDIR=%{_localstatedir}/run/rspamd \ -DLOGDIR=%{_localstatedir}/log/rspamd \ -DEXAMPLESDIR=%{_datadir}/examples/rspamd \ -DNO_SHARED=ON \ -DDEBIAN_BUILD=0 \ -DRSPAMD_GROUP=%{rspamd_group} \ -DRSPAMD_USER=%{rspamd_user} \ %if %{with systemd} -DWANT_SYSTEMD_UNITS=ON \ -DSYSTEMDDIR=%{_unitdir} \ %else -DWANT_SYSTEMD_UNITS=OFF \ -DDISABLE_PTHREAD_MUTEX=1 \ %endif %ifarch x86_64 -DENABLE_HYPERSCAN=ON \ %endif -DENABLE_LIBUNWIND=ON \ -DENABLE_LUAJIT=OFF \ -DENABLE_PCRE2=ON \ %nil #-DCMAKE_SKIP_INSTALL_RPATH=ON \ %{__make} %{?_smp_mflags} %install %{__make} install DESTDIR=%{buildroot} INSTALLDIRS=vendor pushd ./centos/sources/ %if %{with systemd} %{__install} -p -D -m 0644 80-rspamd.preset %{buildroot}%{_presetdir}/80-rspamd.preset %{__install} -p -D -m 0644 %{name}.logrotate.systemd %{buildroot}%{_sysconfdir}/logrotate.d/%{name} %{__install} -d -p -m 0755 %{buildroot}%{rspamd_logdir} %else %{__install} -p -D -m 0755 %{name}.init %{buildroot}%{_initrddir}/%{name} %{__install} -d -p -m 0755 %{buildroot}%{_localstatedir}/run/rspamd %{__install} -p -D -m 0644 %{name}.logrotate %{buildroot}%{_sysconfdir}/logrotate.d/%{name} %{__install} -d -p -m 0755 %{buildroot}%{rspamd_logdir} %endif %{__install} -d -p -m 0755 %{buildroot}%{rspamd_home} %{__install} -p -D -d -m 0755 %{buildroot}%{_sysconfdir}/%{name}/local.d/ %{__install} -p -D -d -m 0755 %{buildroot}%{_sysconfdir}/%{name}/override.d/ popd %clean rm -rf %{buildroot} %pre %{_sbindir}/groupadd -r %{rspamd_group} 2>/dev/null || : %{_sbindir}/useradd -g %{rspamd_group} -c "Rspamd user" -s /bin/false -r -d %{rspamd_home} %{rspamd_user} 2>/dev/null || : %post #to allow easy upgrade from 0.8.1 %{__chown} -R %{rspamd_user}:%{rspamd_group} %{rspamd_home} %if %{with systemd} #Macro is not used as we want to do this on upgrade #%systemd_post %{name}.service systemctl --no-reload preset %{name}.service >/dev/null 2>&1 || : %{__chown} %{rspamd_user}:%{rspamd_group} %{rspamd_logdir} %else /sbin/chkconfig --add %{name} %endif %preun %if %{with systemd} %systemd_preun %{name}.service %else if [ $1 = 0 -o -x /bin/systemctl ]; then /sbin/service %{name} stop >/dev/null 2>&1 /sbin/chkconfig --del %{name} fi %endif %postun %if %{with systemd} %systemd_postun_with_restart %{name}.service %else if [ $1 -ge 1 ]; then /sbin/service %{name} condrestart > /dev/null 2>&1 || : fi %endif %files %defattr(-,root,root,-) %license LICENSE.md %doc AUTHORS.md ChangeLog README.md %if %{with systemd} %{_unitdir}/%{name}.service %{_presetdir}/80-rspamd.preset %else %{_initrddir}/%{name} %dir %{_localstatedir}/run/rspamd %endif %config(noreplace) %{_sysconfdir}/logrotate.d/%{name} %dir %{rspamd_logdir} %{_mandir}/man8/%{name}.* %{_mandir}/man1/rspamc.* %{_mandir}/man1/rspamadm.* %{_bindir}/rspamd %{_bindir}/rspamd-* %{_bindir}/rspamd_stats %{_bindir}/rspamc %{_bindir}/rspamc-* %{_bindir}/rspamadm %{_bindir}/rspamadm-* %attr(-, %{rspamd_user}, %{rspamd_group}) %dir %{rspamd_home} %dir %{rspamd_confdir} %dir %{rspamd_confdir}/modules.d %dir %{rspamd_confdir}/local.d %dir %{rspamd_confdir}/maps.d %dir %{rspamd_confdir}/override.d %dir %{rspamd_confdir}/scores.d %dir %{rspamd_wwwdir} %dir %{_libdir}/rspamd %config(noreplace) %{rspamd_confdir}/*.conf %config(noreplace) %{rspamd_confdir}/*.inc %config(noreplace) %{rspamd_confdir}/maps.d/* %config(noreplace) %{rspamd_confdir}/modules.d/* %config(noreplace) %{rspamd_confdir}/scores.d/* %dir %{rspamd_pluginsdir} %{rspamd_pluginsdir}/*.lua %dir %{_datadir}/rspamd/lualib %dir %{_datadir}/rspamd/lualib/lua_content %dir %{_datadir}/rspamd/lualib/lua_ffi %dir %{_datadir}/rspamd/lualib/lua_magic %dir %{_datadir}/rspamd/lualib/lua_selectors %dir %{_datadir}/rspamd/lualib/lua_scanners %dir %{_datadir}/rspamd/lualib/plugins %dir %{_datadir}/rspamd/lualib/rspamadm %{_datadir}/rspamd/lualib/*.lua %{_datadir}/rspamd/lualib/lua_content/*.lua %{_datadir}/rspamd/lualib/lua_ffi/*.lua %{_datadir}/rspamd/lualib/lua_magic/*.lua %{_datadir}/rspamd/lualib/lua_selectors/*.lua %{_datadir}/rspamd/lualib/lua_scanners/*.lua %{_datadir}/rspamd/lualib/plugins/*.lua %{_datadir}/rspamd/lualib/rspamadm/*.lua %dir %{rspamd_rulesdir} %dir %{rspamd_rulesdir}/regexp %{rspamd_rulesdir}/regexp/*.lua %dir %{rspamd_rulesdir}/controller %{rspamd_rulesdir}/controller/*.lua %{rspamd_rulesdir}/*.lua %{rspamd_wwwdir}/* %{_libdir}/rspamd/* %{_datadir}/rspamd/effective_tld_names.dat %dir %{_datadir}/rspamd/languages %{_datadir}/rspamd/languages/* %dir %{_datadir}/rspamd/elastic %{_datadir}/rspamd/elastic/* %changelog * Thu Apr 08 2021 Tomohiro "Tomo-p" KATO 2.7-2 - rebuilt with icu69. * Sat Jan 09 2021 Tomohiro "Tomo-p" KATO 2.7-1 - new upstream release. * Tue Jan 05 2021 Tomohiro "Tomo-p" KATO 2.6-3 - updated Patch0. * Thu Oct 08 2020 Tomohiro "Tomo-p" KATO 2.6-2 - updated Patch0. * Fri Oct 02 2020 Tomohiro "Tomo-p" KATO 2.6-1 - new upstream release. - added Patch0 to build with lua-5.4. * Tue Aug 18 2020 Tomohiro "Tomo-p" KATO 2.5-3 - rebuilt with current envirionment. * Fri Apr 24 2020 Tomohiro "Tomo-p" KATO 2.5-2 - rebuilt with icu-67. * Thu Apr 02 2020 Tomohiro "Tomo-p" KATO 2.5-1 - new upstream release. * Thu Mar 19 2020 Tomohiro "Tomo-p" KATO 2.4-2 - rebuilt with libicu66. * Sat Mar 07 2020 Tomohiro "Tomo-p" KATO 2.4-1 - initial build for Vine Linux.