%global debug_package %{nil}
%global _enable_debug_packages 0

Name:           AcTrail
Version:        0.2.0
Release:        1
Summary:        System-level observability toolchain for AI agent action trails
License:        MulanPSL-2.0
URL:            https://gitcode.com/openeuler/AcTrail
Source0:        %{name}-%{version}.tar.gz

BuildRequires:  cargo rustc gcc make
BuildRequires:  clang llvm bpftool
BuildRequires:  libbpf libbpf-devel
BuildRequires:  elfutils-devel zlib-devel pkgconf-pkg-config

%description
AcTrail is a Linux system-level observability toolchain for AI agents. It
captures process, network, file, IPC, payload, HTTP semantic events, and
resource samples, then turns raw runtime events into trusted action trails.
It provides a collection daemon, a control CLI, a CLI viewer, and a read-only
Web UI.

%prep
%autosetup -n %{name}-%{version}

%build
export ACTRAILWEB_PREBUILT_ASSETS_DIR="$(pwd)/crates/apps/web/frontend/dist"
test -f "$ACTRAILWEB_PREBUILT_ASSETS_DIR/index.html"
test -f "$ACTRAILWEB_PREBUILT_ASSETS_DIR/assets/app.css"
test -f "$ACTRAILWEB_PREBUILT_ASSETS_DIR/assets/app.js"

cargo build --release --locked --bin actraild --bin actrailctl --bin actrailviewer --bin actrailweb --bin ebpf_probe
cargo build --release --locked -p tls_payload_probe_sync

%install
install -d -m 0755 %{buildroot}%{_bindir}
install -m 0755 target/release/actraild %{buildroot}%{_bindir}/actraild
install -m 0755 target/release/actrailctl %{buildroot}%{_bindir}/actrailctl
install -m 0755 target/release/actrailviewer %{buildroot}%{_bindir}/actrailviewer
install -m 0755 target/release/actrailweb %{buildroot}%{_bindir}/actrailweb
install -m 0755 target/release/ebpf_probe %{buildroot}%{_bindir}/ebpf_probe
install -m 0755 target/release/libactrail_tls_payload_probe_sync.so %{buildroot}%{_bindir}/libactrail_tls_payload_probe_sync.so

%files
%license LICENSE
%doc README.md
%doc docs/quick-start.md
%doc docs/usage.md
%doc docs/deployment.md
%doc docs/platform-requirements.md
%{_bindir}/actraild
%{_bindir}/actrailctl
%{_bindir}/actrailviewer
%{_bindir}/actrailweb
%{_bindir}/ebpf_probe
%{_bindir}/libactrail_tls_payload_probe_sync.so

%changelog
* Fri Jun 12 2026 yaozhenhe <yaozhenhe@huawei.com> - 0.2.0-1
- Use prebuilt actrailweb frontend assets packaged in Source0 during RPM builds

* Wed Jun 10 2026 yaozhenhe <yaozhenhe@huawei.com> - 0.1.2-1
- Use checked-in actrailweb frontend assets during RPM builds

* Wed Jun 03 2026 yaozhenhe <yaozhenhe@huawei.com> - 0.1.0-1
- Initial RPM package