%global gittag v2.5.1 %global version %(g=%{gittag}; echo ${g:1}) Name: reaction Version: %{version} Release: 1%{?dist} Summary: Scan logs and take action License: AGPLv3 URL: https://framagit.org/ppom/reaction Source0: https://framagit.org/ppom/reaction/-/archive/%{gittag}/%{name}-%{version}.tar.gz # https://framagit.org/ppom/reaction/-/merge_requests/35 without the nft.rs fix Patch0: reaction-pr35.patch # https://framagit.org/ppom/reaction/-/merge_requests/36 Patch1: reaction-pr36.patch BuildRequires: cargo BuildRequires: cargo-rpm-macros BuildRequires: make BuildRequires: rust BuildRequires: systemd-rpm-macros ## for reaction-plugin-ipset #BuildRequires: ipset-devel ## for reaction-plugin-ipset and reaction-plugin-nftables BuildRequires: clang # for reaction-plugin-nftables BuildRequires: nftables-devel %description A daemon that scans program outputs for repeated patterns, and takes action. A common usage is to scan ssh and webserver logs, and to ban hosts that cause multiple authentication errors. %prep %autosetup -p1 -n %{name}-%{version} sed -i -e's|PREFIX ?= /usr/local|PREFIX ?= %{_prefix}|' Makefile sed -i -e's|SYSTEMDDIR ?= /etc/systemd|SYSTEMDDIR ?= %{_unitdir}|' Makefile %build #%%configure #%%make_build cargo build --locked --release pushd plugins # reaction-plugin-ipset fails to build so exclude it for plugin in $(ls -1 -I reaction-plugin-ipset); do #for plugin in $(ls -1); do echo "Build ${plugin}" cd ${plugin} cargo build --locked --release cd .. done popd %install pushd target/release install -Dm0755 reaction %{buildroot}%{_bindir}/reaction install -Dm0755 reaction-plugin-cluster %{buildroot}%{_bindir}/reaction-plugin-cluster #install -Dm0755 reaction-plugin-ipset %%{buildroot}%%{_bindir}/reaction-plugin-ipset install -Dm0755 reaction-plugin-nftables %{buildroot}%{_bindir}/reaction-plugin-nftables install -Dm0755 reaction-plugin-virtual %{buildroot}%{_bindir}/reaction-plugin-virtual install -Dm0644 reaction*.1 -t %{buildroot}%{_mandir}/man1/ install -Dm0644 reaction.bash %{buildroot}%{bash_completions_dir}/reaction install -Dm0644 reaction.fish %{buildroot}%{fish_completions_dir}/reaction.fish popd install -Dm0644 packaging/reaction.service %{buildroot}%{_unitdir}/reaction.service install -Dm0644 packaging/system-reaction.slice %{buildroot}%{_unitdir}/system-reaction.slice %files %license LICENSE %doc README.md %{_bindir}/reaction %{_bindir}/reaction-plugin-* %{_mandir}/man1/reaction*.1* %{_unitdir}/reaction.service %{_unitdir}/system-reaction.slice %{bash_completions_dir}/reaction %{fish_completions_dir}/reaction.fish %changelog * Sun Jul 12 2026 Patrick Laimbock - 2.5.1-1 - initial release of v2.5.1 for f44