%global _default_patch_fuzz 2 %global commitdate 20260607 %global commit 62f23c03320cc92cbb3ab5dca59100c843960bde %global revision 1 %global shortcommit %(c=%{commit}; echo ${c:0:7}) %define _disable_source_fetch 0 %if 0%{?rhel} %global debug_package %{nil} %endif Name: scx-scheds-git Version: 1.0.0.%{commitdate}.%{revision}.git.%{shortcommit} Release: 1%{?dist} Summary: tu wpisz opis License: GPL=2.0 URL: https://github.com/PawelKnapp/scx-throughput Source0: %{URL}/archive/%{commit}/scx-%{commit}.tar.gz BuildRequires: gcc BuildRequires: git BuildRequires: python BuildRequires: cargo BuildRequires: rust BuildRequires: clang >= 17 BuildRequires: llvm >= 17 BuildRequires: lld >= 17 BuildRequires: elfutils-libelf BuildRequires: elfutils-libelf-devel BuildRequires: zlib BuildRequires: jq BuildRequires: jq-devel BuildRequires: systemd BuildRequires: bpftool BuildRequires: protobuf-compiler BuildRequires: libseccomp-devel Requires: elfutils-libelf Requires: libseccomp Requires: protobuf Requires: zlib Requires: jq %description scx-throughput is a custom eBPF CPU scheduler for Linux utilizing the sched-ext framework. Built in Rust using scx_rustland_core, it focuses on optimizing process throughput metrics by delegating scheduling decisions to user-space. %prep %autosetup -p1 -n scx-%{commit} %build export CARGO_HOME=%{_builddir}/.cargo cargo fetch --locked cargo build \ --release \ --frozen \ --all-features %install # Install all built executables (skip .so and .d files) find target/release \ -maxdepth 1 -type f -executable ! -name '*.so' \ -exec install -Dm755 -t %{buildroot}%{_bindir} {} + %files # Binaries %{_bindir}/*