%undefine _package_note_flags %global debug_package %{nil} %define _build_id_links none %if 0%{?rhel} && 0%{?rhel} < 10 %global gcc_toolset_enable source /opt/rh/gcc-toolset-15/enable %else %global gcc_toolset_enable source /usr/lib/gcc-toolset/15-env.source %endif Name: rspamd Version: 4.1.5 Release: 1%{?dist} Summary: Rapid spam filtering system License: ASL 2.0 and LGPLv3 and BSD and MIT and CC0 and zlib URL: https://www.rspamd.com/ Source0: https://github.com/%{name}/%{name}/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz BuildRequires: cmake BuildRequires: gcc-toolset-15-gcc-c++ BuildRequires: gcc-toolset-15-gcc-plugin-annobin BuildRequires: file-devel BuildRequires: glib2-devel BuildRequires: vectorscan-devel BuildRequires: libcurl-devel BuildRequires: libicu78-devel BuildRequires: libsodium-devel BuildRequires: openblas-devel BuildRequires: lapack-devel BuildRequires: openssl-devel BuildRequires: pcre2-devel BuildRequires: libzstd-devel BuildRequires: ragel BuildRequires: luajit-devel BuildRequires: jemalloc-devel BuildRequires: perl BuildRequires: perl-Digest-MD5 BuildRequires: systemd-units BuildRequires: systemd-rpm-macros BuildRequires: sqlite-devel BuildRequires: zlib-devel BuildRequires: libarchive-devel Requires: vectorscan Requires: openblas Requires: zlib %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. %package plugin-aliases Summary: Rspamd aliases Lua plugin Requires: %{name}%{?_isa} = %{version}-%{release} %description plugin-aliases Rspamd aliases Lua plugin. %package plugin-antivirus Summary: Rspamd antivirus Lua plugin Requires: %{name}%{?_isa} = %{version}-%{release} %description plugin-antivirus Rspamd antivirus Lua plugin. %package plugin-arc Summary: Rspamd arc Lua plugin Requires: %{name}%{?_isa} = %{version}-%{release} %description plugin-arc Rspamd arc Lua plugin. %package plugin-asn Summary: Rspamd asn Lua plugin Requires: %{name}%{?_isa} = %{version}-%{release} %description plugin-asn Rspamd asn Lua plugin. %package plugin-aws-s3 Summary: Rspamd aws_s3 Lua plugin Requires: %{name}%{?_isa} = %{version}-%{release} %description plugin-aws-s3 Rspamd aws_s3 Lua plugin. %package plugin-bayes-expiry Summary: Rspamd bayes_expiry Lua plugin Requires: %{name}%{?_isa} = %{version}-%{release} %description plugin-bayes-expiry Rspamd bayes_expiry Lua plugin. %package plugin-bimi Summary: Rspamd bimi Lua plugin Requires: %{name}%{?_isa} = %{version}-%{release} %description plugin-bimi Rspamd bimi Lua plugin. %package plugin-clickhouse Summary: Rspamd clickhouse Lua plugin Requires: %{name}%{?_isa} = %{version}-%{release} %description plugin-clickhouse Rspamd clickhouse Lua plugin. %package plugin-clustering Summary: Rspamd clustering Lua plugin Requires: %{name}%{?_isa} = %{version}-%{release} %description plugin-clustering Rspamd clustering Lua plugin. %package plugin-contextal Summary: Rspamd contextal Lua plugin Requires: %{name}%{?_isa} = %{version}-%{release} %description plugin-contextal Rspamd contextal Lua plugin. %package plugin-dcc Summary: Rspamd dcc Lua plugin Requires: %{name}%{?_isa} = %{version}-%{release} %description plugin-dcc Rspamd dcc Lua plugin. %package plugin-dkim-signing Summary: Rspamd dkim_signing Lua plugin Requires: %{name}%{?_isa} = %{version}-%{release} %description plugin-dkim-signing Rspamd dkim_signing Lua plugin. %package plugin-dmarc Summary: Rspamd dmarc Lua plugin Requires: %{name}%{?_isa} = %{version}-%{release} %description plugin-dmarc Rspamd dmarc Lua plugin. %package plugin-dynamic-conf Summary: Rspamd dynamic_conf Lua plugin Requires: %{name}%{?_isa} = %{version}-%{release} %description plugin-dynamic-conf Rspamd dynamic_conf Lua plugin. %package plugin-elastic Summary: Rspamd elastic Lua plugin Requires: %{name}%{?_isa} = %{version}-%{release} %description plugin-elastic Rspamd elastic Lua plugin. %package plugin-emails Summary: Rspamd emails Lua plugin Requires: %{name}%{?_isa} = %{version}-%{release} %description plugin-emails Rspamd emails Lua plugin. %package plugin-external-relay Summary: Rspamd external_relay Lua plugin Requires: %{name}%{?_isa} = %{version}-%{release} %description plugin-external-relay Rspamd external_relay Lua plugin. %package plugin-external-services Summary: Rspamd external_services Lua plugin Requires: %{name}%{?_isa} = %{version}-%{release} %description plugin-external-services Rspamd external_services Lua plugin. %package plugin-force-actions Summary: Rspamd force_actions Lua plugin Requires: %{name}%{?_isa} = %{version}-%{release} %description plugin-force-actions Rspamd force_actions Lua plugin. %package plugin-forged-recipients Summary: Rspamd forged_recipients Lua plugin Requires: %{name}%{?_isa} = %{version}-%{release} %description plugin-forged-recipients Rspamd forged_recipients Lua plugin. %package plugin-fuzzy-collect Summary: Rspamd fuzzy_collect Lua plugin Requires: %{name}%{?_isa} = %{version}-%{release} %description plugin-fuzzy-collect Rspamd fuzzy_collect Lua plugin. %package plugin-gpt Summary: Rspamd gpt Lua plugin Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}-lualib-llm = %{version}-%{release} %description plugin-gpt Rspamd gpt Lua plugin. %package plugin-greylist Summary: Rspamd greylist Lua plugin Requires: %{name}%{?_isa} = %{version}-%{release} %description plugin-greylist Rspamd greylist Lua plugin. %package plugin-hfilter Summary: Rspamd hfilter Lua plugin Requires: %{name}%{?_isa} = %{version}-%{release} %description plugin-hfilter Rspamd hfilter Lua plugin. %package plugin-history-redis Summary: Rspamd history_redis Lua plugin Requires: %{name}%{?_isa} = %{version}-%{release} %description plugin-history-redis Rspamd history_redis Lua plugin. %package plugin-http-headers Summary: Rspamd http_headers Lua plugin Requires: %{name}%{?_isa} = %{version}-%{release} %description plugin-http-headers Rspamd http_headers Lua plugin. %package plugin-ip-score Summary: Rspamd ip_score Lua plugin Requires: %{name}%{?_isa} = %{version}-%{release} %description plugin-ip-score Rspamd ip_score Lua plugin. %package plugin-known-senders Summary: Rspamd known_senders Lua plugin Requires: %{name}%{?_isa} = %{version}-%{release} %description plugin-known-senders Rspamd known_senders Lua plugin. %package plugin-maillist Summary: Rspamd maillist Lua plugin Requires: %{name}%{?_isa} = %{version}-%{release} %description plugin-maillist Rspamd maillist Lua plugin. %package plugin-maps-stats Summary: Rspamd maps_stats Lua plugin Requires: %{name}%{?_isa} = %{version}-%{release} %description plugin-maps-stats Rspamd maps_stats Lua plugin. %package plugin-metadata-exporter Summary: Rspamd metadata_exporter Lua plugin Requires: %{name}%{?_isa} = %{version}-%{release} %description plugin-metadata-exporter Rspamd metadata_exporter Lua plugin. %package plugin-metric-exporter Summary: Rspamd metric_exporter Lua plugin Requires: %{name}%{?_isa} = %{version}-%{release} %description plugin-metric-exporter Rspamd metric_exporter Lua plugin. %package plugin-mid Summary: Rspamd mid Lua plugin Requires: %{name}%{?_isa} = %{version}-%{release} %description plugin-mid Rspamd mid Lua plugin. %package plugin-milter-headers Summary: Rspamd milter_headers Lua plugin Requires: %{name}%{?_isa} = %{version}-%{release} %description plugin-milter-headers Rspamd milter_headers Lua plugin. %package plugin-mime-types Summary: Rspamd mime_types Lua plugin Requires: %{name}%{?_isa} = %{version}-%{release} %description plugin-mime-types Rspamd mime_types Lua plugin. %package plugin-multimap Summary: Rspamd multimap Lua plugin Requires: %{name}%{?_isa} = %{version}-%{release} %description plugin-multimap Rspamd multimap Lua plugin. %package plugin-mx-check Summary: Rspamd mx_check Lua plugin Requires: %{name}%{?_isa} = %{version}-%{release} %description plugin-mx-check Rspamd mx_check Lua plugin. %package plugin-neural Summary: Rspamd neural Lua plugin Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}-lualib-llm = %{version}-%{release} %description plugin-neural Rspamd neural Lua plugin. %package plugin-once-received Summary: Rspamd once_received Lua plugin Requires: %{name}%{?_isa} = %{version}-%{release} %description plugin-once-received Rspamd once_received Lua plugin. %package plugin-p0f Summary: Rspamd p0f Lua plugin Requires: %{name}%{?_isa} = %{version}-%{release} %description plugin-p0f Rspamd p0f Lua plugin. %package plugin-phishing Summary: Rspamd phishing Lua plugin Requires: %{name}%{?_isa} = %{version}-%{release} %description plugin-phishing Rspamd phishing Lua plugin. %package plugin-ratelimit Summary: Rspamd ratelimit Lua plugin Requires: %{name}%{?_isa} = %{version}-%{release} %description plugin-ratelimit Rspamd ratelimit Lua plugin. %package plugin-rbl Summary: Rspamd rbl Lua plugin Requires: %{name}%{?_isa} = %{version}-%{release} %description plugin-rbl Rspamd rbl Lua plugin. %package plugin-replies Summary: Rspamd replies Lua plugin Requires: %{name}%{?_isa} = %{version}-%{release} %description plugin-replies Rspamd replies Lua plugin. %package plugin-reputation Summary: Rspamd reputation Lua plugin Requires: %{name}%{?_isa} = %{version}-%{release} %description plugin-reputation Rspamd reputation Lua plugin. %package plugin-rspamd-update Summary: Rspamd rspamd_update Lua plugin Requires: %{name}%{?_isa} = %{version}-%{release} %description plugin-rspamd-update Rspamd rspamd_update Lua plugin. %package plugin-settings Summary: Rspamd settings Lua plugin Requires: %{name}%{?_isa} = %{version}-%{release} %description plugin-settings Rspamd settings Lua plugin. %package plugin-spamassassin Summary: Rspamd spamassassin Lua plugin Requires: %{name}%{?_isa} = %{version}-%{release} %description plugin-spamassassin Rspamd spamassassin Lua plugin. %package plugin-spamtrap Summary: Rspamd spamtrap Lua plugin Requires: %{name}%{?_isa} = %{version}-%{release} %description plugin-spamtrap Rspamd spamtrap Lua plugin. %package plugin-spf Summary: Rspamd spf Lua plugin Requires: %{name}%{?_isa} = %{version}-%{release} %description plugin-spf Rspamd spf Lua plugin. %package plugin-trie Summary: Rspamd trie Lua plugin Requires: %{name}%{?_isa} = %{version}-%{release} %description plugin-trie Rspamd trie Lua plugin. %package plugin-url-redirector Summary: Rspamd url_redirector Lua plugin Requires: %{name}%{?_isa} = %{version}-%{release} %description plugin-url-redirector Rspamd url_redirector Lua plugin. %package plugin-url-suspect Summary: Rspamd url_suspect Lua plugin Requires: %{name}%{?_isa} = %{version}-%{release} %description plugin-url-suspect Rspamd url_suspect Lua plugin. %package plugin-whitelist Summary: Rspamd whitelist Lua plugin Requires: %{name}%{?_isa} = %{version}-%{release} %description plugin-whitelist Rspamd whitelist Lua plugin. %package plugins-all Summary: All packaged Rspamd Lua plugins Requires: %{name}-lualib-extra = %{version}-%{release} Requires: %{name}-plugin-aliases = %{version}-%{release} Requires: %{name}-plugin-antivirus = %{version}-%{release} Requires: %{name}-plugin-arc = %{version}-%{release} Requires: %{name}-plugin-asn = %{version}-%{release} Requires: %{name}-plugin-aws-s3 = %{version}-%{release} Requires: %{name}-plugin-bayes-expiry = %{version}-%{release} Requires: %{name}-plugin-bimi = %{version}-%{release} Requires: %{name}-plugin-clickhouse = %{version}-%{release} Requires: %{name}-plugin-clustering = %{version}-%{release} Requires: %{name}-plugin-contextal = %{version}-%{release} Requires: %{name}-plugin-dcc = %{version}-%{release} Requires: %{name}-plugin-dkim-signing = %{version}-%{release} Requires: %{name}-plugin-dmarc = %{version}-%{release} Requires: %{name}-plugin-dynamic-conf = %{version}-%{release} Requires: %{name}-plugin-elastic = %{version}-%{release} Requires: %{name}-plugin-emails = %{version}-%{release} Requires: %{name}-plugin-external-relay = %{version}-%{release} Requires: %{name}-plugin-external-services = %{version}-%{release} Requires: %{name}-plugin-force-actions = %{version}-%{release} Requires: %{name}-plugin-forged-recipients = %{version}-%{release} Requires: %{name}-plugin-fuzzy-collect = %{version}-%{release} Requires: %{name}-plugin-gpt = %{version}-%{release} Requires: %{name}-plugin-greylist = %{version}-%{release} Requires: %{name}-plugin-hfilter = %{version}-%{release} Requires: %{name}-plugin-history-redis = %{version}-%{release} Requires: %{name}-plugin-http-headers = %{version}-%{release} Requires: %{name}-plugin-ip-score = %{version}-%{release} Requires: %{name}-plugin-known-senders = %{version}-%{release} Requires: %{name}-plugin-maillist = %{version}-%{release} Requires: %{name}-plugin-maps-stats = %{version}-%{release} Requires: %{name}-plugin-metadata-exporter = %{version}-%{release} Requires: %{name}-plugin-metric-exporter = %{version}-%{release} Requires: %{name}-plugin-mid = %{version}-%{release} Requires: %{name}-plugin-milter-headers = %{version}-%{release} Requires: %{name}-plugin-mime-types = %{version}-%{release} Requires: %{name}-plugin-multimap = %{version}-%{release} Requires: %{name}-plugin-mx-check = %{version}-%{release} Requires: %{name}-plugin-neural = %{version}-%{release} Requires: %{name}-plugin-once-received = %{version}-%{release} Requires: %{name}-plugin-p0f = %{version}-%{release} Requires: %{name}-plugin-phishing = %{version}-%{release} Requires: %{name}-plugin-ratelimit = %{version}-%{release} Requires: %{name}-plugin-rbl = %{version}-%{release} Requires: %{name}-plugin-replies = %{version}-%{release} Requires: %{name}-plugin-reputation = %{version}-%{release} Requires: %{name}-plugin-rspamd-update = %{version}-%{release} Requires: %{name}-plugin-settings = %{version}-%{release} Requires: %{name}-plugin-spamassassin = %{version}-%{release} Requires: %{name}-plugin-spamtrap = %{version}-%{release} Requires: %{name}-plugin-spf = %{version}-%{release} Requires: %{name}-plugin-trie = %{version}-%{release} Requires: %{name}-plugin-url-redirector = %{version}-%{release} Requires: %{name}-plugin-url-suspect = %{version}-%{release} Requires: %{name}-plugin-whitelist = %{version}-%{release} %description plugins-all Meta package that installs all packaged upstream Rspamd Lua plugins. %package rules-core Summary: Core upstream Rspamd Lua rules Requires: %{name}%{?_isa} = %{version}-%{release} %description rules-core Core upstream Rspamd Lua rules. %package rules-regexp Summary: Upstream Rspamd regexp Lua rules Requires: %{name}%{?_isa} = %{version}-%{release} %description rules-regexp Upstream Rspamd regexp Lua rules. %package rules-controller Summary: Upstream Rspamd controller Lua rules Requires: %{name}%{?_isa} = %{version}-%{release} %description rules-controller Upstream Rspamd controller Lua rules used by controller/WebUI helper endpoints. %package rules-all Summary: All packaged upstream Rspamd Lua rules Requires: %{name}-rules-core = %{version}-%{release} Requires: %{name}-rules-regexp = %{version}-%{release} Requires: %{name}-rules-controller = %{version}-%{release} %description rules-all Meta package that installs all packaged upstream Rspamd Lua rules. %package lualib-extra Summary: Optional Rspamd Lua support libraries Requires: %{name}%{?_isa} = %{version}-%{release} %description lualib-extra Optional upstream Rspamd Lua support libraries used by non-minimal plugins, rules, and administrative workflows. %package lualib-llm Summary: Rspamd LLM Lua support libraries Requires: %{name}%{?_isa} = %{version}-%{release} %description lualib-llm Rspamd Lua helpers shared by LLM-capable plugins such as gpt and neural. %package full Summary: Full Rspamd install with all packaged plugins and rules Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}-plugins-all = %{version}-%{release} Requires: %{name}-rules-all = %{version}-%{release} Requires: %{name}-lualib-extra = %{version}-%{release} Requires: %{name}-lualib-llm = %{version}-%{release} %description full Meta package that installs Rspamd with all packaged upstream Lua plugins and rules. %prep %setup -n %{name}-%{version} -q %{gcc_toolset_enable} %cmake \ -DENABLE_LTO=ON \ -DDEBIAN_BUILD=0 \ -DLINKER_NAME=/usr/bin/ld.bfd \ -DNO_SHARED=ON \ -DCONFDIR=%{_sysconfdir}/%{name} \ -DMANDIR=%{_mandir} \ -DDBDIR=%{_localstatedir}/lib/rspamd \ -DRUNDIR=%{_rundir}/%{name} \ -DLOGDIR=%{_localstatedir}/log/%{name} \ -DSHAREDIR=%{_datadir}/%{name} \ -DLIBDIR=%{_libdir}/%{name}/ \ -DSYSTEMDDIR=%{_unitdir} \ -DWANT_SYSTEMD_UNITS=OFF \ -DRSPAMD_USER=%{name} \ -DRSPAMD_GROUP=%{name} \ -DENABLE_HYPERSCAN=ON \ -DENABLE_LUAJIT=ON \ -DENABLE_JEMALLOC=ON \ -DENABLE_OPTIMIZATION=ON \ -DENABLE_SNOWBALL=ON \ -DENABLE_PCRE2=ON \ -DSYSTEM_ZSTD=ON \ -DENABLE_BLAS=ON \ -DINSTALL_WEBUI=OFF \ -DINSTALL_EXAMPLES=OFF \ -DRSPAMD_USER=%{name} %cmake_build %install %cmake_install rm -f %{buildroot}%{_libdir}/debug/usr/bin/rspam* # Remove default config files rm -rf %{buildroot}%{_sysconfdir}/%{name}/* # Remove man pages rm -rf %{buildroot}%{_mandir} %files %{_bindir}/rspam{adm,c,d}{,-%{version}} %{_bindir}/rspamd_stats %{_bindir}/mapstats %dir %{_datadir}/%{name} %{_datadir}/%{name}/effective_tld_names.dat %dir %{_datadir}/%{name}/{languages,plugins,rules,lualib} %{_datadir}/%{name}/languages/* %{_datadir}/%{name}/lualib/fun.lua %{_datadir}/%{name}/lualib/global_functions.lua %{_datadir}/%{name}/lualib/lua_cache.lua %{_datadir}/%{name}/lualib/lua_cfg_transform.lua %{_datadir}/%{name}/lualib/lua_cfg_utils.lua %{_datadir}/%{name}/lualib/lua_hs_cache.lua %{_datadir}/%{name}/lualib/lua_maps.lua %{_datadir}/%{name}/lualib/lua_maps_expressions.lua %{_datadir}/%{name}/lualib/lua_meta.lua %{_datadir}/%{name}/lualib/lua_mime.lua %{_datadir}/%{name}/lualib/lua_redis.lua %{_datadir}/%{name}/lualib/lua_settings.lua %{_datadir}/%{name}/lualib/lua_stat.lua %{_datadir}/%{name}/lualib/lua_util.lua %{_datadir}/%{name}/lualib/lua_verdict.lua %{_datadir}/%{name}/lualib/lupa.lua %dir %{_datadir}/%{name}/lualib/{lua_magic,lua_selectors,lua_shape,plugins,rspamadm,redis_scripts} %{_datadir}/%{name}/lualib/lua_magic/types.lua %{_datadir}/%{name}/lualib/lua_selectors/*.lua %{_datadir}/%{name}/lualib/lua_shape/core.lua %{_datadir}/%{name}/lualib/lua_shape/plugin_schema.lua %{_datadir}/%{name}/lualib/lua_shape/registry.lua %{_libdir}/%{name}/* %dir %{_sysconfdir}/%{name} %files plugin-aliases %{_datadir}/%{name}/plugins/aliases.lua %{_datadir}/%{name}/lualib/lua_aliases.lua %files plugin-antivirus %{_datadir}/%{name}/plugins/antivirus.lua %dir %{_datadir}/%{name}/lualib/lua_scanners %{_datadir}/%{name}/lualib/lua_scanners/*.lua %files plugin-arc %{_datadir}/%{name}/plugins/arc.lua %files plugin-asn %{_datadir}/%{name}/plugins/asn.lua %files plugin-aws-s3 %{_datadir}/%{name}/plugins/aws_s3.lua %{_datadir}/%{name}/lualib/lua_aws.lua %files plugin-bayes-expiry %{_datadir}/%{name}/plugins/bayes_expiry.lua %files plugin-bimi %{_datadir}/%{name}/plugins/bimi.lua %files plugin-clickhouse %{_datadir}/%{name}/plugins/clickhouse.lua %files plugin-clustering %{_datadir}/%{name}/plugins/clustering.lua %files plugin-contextal %{_datadir}/%{name}/plugins/contextal.lua %files plugin-dcc %{_datadir}/%{name}/plugins/dcc.lua %files plugin-dkim-signing %{_datadir}/%{name}/plugins/dkim_signing.lua %files plugin-dmarc %{_datadir}/%{name}/plugins/dmarc.lua %{_datadir}/%{name}/lualib/plugins/dmarc.lua %files plugin-dynamic-conf %{_datadir}/%{name}/plugins/dynamic_conf.lua %files plugin-elastic %{_datadir}/%{name}/plugins/elastic.lua %files plugin-emails %{_datadir}/%{name}/plugins/emails.lua %files plugin-external-relay %{_datadir}/%{name}/plugins/external_relay.lua %files plugin-external-services %{_datadir}/%{name}/plugins/external_services.lua %files plugin-force-actions %{_datadir}/%{name}/plugins/force_actions.lua %files plugin-forged-recipients %{_datadir}/%{name}/plugins/forged_recipients.lua %files plugin-fuzzy-collect %{_datadir}/%{name}/plugins/fuzzy_collect.lua %files plugin-gpt %{_datadir}/%{name}/plugins/gpt.lua %files plugin-greylist %{_datadir}/%{name}/plugins/greylist.lua %files plugin-hfilter %{_datadir}/%{name}/plugins/hfilter.lua %files plugin-history-redis %{_datadir}/%{name}/plugins/history_redis.lua %files plugin-http-headers %{_datadir}/%{name}/plugins/http_headers.lua %files plugin-ip-score %{_datadir}/%{name}/plugins/ip_score.lua %files plugin-known-senders %{_datadir}/%{name}/plugins/known_senders.lua %files plugin-maillist %{_datadir}/%{name}/plugins/maillist.lua %files plugin-maps-stats %{_datadir}/%{name}/plugins/maps_stats.lua %files plugin-metadata-exporter %{_datadir}/%{name}/plugins/metadata_exporter.lua %files plugin-metric-exporter %{_datadir}/%{name}/plugins/metric_exporter.lua %files plugin-mid %{_datadir}/%{name}/plugins/mid.lua %files plugin-milter-headers %{_datadir}/%{name}/plugins/milter_headers.lua %files plugin-mime-types %{_datadir}/%{name}/plugins/mime_types.lua %files plugin-multimap %{_datadir}/%{name}/plugins/multimap.lua %files plugin-mx-check %{_datadir}/%{name}/plugins/mx_check.lua %files plugin-neural %{_datadir}/%{name}/plugins/neural.lua %{_datadir}/%{name}/lualib/lua_neural_external.lua %{_datadir}/%{name}/lualib/lua_neural_learn.lua %{_datadir}/%{name}/lualib/plugins/neural.lua %{_datadir}/%{name}/lualib/redis_scripts/neural_maybe_invalidate.lua %{_datadir}/%{name}/lualib/redis_scripts/neural_maybe_lock.lua %{_datadir}/%{name}/lualib/redis_scripts/neural_save_unlock.lua %{_datadir}/%{name}/lualib/redis_scripts/neural_train_size.lua %files plugin-once-received %{_datadir}/%{name}/plugins/once_received.lua %files plugin-p0f %{_datadir}/%{name}/plugins/p0f.lua %files plugin-phishing %{_datadir}/%{name}/plugins/phishing.lua %files plugin-ratelimit %{_datadir}/%{name}/plugins/ratelimit.lua %{_datadir}/%{name}/lualib/plugins/ratelimit.lua %{_datadir}/%{name}/lualib/redis_scripts/ratelimit_check.lua %{_datadir}/%{name}/lualib/redis_scripts/ratelimit_cleanup_pending.lua %{_datadir}/%{name}/lualib/redis_scripts/ratelimit_update.lua %files plugin-rbl %{_datadir}/%{name}/plugins/rbl.lua %{_datadir}/%{name}/lualib/plugins/rbl.lua %files plugin-replies %{_datadir}/%{name}/plugins/replies.lua %files plugin-reputation %{_datadir}/%{name}/plugins/reputation.lua %files plugin-rspamd-update %{_datadir}/%{name}/plugins/rspamd_update.lua %files plugin-settings %{_datadir}/%{name}/plugins/settings.lua %files plugin-spamassassin %{_datadir}/%{name}/plugins/spamassassin.lua %files plugin-spamtrap %{_datadir}/%{name}/plugins/spamtrap.lua %files plugin-spf %{_datadir}/%{name}/plugins/spf.lua %files plugin-trie %{_datadir}/%{name}/plugins/trie.lua %files plugin-url-redirector %{_datadir}/%{name}/plugins/url_redirector.lua %files plugin-url-suspect %{_datadir}/%{name}/plugins/url_suspect.lua %files plugin-whitelist %{_datadir}/%{name}/plugins/whitelist.lua %files plugins-all %files rules-core %{_datadir}/%{name}/rules/*.lua %files rules-regexp %dir %{_datadir}/%{name}/rules/regexp %{_datadir}/%{name}/rules/regexp/*.lua %files rules-controller %dir %{_datadir}/%{name}/rules/controller %{_datadir}/%{name}/rules/controller/*.lua %files rules-all %files lualib-extra %{_datadir}/%{name}/lualib/*.lua %dir %{_datadir}/%{name}/lualib/{lua_content,lua_ffi,lua_magic,lua_scanners,lua_selectors,lua_shape,plugins,rspamadm,redis_scripts} %{_datadir}/%{name}/lualib/{lua_content,lua_ffi,lua_magic,lua_scanners,lua_selectors,lua_shape,plugins,rspamadm,redis_scripts}/*.lua %{_datadir}/%{name}/lualib/plugins/neural/providers/*.lua %exclude %{_datadir}/%{name}/lualib/llm_common.lua %exclude %{_datadir}/%{name}/lualib/llm_context.lua %exclude %{_datadir}/%{name}/lualib/llm_search_context.lua %exclude %{_datadir}/%{name}/lualib/fun.lua %exclude %{_datadir}/%{name}/lualib/global_functions.lua %exclude %{_datadir}/%{name}/lualib/lua_cache.lua %exclude %{_datadir}/%{name}/lualib/lua_aliases.lua %exclude %{_datadir}/%{name}/lualib/lua_aws.lua %exclude %{_datadir}/%{name}/lualib/lua_cfg_transform.lua %exclude %{_datadir}/%{name}/lualib/lua_cfg_utils.lua %exclude %{_datadir}/%{name}/lualib/lua_hs_cache.lua %exclude %{_datadir}/%{name}/lualib/lua_maps.lua %exclude %{_datadir}/%{name}/lualib/lua_maps_expressions.lua %exclude %{_datadir}/%{name}/lualib/lua_meta.lua %exclude %{_datadir}/%{name}/lualib/lua_mime.lua %exclude %{_datadir}/%{name}/lualib/lua_neural_external.lua %exclude %{_datadir}/%{name}/lualib/lua_neural_learn.lua %exclude %{_datadir}/%{name}/lualib/lua_redis.lua %exclude %{_datadir}/%{name}/lualib/lua_settings.lua %exclude %{_datadir}/%{name}/lualib/lua_stat.lua %exclude %{_datadir}/%{name}/lualib/lua_util.lua %exclude %{_datadir}/%{name}/lualib/lua_verdict.lua %exclude %{_datadir}/%{name}/lualib/lupa.lua %exclude %{_datadir}/%{name}/lualib/lua_magic/types.lua %exclude %{_datadir}/%{name}/lualib/lua_selectors/*.lua %exclude %{_datadir}/%{name}/lualib/lua_shape/core.lua %exclude %{_datadir}/%{name}/lualib/lua_shape/plugin_schema.lua %exclude %{_datadir}/%{name}/lualib/lua_shape/registry.lua %exclude %{_datadir}/%{name}/lualib/plugins/dmarc.lua %exclude %{_datadir}/%{name}/lualib/plugins/neural.lua %exclude %{_datadir}/%{name}/lualib/plugins/rbl.lua %exclude %{_datadir}/%{name}/lualib/plugins/ratelimit.lua %exclude %{_datadir}/%{name}/lualib/lua_scanners/*.lua %exclude %{_datadir}/%{name}/lualib/redis_scripts/ratelimit_check.lua %exclude %{_datadir}/%{name}/lualib/redis_scripts/ratelimit_cleanup_pending.lua %exclude %{_datadir}/%{name}/lualib/redis_scripts/ratelimit_update.lua %exclude %{_datadir}/%{name}/lualib/redis_scripts/neural_maybe_invalidate.lua %exclude %{_datadir}/%{name}/lualib/redis_scripts/neural_maybe_lock.lua %exclude %{_datadir}/%{name}/lualib/redis_scripts/neural_save_unlock.lua %exclude %{_datadir}/%{name}/lualib/redis_scripts/neural_train_size.lua %files lualib-llm %{_datadir}/%{name}/lualib/llm_common.lua %{_datadir}/%{name}/lualib/llm_context.lua %{_datadir}/%{name}/lualib/llm_search_context.lua %files full %changelog %autochangelog