%define _debugsource_template %{nil} %define debug_package %{nil} Name: scx-scheds Epoch: 1 Version: 1.1.3 Release: 1%{?dist} Summary: sched_ext schedulers and tools License: GPL-2.0-only URL: https://github.com/sched-ext/scx Source0: https://github.com/sched-ext/scx/archive/refs/tags/v%{version}.tar.gz#/%{name}-%{version}.tar.gz ExclusiveArch: x86_64 aarch64 BuildRequires: bash BuildRequires: cargo >= 1.82 BuildRequires: rust >= 1.82 BuildRequires: gcc BuildRequires: make BuildRequires: python3 BuildRequires: clang >= 17 BuildRequires: clang-devel BuildRequires: llvm >= 17 BuildRequires: llvm-devel BuildRequires: lld >= 17 BuildRequires: bpftool BuildRequires: pkgconf-pkg-config BuildRequires: libbpf-devel BuildRequires: elfutils-libelf-devel BuildRequires: zlib-devel BuildRequires: libzstd-devel BuildRequires: libseccomp-devel BuildRequires: protobuf-devel BuildRequires: protobuf-compiler BuildRequires: openssl-devel BuildRequires: jq Requires: bash Requires: bpftool Requires: jq Requires: scx-tools Requires: elfutils-libelf Requires: libseccomp Requires: protobuf Requires: zlib Requires: libzstd Conflicts: scx-scheds-git Conflicts: scx_layered Conflicts: scx_rustland Conflicts: scx_rusty Conflicts: rust-scx_utils-devel Provides: scx_layered = %{version}-%{release} Provides: scx_rustland = %{version}-%{release} Provides: scx_rusty = %{version}-%{release} Provides: rust-scx_utils-devel = %{version}-%{release} %global sched_bins scx_beerland scx_bpfland scx_cake scx_chaos scx_cosmos scx_flash scx_lavd scx_layered scx_p2dq scx_pandemonium scx_rustland scx_rusty scx_tickless scxtop scx-forge-agent %description scx-scheds provides Rust sched_ext scheduler implementations and scxtop from sched-ext/scx. sched_ext lets users load BPF-based CPU schedulers dynamically on kernels built with CONFIG_SCHED_CLASS_EXT. %prep %autosetup -n scx-%{version} rm -f rust-toolchain.toml %build export CARGO_HOME="$PWD/.cargo-home" export RUSTFLAGS="%{?build_rustflags}" export LIBCLANG_PATH=%{_libdir} export LIBBPF_SYS_USE_PKG_CONFIG=1 export BPF_CLANG=clang cargo fetch --locked cargo build --release --frozen --all-features --workspace \ --exclude scx_rlfifo \ --exclude scx_mitosis \ --exclude xtask \ --exclude scx_characterize \ --exclude vmlinux_docify \ --exclude scx_arena_selftests %install find target/release \ -maxdepth 1 \ -type f \ -executable \ ! -name '*.so' \ ! -name '*.d' \ -exec install -Dpm 0755 -t %{buildroot}%{_bindir} {} + %check for bin in %{sched_bins}; do test -x "%{buildroot}%{_bindir}/${bin}" done %files %license LICENSE %doc README.md CARGO_BUILD.md INSTALL.md OVERVIEW.md %{_bindir}/scx_* %{_bindir}/scxtop %{_bindir}/scx-forge-agent %changelog * Mon Aug 24 2026 sachesi - 1.1.3-1 - Update to 1.1.3. * Mon Jul 06 2026 sachesi - 1.1.2-2 - Fix build failure: upstream renamed the tools/scxcash workspace member to tools/scx_characterize in 1.1.2, so --exclude scxcash no longer matched any workspace package and cargo build failed. Exclude scx_characterize instead. * Fri Jul 03 2026 sachesi - 1.1.2-1 - Update to 1.1.2. * Tue Jun 09 2026 sachesi - 1:1.1.1-2 - Remove scx_wd40 from sched_bins, dropped upstream in 1.1.1. * Mon Jun 08 2026 sachesi - 1:1.1.1-1 - Update to 1.1.1. * Sat Jun 06 2026 sachesi - 1:1.1.0-2 - Build the full cargo workspace with --all-features, excluding non-shipped crates (scx_rlfifo, scx_mitosis, xtask, scxcash, vmlinux_docify, scx_arena_selftests), instead of a hand-maintained -p list. Adds scx_wd40. - Install all built executables from target/release. - Require scx-tools so the loader service is always available. * Tue Jun 02 2026 sachesi - 1:1.1.0-1 - Downgrade to 1.1.0. The 1.1.1 BPF objects are synced to kernel sched_ext for-7.1 and are rejected at load on 7.0 kernels ("Failed to load BPF program", EINVAL). 1.1.0 targets the stable 6.12+ ABI and loads on current Fedora kernels. - Add Epoch to supersede the previously shipped 1.1.1. * Tue May 26 2026 sachesi - 1.1.1-1 - Update to 1.1.1. * Tue May 05 2026 sachesi - 1.1.0-4 - Default to online build (--without vendored). Set enable_net=True in Copr. * Sun Apr 26 2026 sachesi - 1.1.0-3 - Recreate packaging with default vendored COPR mode and local online build support * Sun Apr 26 2026 sachesi - 1.1.0-2 - Make check deterministic by verifying installed binaries * Sun Apr 26 2026 sachesi - 1.1.0-1 - Initial RPM package for scx-scheds 1.1.0