%global debug_package %{nil} %global gittag v2.5.1 %global version %(g=%{gittag}; echo ${g:1}) Name: reaction Version: %{version} Release: 2%{?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 Source1: reaction.yml # 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 # rebased Patch1: 0001-ipset-fix-CIDR-for-IPv6-addresses.patch # Patch2: 5f783cba9ac2712635ce8da63bc448f6f91c955d.patch # https://github.com/alpinelinux/aports/commit/51cf3ed94bb1cd1835dc100f35301a665e00b82e Patch3: bindgen-0.72.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 cp -v %{S:1} . %build #%%configure #%%make_build cargo build --locked --release pushd plugins 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 install -Dm0644 reaction.yml %{buildroot}%{_sysconfdir}/reaction/reaction.yml %files %license LICENSE %doc README.md config/README.md config/example.jsonnet config/example.yml %{_bindir}/reaction %{_sysconfdir}/reaction/reaction.yml %{_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-2 - add reaction.yml config - add rebased https://framagit.org/ppom/reaction/-/merge_requests/36 - add bindgen-0.72.patch because - https://github.com/alpinelinux/aports/commit/51cf3ed94bb1cd1835dc100f35301a665e00b82e - https://github.com/lazytiger/ipset/pull/21 - add https://framagit.org/ppom/reaction/-/commit/5f783cba9ac2712635ce8da63bc448f6f91c955d * Sun Jul 12 2026 Patrick Laimbock - 2.5.1-1 - initial release of v2.5.1 for f44