%global runnerlibdir %{_prefix}/lib/runner-framework %global runnersharedir %{_datadir}/runner Name: samestack Version: 0.1.0 Release: 1%{?dist} Summary: Deterministic automation engine for real-time workloads License: GPL-2.0-or-later URL: https://gitlab.com/redhat-kernel-rts/samestack Source0: %{url}/-/archive/%{version}/%{name}-%{version}.tar.gz BuildArch: noarch BuildRequires: make BuildRequires: python3-build BuildRequires: python3-devel BuildRequires: python3-pip BuildRequires: python3-setuptools BuildRequires: python3-wheel BuildRequires: python3dist(pyyaml) Requires: python3 Requires: python3dist(pyyaml) %description Runner Framework executes declarative workload definitions deterministically. It installs the reusable runner modules, YAML examples, and pre-generated system sequences that SameStack and other tooling consume. %prep %autosetup -n samestack-%{version} %build # Runner is pure Python; the Makefile handles staging during install. %install rm -rf %{buildroot} pushd runner make \ DESTDIR=%{buildroot} \ PREFIX=%{_prefix} \ PYTHON=%{python3} \ SYSTEM_YAML_DIR=%{_sysconfdir}/runner \ RUNNER_LIB_DIR=%{runnerlibdir} \ RUNNER_SHARE_DIR=%{runnersharedir} \ install # Generate system sequences inside the RPM payload install -d %{buildroot}%{runnerlibdir}/system-sequences PYTHONPATH=%{buildroot}%{python3_sitelib}:$PYTHONPATH \ RUNNER_FRAMEWORK_DIR=%{buildroot}%{python3_sitelib} \ RUNNER_SYSTEM_SEQUENCE_DIR=%{buildroot}%{runnerlibdir}/system-sequences \ python3 -m runner --generate-runner-sequences popd %check # Optional: uncomment when tests land. # PYTHONPATH=%{buildroot}%{python3_sitelib} \ # RUNNER_FRAMEWORK_DIR=%{buildroot}%{python3_sitelib} \ # python3 -m runner --list %files %license LICENSE %doc README.md runner/docs/*.rst %{_bindir}/runner %{_bindir}/test_runner %dir %{_sysconfdir}/runner %dir %{_sysconfdir}/runner/rteval %{_sysconfdir}/runner/rteval/*.yaml %dir %{_sysconfdir}/runner/rteval/test_config_examples %dir %{_sysconfdir}/runner/rteval/test_config_examples/rteval-runner %{_sysconfdir}/runner/rteval/test_config_examples/rteval-runner/*.yaml %dir %{runnerlibdir} %dir %{runnerlibdir}/system-sequences %dir %{runnerlibdir}/system-sequences/rteval %{runnerlibdir}/system-sequences/*/*-seq.yaml %{python3_sitelib}/application_runner.py %{python3_sitelib}/rteval_runner.py %{python3_sitelib}/runner.py %{python3_sitelib}/test_runner.py %{python3_sitelib}/__pycache__/ %{python3_sitelib}/runner_framework-%{version}.dist-info/ %dir %{runnersharedir} %dir %{runnersharedir}/yaml_examples %dir %{runnersharedir}/yaml_examples/rteval %{runnersharedir}/yaml_examples/rteval/*.yaml %dir %{runnersharedir}/yaml_examples/rteval/test_config_examples %dir %{runnersharedir}/yaml_examples/rteval/test_config_examples/rteval-runner %{runnersharedir}/yaml_examples/rteval/test_config_examples/rteval-runner/*.yaml %changelog * Thu Feb 20 2025 William Christopher White - 0.1.0-1 - Initial packaging pass for runner-framework (SameStack integration to follow)