chore: Add scx-scheds spec file

This commit is contained in:
Kyle Gospodnetich 2024-07-29 11:42:30 -07:00
parent 18214f6cb8
commit d39400c3a6

View File

@ -0,0 +1,57 @@
%define commit d4a5a629ffc5d01768f6052b1156c9b0479d0f70
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global build_timestamp %(date +"%Y%m%d")
%global rel_build git.%{build_timestamp}.%{shortcommit}%{?dist}
%define _disable_source_fetch 0
Name: scx-scheds
Version: 1.0.1
Release: %{rel_build}
Summary: Sched_ext Schedulers and Tools
License: GPL=2.0
URL: https://github.com/sched-ext/scx
Source0: %{URL}/archive/%{commit}.tar.gz
BuildRequires: gcc
BuildRequires: git
BuildRequires: meson >= 1.2
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
Requires: elfutils-libelf
Requires: zlib
Requires: jq
%description
sched_ext is a Linux kernel feature which enables implementing kernel thread schedulers in BPF and dynamically loading them. This repository contains various scheduler implementations and support utilities.
%prep
%autosetup -n scx-%{commit}
%build
%meson \
-Dsystemd=enabled \
-Dopenrc=disabled \
-Dlibalpm=disabled
%meson_build
%install
%meson_install
%files
%{_bindir}/*
%{_prefix}/lib/systemd/system/scx.service
%attr(0644,root,root) %config(noreplace) %{_sysconfdir}/default/scx
%{_sysconfdir}/systemd/journald@sched-ext.conf