Architecture specific change in rpms/lmms.git
by githook-noreply@fedoraproject.org
The package rpms/lmms.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/lmms.git/commit/?id=97bdad56f3132....
Change:
-%ifarch %ix86
Thanks.
Full change:
============
commit 97bdad56f31325b65f5e174fd55a7b0e0fb35db1
Author: Sérgio M. Basto <sergio(a)serjux.com>
Date: Thu Jan 25 01:08:31 2024 +0000
Disable wine vst due to libwine.so.1 being removed in wine version 8.3
See https://bugs.winehq.org/show_bug.cgi?id=54635 and https://github.com/LMMS/lmms/issues/6672
(copied from https://build.opensuse.org/package/view_file/openSUSE:Backports:SLE-15-SP...)
diff --git a/lmms-1.2.2_winelib.patch b/lmms-1.2.2_winelib.patch
index 6fc4df0..356e4d3 100644
--- a/lmms-1.2.2_winelib.patch
+++ b/lmms-1.2.2_winelib.patch
@@ -6,7 +6,7 @@ diff -up lmms/cmake/modules/FindWine.cmake.orig lmms/cmake/modules/FindWine.cmak
FIND_PATH(WINE_INCLUDE_DIR windows/windows.h PATH_SUFFIXES wine wine/wine)
-FIND_LIBRARY(WINE_LIBRARY NAMES wine PATH_SUFFIXES wine i386-linux-gnu/wine)
-+FIND_LIBRARY(WINE_LIBRARY NAMES wine libwine.so.1 PATH_SUFFIXES wine i386-linux-gnu/wine wine/i386-unix)
++FIND_LIBRARY(WINE_LIBRARY NAMES wine PATH_SUFFIXES wine i386-linux-gnu/wine wine/i386-unix)
FIND_PROGRAM(WINE_CXX NAMES wineg++ winegcc winegcc64 winegcc32)
set(WINE_INCLUDE_DIRS ${WINE_INCLUDE_DIR} )
diff --git a/lmms.spec b/lmms.spec
index b05cff0..c4bb316 100644
--- a/lmms.spec
+++ b/lmms.spec
@@ -1,3 +1,10 @@
+
+%ifarch %ix86
+%bcond_with wine
+%else
+%bcond_with wine
+%endif
+
Name: lmms
Version: 1.2.2
Release: 15%{?dist}
@@ -79,7 +86,7 @@ BuildRequires: libappstream-glib
Requires: shared-mime-info
Requires: hicolor-icon-theme
-%ifarch %ix86
+%if %{with wine}
BuildRequires: wine-devel
%endif
@@ -94,7 +101,8 @@ Requires: ladspa-calf-plugins
# the -vst subpackage can only be built on ix86, but is also usable
# (and thus should be installed) on x86_64.
-%ifarch %ix86 x86_64
+#ifarch #ix86 x86_64
+%if %{with wine}
Requires: %{name}-vst = %{version}-%{release}
%endif
@@ -206,7 +214,7 @@ appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/*.metainfo.xml
%{_includedir}/%{name}
-%ifarch %ix86
+%if %{with wine}
%package vst
Summary: VST hosting plugin for %{name}
@@ -224,6 +232,9 @@ This package contains the necessary files to host VST plugins.
%changelog
* Sun Jan 21 2024 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.2.2-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
+- Disable wine vst due to libwine.so.1 being removed in wine version 8.3
+ see https://bugs.winehq.org/show_bug.cgi?id=54635 and https://github.com/LMMS/lmms/issues/6672
+ (copied from https://build.opensuse.org/package/view_file/openSUSE:Backports:SLE-15-SP...)
* Thu Jul 20 2023 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.2.2-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
commit f53732c8dc45e839ae77cd179f6d82a4d3f91fdd
Author: Fedora Release Engineering <releng(a)fedoraproject.org>
Date: Sun Jan 21 06:07:39 2024 +0000
Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
diff --git a/lmms.spec b/lmms.spec
index 1216e6b..b05cff0 100644
--- a/lmms.spec
+++ b/lmms.spec
@@ -1,6 +1,6 @@
Name: lmms
Version: 1.2.2
-Release: 14%{?dist}
+Release: 15%{?dist}
Summary: Linux MultiMedia Studio
URL: https://lmms.io/
@@ -222,6 +222,9 @@ This package contains the necessary files to host VST plugins.
%changelog
+* Sun Jan 21 2024 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.2.2-15
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
+
* Thu Jul 20 2023 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.2.2-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
commit 34b9ee18fef4a5ba3aebe12555e7e12e0a2c02c7
Author: Fedora Release Engineering <releng(a)fedoraproject.org>
Date: Thu Jul 20 12:57:41 2023 +0000
Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng(a)fedoraproject.org>
diff --git a/lmms.spec b/lmms.spec
index 9a1d4b5..1216e6b 100644
--- a/lmms.spec
+++ b/lmms.spec
@@ -1,6 +1,6 @@
Name: lmms
Version: 1.2.2
-Release: 13%{?dist}
+Release: 14%{?dist}
Summary: Linux MultiMedia Studio
URL: https://lmms.io/
@@ -222,6 +222,9 @@ This package contains the necessary files to host VST plugins.
%changelog
+* Thu Jul 20 2023 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.2.2-14
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
+
* Thu Jan 19 2023 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.2.2-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
3 months, 2 weeks
Architecture specific change in rpms/lmms.git
by githook-noreply@fedoraproject.org
The package rpms/lmms.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/lmms.git/commit/?id=97bdad56f3132....
Change:
-%ifarch %ix86
Thanks.
Full change:
============
commit 97bdad56f31325b65f5e174fd55a7b0e0fb35db1
Author: Sérgio M. Basto <sergio(a)serjux.com>
Date: Thu Jan 25 01:08:31 2024 +0000
Disable wine vst due to libwine.so.1 being removed in wine version 8.3
See https://bugs.winehq.org/show_bug.cgi?id=54635 and https://github.com/LMMS/lmms/issues/6672
(copied from https://build.opensuse.org/package/view_file/openSUSE:Backports:SLE-15-SP...)
diff --git a/lmms-1.2.2_winelib.patch b/lmms-1.2.2_winelib.patch
index 6fc4df0..356e4d3 100644
--- a/lmms-1.2.2_winelib.patch
+++ b/lmms-1.2.2_winelib.patch
@@ -6,7 +6,7 @@ diff -up lmms/cmake/modules/FindWine.cmake.orig lmms/cmake/modules/FindWine.cmak
FIND_PATH(WINE_INCLUDE_DIR windows/windows.h PATH_SUFFIXES wine wine/wine)
-FIND_LIBRARY(WINE_LIBRARY NAMES wine PATH_SUFFIXES wine i386-linux-gnu/wine)
-+FIND_LIBRARY(WINE_LIBRARY NAMES wine libwine.so.1 PATH_SUFFIXES wine i386-linux-gnu/wine wine/i386-unix)
++FIND_LIBRARY(WINE_LIBRARY NAMES wine PATH_SUFFIXES wine i386-linux-gnu/wine wine/i386-unix)
FIND_PROGRAM(WINE_CXX NAMES wineg++ winegcc winegcc64 winegcc32)
set(WINE_INCLUDE_DIRS ${WINE_INCLUDE_DIR} )
diff --git a/lmms.spec b/lmms.spec
index b05cff0..c4bb316 100644
--- a/lmms.spec
+++ b/lmms.spec
@@ -1,3 +1,10 @@
+
+%ifarch %ix86
+%bcond_with wine
+%else
+%bcond_with wine
+%endif
+
Name: lmms
Version: 1.2.2
Release: 15%{?dist}
@@ -79,7 +86,7 @@ BuildRequires: libappstream-glib
Requires: shared-mime-info
Requires: hicolor-icon-theme
-%ifarch %ix86
+%if %{with wine}
BuildRequires: wine-devel
%endif
@@ -94,7 +101,8 @@ Requires: ladspa-calf-plugins
# the -vst subpackage can only be built on ix86, but is also usable
# (and thus should be installed) on x86_64.
-%ifarch %ix86 x86_64
+#ifarch #ix86 x86_64
+%if %{with wine}
Requires: %{name}-vst = %{version}-%{release}
%endif
@@ -206,7 +214,7 @@ appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/*.metainfo.xml
%{_includedir}/%{name}
-%ifarch %ix86
+%if %{with wine}
%package vst
Summary: VST hosting plugin for %{name}
@@ -224,6 +232,9 @@ This package contains the necessary files to host VST plugins.
%changelog
* Sun Jan 21 2024 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.2.2-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
+- Disable wine vst due to libwine.so.1 being removed in wine version 8.3
+ see https://bugs.winehq.org/show_bug.cgi?id=54635 and https://github.com/LMMS/lmms/issues/6672
+ (copied from https://build.opensuse.org/package/view_file/openSUSE:Backports:SLE-15-SP...)
* Thu Jul 20 2023 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.2.2-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
commit f53732c8dc45e839ae77cd179f6d82a4d3f91fdd
Author: Fedora Release Engineering <releng(a)fedoraproject.org>
Date: Sun Jan 21 06:07:39 2024 +0000
Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
diff --git a/lmms.spec b/lmms.spec
index 1216e6b..b05cff0 100644
--- a/lmms.spec
+++ b/lmms.spec
@@ -1,6 +1,6 @@
Name: lmms
Version: 1.2.2
-Release: 14%{?dist}
+Release: 15%{?dist}
Summary: Linux MultiMedia Studio
URL: https://lmms.io/
@@ -222,6 +222,9 @@ This package contains the necessary files to host VST plugins.
%changelog
+* Sun Jan 21 2024 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.2.2-15
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
+
* Thu Jul 20 2023 Fedora Release Engineering <releng(a)fedoraproject.org> - 1.2.2-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
3 months, 2 weeks
Architecture specific change in rpms/rust-scx_layered.git
by githook-noreply@fedoraproject.org
The package rpms/rust-scx_layered.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/rust-scx_layered.git/commit/?id=e....
Change:
+ExcludeArch: %{ix86}
Thanks.
Full change:
============
commit ebaa89699982d3c5d07ccc569d3653d4ceb6fd07
Author: Jordan Rome <jordalgo(a)fedoraproject.org>
Date: Sat Jan 20 16:26:32 2024 -0500
Added sources, spec file, and rust2rpm.toml
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..b6acf52
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/scx_layered-0.0.4.crate
diff --git a/README.md b/README.md
index 643396a..36ac215 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,33 @@
# rust-scx_layered
-The rust-scx_layered package
+This is a single user-defined scheduler used within [sched_ext](https://github.com/sched-ext/scx/tree/main), which is a Linux kernel feature which enables implementing kernel thread schedulers in BPF and dynamically loading them. [Read more about sched_ext](https://github.com/sched-ext/scx/tree/main).
+
+## Overview
+
+A highly configurable multi-layer BPF / user space hybrid scheduler.
+
+scx_layered allows the user to classify tasks into multiple layers, and apply
+different scheduling policies to those layers. For example, a layer could be
+created of all tasks that are part of the `user.slice` cgroup slice, and a
+policy could be specified that ensures that the layer is given at least 80% CPU
+utilization for some subset of CPUs on the system.
+
+## Typical Use Case
+
+scx_layered is designed to be highly customizable, and can be targeted for
+specific applications. For example, if you had a high-priority service that
+required priority access to all but 1 physical core to ensure acceptable p99
+latencies, you could specify that the service would get priority access to all
+but 1 core on the system. If that service ends up not utilizing all of those
+cores, they could be used by other layers until they're needed.
+
+## Production Ready?
+
+Yes. If tuned correctly, scx_layered should be performant across various CPU
+architectures and workloads.
+
+That said, you may run into an issue with infeasible weights, where a task with
+a very high weight may cause the scheduler to incorrectly leave cores idle
+because it thinks they're necessary to accommodate the compute for a single
+task. This can also happen in CFS, and should soon be addressed for
+scx_layered.
diff --git a/rust-scx_layered.spec b/rust-scx_layered.spec
new file mode 100644
index 0000000..958756a
--- /dev/null
+++ b/rust-scx_layered.spec
@@ -0,0 +1,75 @@
+# Generated by rust2rpm 25
+%bcond_without check
+
+%global crate scx_layered
+
+Name: rust-scx_layered
+Version: 0.0.4
+Release: %autorelease
+Summary: Configurable multi-layer BPF / user space hybrid scheduler
+
+License: GPL-2.0-only
+URL: https://crates.io/crates/scx_layered
+Source: %{crates_source}
+
+BuildRequires: cargo-rpm-macros >= 24
+ExcludeArch: %{ix86}
+
+%global _description %{expand:
+A highly configurable multi-layer BPF / user space hybrid scheduler
+used within sched_ext, which is a Linux kernel feature which enables
+implementing kernel thread schedulers in BPF and dynamically loading
+them. https://github.com/sched-ext/scx/tree/main}
+
+%description %{_description}
+
+%package -n %{crate}
+Summary: %{summary}
+# (MIT OR Apache-2.0) AND Unicode-DFS-2016
+# Apache-2.0
+# Apache-2.0 OR BSL-1.0
+# Apache-2.0 OR MIT
+# Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
+# BSD-2-Clause
+# BSD-3-Clause
+# BSD-3-Clause OR MIT OR Apache-2.0
+# GPL-2.0-only
+# ISC
+# LGPL-2.1-only OR BSD-2-Clause
+# MIT
+# MIT OR Apache-2.0
+# Unlicense OR MIT
+# Zlib
+License: GPL-2.0-only AND (MIT OR Apache-2.0) AND Unicode-DFS-2016 AND Apache-2.0 AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND BSD-2-Clause AND BSD-3-Clause AND (BSD-3-Clause OR MIT OR Apache-2.0) AND ISC AND (LGPL-2.1-only OR BSD-2-Clause) AND MIT AND (Unlicense OR MIT) AND Zlib
+# LICENSE.dependencies contains a full license breakdown
+
+%description -n %{crate} %{_description}
+
+%files -n %{crate}
+%license LICENSE
+%license LICENSE.dependencies
+%doc README.md
+%{_bindir}/scx_layered
+
+%prep
+%autosetup -n %{crate}-%{version} -p1
+%cargo_prep
+
+%generate_buildrequires
+%cargo_generate_buildrequires
+
+%build
+%cargo_build
+%{cargo_license_summary}
+%{cargo_license} > LICENSE.dependencies
+
+%install
+%cargo_install
+
+%if %{with check}
+%check
+%cargo_test
+%endif
+
+%changelog
+%autochangelog
diff --git a/rust2rpm.toml b/rust2rpm.toml
new file mode 100644
index 0000000..f0cc2ab
--- /dev/null
+++ b/rust2rpm.toml
@@ -0,0 +1,7 @@
+[package]
+summary = "Configurable multi-layer BPF / user space hybrid scheduler"
+description = """
+A highly configurable multi-layer BPF / user space hybrid scheduler
+used within sched_ext, which is a Linux kernel feature which enables
+implementing kernel thread schedulers in BPF and dynamically loading
+them. https://github.com/sched-ext/scx/tree/main"""
diff --git a/sources b/sources
new file mode 100644
index 0000000..e2dfcd5
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+SHA512 (scx_layered-0.0.4.crate) = f3dc8b21a996e4f89b51d1b183df559f5c960cd453469eb07fc0b51e0b531b5f85aea8bea80043962c7a8af0859b3f0de08eb7f55799a7dd99ff1dbad91de3f7
3 months, 2 weeks
Architecture specific change in rpms/rust-scx_rustland.git
by githook-noreply@fedoraproject.org
The package rpms/rust-scx_rustland.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/rust-scx_rustland.git/commit/?id=....
Change:
+ExcludeArch: %{ix86}
Thanks.
Full change:
============
commit fd3baef6b2d2235737eeac3e89f0a20c1de535a1
Author: Jordan Rome <jordalgo(a)fedoraproject.org>
Date: Sat Jan 20 18:15:13 2024 -0500
Added sources, spec file, and rust2rpm.toml
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..cc89407
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/scx_rustland-0.0.2.crate
diff --git a/README.md b/README.md
index ede4810..20320f9 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,47 @@
# rust-scx_rustland
-The rust-scx_rustland package
+This is a single user-defined scheduler used within [sched_ext](https://github.com/sched-ext/scx/tree/main), which is a Linux kernel feature which enables implementing kernel thread schedulers in BPF and dynamically loading them. [Read more about sched_ext](https://github.com/sched-ext/scx/tree/main).
+
+## Overview
+
+scx_rustland is made of a BPF component (dispatcher) that implements the low
+level sched-ext functionalities and a user-space counterpart (scheduler),
+written in Rust, that implements the actual scheduling policy.
+
+The BPF dispatcher is completely agnostic of the particular scheduling policy
+implemented in user-space. For this reason developers that are willing to use
+this scheduler to experiment scheduling policies should be able to simply
+modify the Rust component, without having to deal with any internal kernel /
+BPF details.
+
+## Typical Use Case
+
+scx_rustland is designed to be "easy to read" template that can be used by any
+developer to quickly experiment more complex scheduling policies, that can be
+fully implemented in Rust.
+
+## Production Ready?
+
+Not quite. For production scenarios, other schedulers are likely to exhibit
+better performance, as offloading all scheduling decisions to user-space comes
+with a certain cost.
+
+However, a scheduler entirely implemented in user-space holds the potential for
+seamless integration with sophisticated libraries, tracing tools, external
+services (e.g., AI), etc. Hence, there might be situations where the benefits
+outweigh the overhead, justifying the use of this scheduler in a production
+environment.
+
+## Demo
+
+[scx_rustland-terraria](https://github.com/sched-ext/scx/assets/1051723/42ec3bf2-9f1f-4403-80ab-bf5d66b7c2d5)
+
+For this demo the scheduler includes an extra patch to impose a "time slice
+penalty" on new short-lived tasks. While this approach might not be suitable
+for general usage, it can yield significant advantages in this specific
+scenario.
+
+The key takeaway is to demonstrate the ease and safety of conducting
+experiments like this, as we operate in user-space, and we can accomplish
+everything simply by modifying the Rust code, that is completely abstracted
+from the underlying BPF/kernel internal details.
diff --git a/rust-scx_rustland.spec b/rust-scx_rustland.spec
new file mode 100644
index 0000000..84258da
--- /dev/null
+++ b/rust-scx_rustland.spec
@@ -0,0 +1,78 @@
+# Generated by rust2rpm 25
+%bcond_without check
+
+%global crate scx_rustland
+
+Name: rust-scx_rustland
+Version: 0.0.2
+Release: %autorelease
+Summary: A simple user-space scheduler written in Rust
+
+License: GPL-2.0-only
+URL: https://crates.io/crates/scx_rustland
+Source: %{crates_source}
+
+BuildRequires: cargo-rpm-macros >= 24
+ExcludeArch: %{ix86}
+
+%global _description %{expand:
+A BPF component (dispatcher) that implements the low level
+sched-ext functionalities and a user-space counterpart (scheduler),
+written in Rust, that implements the actual scheduling policy.
+This is used within sched_ext, which is a Linux kernel feature
+which enables implementing kernel thread schedulers in BPF and
+dynamically loading them.
+https://github.com/sched-ext/scx/tree/main}
+
+%description %{_description}
+
+%package -n %{crate}
+Summary: %{summary}
+# (MIT OR Apache-2.0) AND Unicode-DFS-2016
+# Apache-2.0
+# Apache-2.0 OR BSL-1.0
+# Apache-2.0 OR MIT
+# Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
+# BSD-2-Clause
+# BSD-3-Clause
+# BSD-3-Clause OR MIT OR Apache-2.0
+# GPL-2.0-only
+# ISC
+# LGPL-2.1-only OR BSD-2-Clause
+# MIT
+# MIT OR Apache-2.0
+# Unlicense OR MIT
+# Zlib
+License: GPL-2.0-only AND (MIT OR Apache-2.0) AND Unicode-DFS-2016 AND Apache-2.0 AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND BSD-2-Clause AND BSD-3-Clause AND (BSD-3-Clause OR MIT OR Apache-2.0) AND ISC AND (LGPL-2.1-only OR BSD-2-Clause) AND MIT AND (Unlicense OR MIT) AND Zlib
+# LICENSE.dependencies contains a full license breakdown
+
+%description -n %{crate} %{_description}
+
+%files -n %{crate}
+%license LICENSE
+%license LICENSE.dependencies
+%doc README.md
+%{_bindir}/scx_rustland
+
+%prep
+%autosetup -n %{crate}-%{version} -p1
+%cargo_prep
+
+%generate_buildrequires
+%cargo_generate_buildrequires
+
+%build
+%cargo_build
+%{cargo_license_summary}
+%{cargo_license} > LICENSE.dependencies
+
+%install
+%cargo_install
+
+%if %{with check}
+%check
+%cargo_test
+%endif
+
+%changelog
+%autochangelog
diff --git a/rust2rpm.toml b/rust2rpm.toml
new file mode 100644
index 0000000..39ad0d9
--- /dev/null
+++ b/rust2rpm.toml
@@ -0,0 +1,10 @@
+[package]
+summary = "A simple user-space scheduler written in Rust"
+description = """
+A BPF component (dispatcher) that implements the low level
+sched-ext functionalities and a user-space counterpart (scheduler),
+written in Rust, that implements the actual scheduling policy.
+This is used within sched_ext, which is a Linux kernel feature
+which enables implementing kernel thread schedulers in BPF and
+dynamically loading them.
+https://github.com/sched-ext/scx/tree/main"""
diff --git a/sources b/sources
new file mode 100644
index 0000000..2959fd5
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+SHA512 (scx_rustland-0.0.2.crate) = 3cb988dd3a7ee6b5cbed2ce5e0f9d9145dc2636eaebce255b6c4109ce3f74fda230531ceb6175e89876df1f86912d95da73804b50910325675a9b700e9d63830
3 months, 2 weeks
Architecture specific change in rpms/rust-scx_rusty.git
by githook-noreply@fedoraproject.org
The package rpms/rust-scx_rusty.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/rust-scx_rusty.git/commit/?id=d7d....
Change:
+ExcludeArch: %{ix86}
Thanks.
Full change:
============
commit 928c29551781433294189d4f12a946fea7df6683
Author: Jordan Rome <jordalgo(a)fedoraproject.org>
Date: Sat Jan 20 15:12:44 2024 -0500
updated Readme
diff --git a/README.md b/README.md
index 99bfb46..46aa57c 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,33 @@
# rust-scx_rusty
-The rust-scx_rusty package
+This is a single user-defined scheduler used within [sched_ext](https://github.com/sched-ext/scx/tree/main), which is a Linux kernel feature which enables implementing kernel thread schedulers in BPF and dynamically loading them. [Read more about sched_ext](https://github.com/sched-ext/scx/tree/main).
+
+## Overview
+
+A multi-domain, BPF / user space hybrid scheduler. The BPF portion of the
+scheduler does a simple round robin in each domain, and the user space portion
+(written in Rust) calculates the load factor of each domain, and informs BPF of
+how tasks should be load balanced accordingly.
+
+## Typical Use Case
+
+Rusty is designed to be flexible, and accommodate different architectures and
+workloads. Various load balancing thresholds (e.g. greediness, frequenty, etc),
+as well as how Rusty should partition the system into scheduling domains, can
+be tuned to achieve the optimal configuration for any given system or workload.
+
+## Production Ready?
+
+Yes. If tuned correctly, rusty should be performant across various CPU
+architectures and workloads. Rusty by default creates a separate scheduling
+domain per-LLC, so its default configuration may be performant as well. Note
+however that scx_rusty does not yet disambiguate between LLCs in different NUMA
+nodes, so it may perform better on multi-CCX machines where all the LLCs share
+the same socket, as opposed to multi-socket machines.
+
+Note as well that you may run into an issue with infeasible weights, where a
+task with a very high weight may cause the scheduler to incorrectly leave cores
+idle because it thinks they're necessary to accommodate the compute for a
+single task. This can also happen in CFS, and should soon be addressed for
+scx_rusty.
+
commit d7d601e49846da04f3d536c198093e7e24ccf42b
Author: Jordan Rome <jordalgo(a)fedoraproject.org>
Date: Sat Jan 20 15:10:41 2024 -0500
Add sources, spec, and rust2rpm
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..0ea68d2
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/scx_rusty-0.5.3.crate
diff --git a/rust-scx_rusty.spec b/rust-scx_rusty.spec
new file mode 100644
index 0000000..146dd06
--- /dev/null
+++ b/rust-scx_rusty.spec
@@ -0,0 +1,75 @@
+# Generated by rust2rpm 25
+%bcond_without check
+
+%global crate scx_rusty
+
+Name: rust-scx_rusty
+Version: 0.5.3
+Release: %autorelease
+Summary: A multi-domain, BPF / user space hybrid scheduler
+
+License: GPL-2.0-only
+URL: https://crates.io/crates/scx_rusty
+Source: %{crates_source}
+
+BuildRequires: cargo-rpm-macros >= 24
+ExcludeArch: %{ix86}
+
+%global _description %{expand:
+A multi-domain, BPF / user space hybrid scheduler used within sched_ext,
+which is a Linux kernel feature which enables implementing kernel thread
+schedulers in BPF and dynamically loading them.
+https://github.com/sched-ext/scx/tree/main}
+
+%description %{_description}
+
+%package -n %{crate}
+Summary: %{summary}
+# (MIT OR Apache-2.0) AND Unicode-DFS-2016
+# Apache-2.0
+# Apache-2.0 OR BSL-1.0
+# Apache-2.0 OR MIT
+# Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
+# BSD-2-Clause
+# BSD-3-Clause
+# BSD-3-Clause OR MIT OR Apache-2.0
+# GPL-2.0-only
+# ISC
+# LGPL-2.1-only OR BSD-2-Clause
+# MIT
+# MIT OR Apache-2.0
+# Unlicense OR MIT
+# Zlib
+License: GPL-2.0-only AND (MIT OR Apache-2.0) AND Unicode-DFS-2016 AND Apache-2.0 AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND BSD-2-Clause AND BSD-3-Clause AND (BSD-3-Clause OR MIT OR Apache-2.0) AND ISC AND (LGPL-2.1-only OR BSD-2-Clause) AND MIT AND (Unlicense OR MIT) AND Zlib
+# LICENSE.dependencies contains a full license breakdown
+
+%description -n %{crate} %{_description}
+
+%files -n %{crate}
+%license LICENSE
+%license LICENSE.dependencies
+%doc README.md
+%{_bindir}/scx_rusty
+
+%prep
+%autosetup -n %{crate}-%{version} -p1
+%cargo_prep
+
+%generate_buildrequires
+%cargo_generate_buildrequires
+
+%build
+%cargo_build
+%{cargo_license_summary}
+%{cargo_license} > LICENSE.dependencies
+
+%install
+%cargo_install
+
+%if %{with check}
+%check
+%cargo_test
+%endif
+
+%changelog
+%autochangelog
diff --git a/rust2rpm.toml b/rust2rpm.toml
new file mode 100644
index 0000000..1c2f4d9
--- /dev/null
+++ b/rust2rpm.toml
@@ -0,0 +1,7 @@
+[package]
+summary = "A multi-domain, BPF / user space hybrid scheduler"
+description = """
+A multi-domain, BPF / user space hybrid scheduler used within sched_ext,
+which is a Linux kernel feature which enables implementing kernel thread
+schedulers in BPF and dynamically loading them.
+https://github.com/sched-ext/scx/tree/main"""
diff --git a/sources b/sources
new file mode 100644
index 0000000..45d871b
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+SHA512 (scx_rusty-0.5.3.crate) = e1e583918e7dc19b3d795e874cb0d323614387dcd3182124eedddd6b02999cc00a6a8ae7cdc614657abf45e1ffd974e262e2ca1ca1c4980a60dda2b385e9a92d
3 months, 2 weeks
Architecture specific change in rpms/rust-scx_utils.git
by githook-noreply@fedoraproject.org
The package rpms/rust-scx_utils.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/rust-scx_utils.git/commit/?id=d6f....
Change:
+ExcludeArch: %{ix86}
Thanks.
Full change:
============
commit ecca877e3e97513d7c743239514d3538aeabcd84
Author: Jordan Rome <jordalgo(a)fedoraproject.org>
Date: Wed Jan 17 11:28:24 2024 -0500
Updated to 0.5.0
diff --git a/.gitignore b/.gitignore
index 2ee3006..1e761d3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
/scx_utils-0.4.1.crate
+/scx_utils-0.5.0.crate
diff --git a/rust-scx_utils.spec b/rust-scx_utils.spec
index 84c3aae..323c2b7 100644
--- a/rust-scx_utils.spec
+++ b/rust-scx_utils.spec
@@ -5,16 +5,13 @@
%global crate scx_utils
Name: rust-scx_utils
-Version: 0.4.1
+Version: 0.5.0
Release: %autorelease
Summary: Utilities for sched_ext schedulers
License: GPL-2.0-only
URL: https://crates.io/crates/scx_utils
Source: %{crates_source}
-# The original patch required editing due to the different paths
-# in the rust crate: https://patch-diff.githubusercontent.com/raw/sched-ext/scx/pull/65.patch#...
-Patch: sched-ext-fix-mappings.patch
BuildRequires: cargo-rpm-macros >= 24
diff --git a/sources b/sources
index deb6c4c..f06a32f 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (scx_utils-0.4.1.crate) = 856971c5c7f882ff205ef30fa2f89d9e0554cc1a7a156550cb6d0c0577c8acf325223bea5070ddb3b3366a18f07833f2a0405acf0d589c548ddd7d28964dc6e3
+SHA512 (scx_utils-0.5.0.crate) = b1b72adee89cba8e22dd87b19359c5bbd093bb5895906cfa604a44944e0c23dba7002314b341eba9b612e22b170675e1046a62caded70d9ebbbf49cd3d0ee5da
commit d6fc166fb70cab68180366d7cac5025446b0e5be
Author: Jordan Rome <jordalgo(a)fedoraproject.org>
Date: Wed Jan 3 17:03:13 2024 -0500
add spec file and patch to fix builds
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..2ee3006
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/scx_utils-0.4.1.crate
diff --git a/rust-scx_utils.spec b/rust-scx_utils.spec
new file mode 100644
index 0000000..84c3aae
--- /dev/null
+++ b/rust-scx_utils.spec
@@ -0,0 +1,73 @@
+# Generated by rust2rpm 25
+%bcond_without check
+%global debug_package %{nil}
+
+%global crate scx_utils
+
+Name: rust-scx_utils
+Version: 0.4.1
+Release: %autorelease
+Summary: Utilities for sched_ext schedulers
+
+License: GPL-2.0-only
+URL: https://crates.io/crates/scx_utils
+Source: %{crates_source}
+# The original patch required editing due to the different paths
+# in the rust crate: https://patch-diff.githubusercontent.com/raw/sched-ext/scx/pull/65.patch#...
+Patch: sched-ext-fix-mappings.patch
+
+BuildRequires: cargo-rpm-macros >= 24
+
+%global _description %{expand:
+Utilities for sched_ext schedulers.}
+
+%description %{_description}
+
+%package devel
+Summary: %{summary}
+BuildArch: noarch
+ExcludeArch: %{ix86}
+
+%description devel %{_description}
+
+This package contains library source intended for building other packages which
+use the "%{crate}" crate.
+
+%files devel
+%license %{crate_instdir}/LICENSE
+%doc %{crate_instdir}/README.md
+%{crate_instdir}/
+
+%package -n %{name}+default-devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description -n %{name}+default-devel %{_description}
+
+This package contains library source intended for building other packages which
+use the "default" feature of the "%{crate}" crate.
+
+%files -n %{name}+default-devel
+%ghost %{crate_instdir}/Cargo.toml
+
+%prep
+%autosetup -n %{crate}-%{version} -p1
+%cargo_prep
+
+%generate_buildrequires
+%cargo_generate_buildrequires
+
+%build
+%cargo_build
+
+%install
+%cargo_install
+
+%if %{with check}
+%check
+# * skip failing test
+%cargo_test -- -- --skip bpf_builder::tests::test_vmlinux_h_ver_sha1
+%endif
+
+%changelog
+%autochangelog
diff --git a/sched-ext-fix-mappings.patch b/sched-ext-fix-mappings.patch
new file mode 100644
index 0000000..62e6d7e
--- /dev/null
+++ b/sched-ext-fix-mappings.patch
@@ -0,0 +1,39 @@
+From 6caf6c5c99cbb1a5cf80e2e7e606504740a4c0dc Mon Sep 17 00:00:00 2001
+From: Jordan Rome <linux(a)jordanrome.com>
+Date: Wed, 3 Jan 2024 10:50:33 -0800
+Subject: [PATCH] Add new archs for bpf_builder
+
+This is to fix fedora build failures for these archs:
+s390x and ppc64le
+
+Error:
+```
+---- bpf_builder::tests::test_bpf_builder_new stdout ----
+thread 'bpf_builder::tests::test_bpf_builder_new' panicked at src/bpf_builder.rs:592:9:
+Failed to create BpfBuilder (Err(CPU arch "s390x" not found in ARCH_MAP))
+```
+
+https://koji.fedoraproject.org/koji/taskinfo?taskID=111114326
+---
+ src/bpf_builder.rs | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/bpf_builder.rs b/src/bpf_builder.rs
+index d7faa41..0637924 100644
+--- a/src/bpf_builder.rs
++++ b/src/bpf_builder.rs
+@@ -24,12 +24,14 @@ lazy_static::lazy_static! {
+ ("x86", "x86"),
+ ("x86_64", "x86"),
+ ("s390", "s390"),
++ ("s390x", "s390"),
+ ("arm", "arm"),
+ ("aarch64", "arm64"),
+ ("mips", "mips"),
+ ("mips64", "mips"),
+ ("ppc32", "powerpc"),
+ ("ppc64", "powerpc"),
++ ("ppc64le", "powerpc"),
+ ("sparc", "sparc"),
+ ("sparcv9", "sparc"),
+ ("riscv32", "riscv"),
diff --git a/sources b/sources
new file mode 100644
index 0000000..deb6c4c
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+SHA512 (scx_utils-0.4.1.crate) = 856971c5c7f882ff205ef30fa2f89d9e0554cc1a7a156550cb6d0c0577c8acf325223bea5070ddb3b3366a18f07833f2a0405acf0d589c548ddd7d28964dc6e3
3 months, 2 weeks
Architecture specific change in rpms/python-mne.git
by githook-noreply@fedoraproject.org
The package rpms/python-mne.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/python-mne.git/commit/?id=93343a3....
Change:
+%ifarch s390x || ppc64le
Thanks.
Full change:
============
commit 93343a342b8b185d0a65f29928efc389138f8c71
Author: Sandro <devel(a)penguinpee.nl>
Date: Thu Jan 18 20:53:41 2024 +0100
Skip failing test on s390x and ppc64le
diff --git a/python-mne.spec b/python-mne.spec
index 0f97e44..6ed5cf9 100644
--- a/python-mne.spec
+++ b/python-mne.spec
@@ -184,6 +184,10 @@ mkdir subjects
k="${k-}${k+ and }not test_thresholds[NumPy]"
# FileNotFoundError (file 'test_eyelink.asc' not in repo):
k="${k-}${k+ and }not test_annotations_without_offset"
+%ifarch s390x || ppc64le
+# Test fails on s390x and ppc64le.
+k="${k-}${k+ and }not test_spectrum_complex[welch-False]"
+%endif
# https://github.com/mne-tools/mne-python/blob/v1.0.3/tools/github_actions_...
# skip tests that require network
commit 7146ff9a60af3986d9ab38e181a9c394443f9815
Author: Sandro <devel(a)penguinpee.nl>
Date: Thu Jan 18 19:12:21 2024 +0100
Migrate to SPDX license
diff --git a/python-mne.spec b/python-mne.spec
index e4296b6..0f97e44 100644
--- a/python-mne.spec
+++ b/python-mne.spec
@@ -26,7 +26,8 @@ Summary: Magnetoencephalography (MEG) and Electroencephalography (EEG) da
# https://github.com/fieldtrip/fieldtrip/blob/master/realtime/src/buffer/py...
# Not possible to package because it is matlab package with some plugins
-License: BSD
+# SPDX
+License: BSD-3-Clause
URL: http://martinos.org/mne/
commit b520803fa6652ea64ac7def1683b0a2999a878c5
Author: Sandro <devel(a)penguinpee.nl>
Date: Thu Jan 18 19:11:29 2024 +0100
Skip failing test
Required file is missing.
diff --git a/python-mne.spec b/python-mne.spec
index c936c99..e4296b6 100644
--- a/python-mne.spec
+++ b/python-mne.spec
@@ -181,6 +181,8 @@ mkdir subjects
# Hangs:
k="${k-}${k+ and }not test_thresholds[NumPy]"
+# FileNotFoundError (file 'test_eyelink.asc' not in repo):
+k="${k-}${k+ and }not test_annotations_without_offset"
# https://github.com/mne-tools/mne-python/blob/v1.0.3/tools/github_actions_...
# skip tests that require network
commit 37a8badc513accbc0622ca9c5bbd0a55a5fb22b6
Author: Sandro <devel(a)penguinpee.nl>
Date: Thu Jan 18 18:24:55 2024 +0100
Drop patches (merged upstream)
diff --git a/0001-BUG-Fix-bug-with-clip-box-setting-11999.patch b/0001-BUG-Fix-bug-with-clip-box-setting-11999.patch
deleted file mode 100644
index 48deef9..0000000
--- a/0001-BUG-Fix-bug-with-clip-box-setting-11999.patch
+++ /dev/null
@@ -1,186 +0,0 @@
-From 49a901dd13d44f7eb9b50985a83600a540ebb347 Mon Sep 17 00:00:00 2001
-From: Eric Larson <larson.eric.d(a)gmail.com>
-Date: Fri, 15 Sep 2023 15:50:30 -0400
-Subject: [PATCH] BUG: Fix bug with clip box setting (#11999)
-
----
- doc/conf.py | 2 +-
- examples/io/elekta_epochs.py | 5 ++---
- mne/utils/docs.py | 2 +-
- mne/viz/evoked.py | 4 ++--
- mne/viz/misc.py | 2 +-
- mne/viz/topo.py | 18 +++++++++++++-----
- mne/viz/topomap.py | 4 ++--
- tutorials/preprocessing/70_fnirs_processing.py | 1 -
- .../time-freq/20_sensors_time_frequency.py | 2 +-
- 9 files changed, 23 insertions(+), 17 deletions(-)
-
-diff --git a/doc/conf.py b/doc/conf.py
-index 55da25811..020eefd90 100644
---- a/doc/conf.py
-+++ b/doc/conf.py
-@@ -198,7 +198,7 @@ numpydoc_xref_aliases = {
- "Path": ":class:`python:pathlib.Path`",
- "bool": ":class:`python:bool`",
- # Matplotlib
-- "colormap": ":doc:`colormap <matplotlib:tutorials/colors/colormaps>`",
-+ "colormap": ":ref:`colormap <matplotlib:colormaps>`",
- "color": ":doc:`color <matplotlib:api/colors_api>`",
- "Axes": "matplotlib.axes.Axes",
- "Figure": "matplotlib.figure.Figure",
-diff --git a/examples/io/elekta_epochs.py b/examples/io/elekta_epochs.py
-index 125a1e2c0..f632b0fba 100644
---- a/examples/io/elekta_epochs.py
-+++ b/examples/io/elekta_epochs.py
-@@ -5,9 +5,8 @@
- Getting averaging info from .fif files
- ======================================
-
--Parse averaging information defined in Elekta Vectorview/TRIUX DACQ (data
--acquisition). Extract and average epochs accordingly. Modify some
--averaging parameters and get epochs.
-+Parse averaging information defined in Elekta Vectorview/TRIUX DACQ (data acquisition).
-+Extract and average epochs accordingly. Modify some averaging parameters and get epochs.
- """
- # Author: Jussi Nurminen (jnu(a)iki.fi)
- #
-diff --git a/mne/utils/docs.py b/mne/utils/docs.py
-index 6423f467d..76dfff244 100644
---- a/mne/utils/docs.py
-+++ b/mne/utils/docs.py
-@@ -760,7 +760,7 @@ docdict[
- cnorm : matplotlib.colors.Normalize | None
- How to normalize the colormap. If ``None``, standard linear normalization
- is performed. If not ``None``, ``vmin`` and ``vmax`` will be ignored.
-- See :doc:`Matplotlib docs <matplotlib:tutorials/colors/colormapnorms>`
-+ See :ref:`Matplotlib docs <matplotlib:colormapnorms>`
- for more details on colormap normalization, and
- :ref:`the ERDs example<cnorm-example>` for an example of its use.
- """
-diff --git a/mne/viz/evoked.py b/mne/viz/evoked.py
-index bba7c7556..07ae226d0 100644
---- a/mne/viz/evoked.py
-+++ b/mne/viz/evoked.py
-@@ -2656,8 +2656,8 @@ def plot_compare_evokeds(
- :class:`dict` of :class:`ints <int>` or :class:`floats <float>`
- indicating steps or percentiles (respectively) along the colormap. If
- ``cmap`` is ``None``, list elements or dict values of ``colors`` must
-- be :class:`ints <int>` or valid :doc:`matplotlib colors
-- <matplotlib:tutorials/colors/colors>`; lists are cycled through
-+ be :class:`ints <int>` or valid :ref:`matplotlib colors
-+ <matplotlib:colors_def>`; lists are cycled through
- sequentially,
- while dicts must have keys matching the keys or conditions of an
- ``evokeds`` dict (see Notes for details). If ``None``, the current
-diff --git a/mne/viz/misc.py b/mne/viz/misc.py
-index c8b0d3f88..16d587b02 100644
---- a/mne/viz/misc.py
-+++ b/mne/viz/misc.py
-@@ -774,7 +774,7 @@ def plot_events(
- Dictionary of event_id integers as keys and colors as values. If None,
- colors are automatically drawn from a default list (cycled through if
- number of events longer than list of default colors). Color can be any
-- valid :doc:`matplotlib color <matplotlib:tutorials/colors/colors>`.
-+ valid :ref:`matplotlib color <matplotlib:colors_def>`.
- event_id : dict | None
- Dictionary of event labels (e.g. 'aud_l') as keys and their associated
- event_id values. Labels are used to plot a legend. If None, no legend
-diff --git a/mne/viz/topo.py b/mne/viz/topo.py
-index c81e3199b..f7d51aea5 100644
---- a/mne/viz/topo.py
-+++ b/mne/viz/topo.py
-@@ -495,8 +495,6 @@ def _imshow_tfr_unified(
- data_lines.append(
- ax.imshow(
- tfr[ch_idx],
-- clip_on=True,
-- clip_box=tuple(bn.pos),
- extent=extent,
- aspect="auto",
- origin="lower",
-@@ -505,6 +503,7 @@ def _imshow_tfr_unified(
- cmap=cmap,
- )
- )
-+ data_lines[-1].set_clip_box(_pos_to_bbox(bn.pos, ax))
-
-
- def _plot_timeseries(
-@@ -663,7 +662,6 @@ def _plot_timeseries_unified(
- pos = bn.pos
- data_lines = bn.data_lines
- ax = bn.ax
-- # XXX These calls could probably be made faster by using collections
- for data_, color_, times_ in zip(data, color, times):
- data_lines.append(
- ax.plot(
-@@ -671,10 +669,10 @@ def _plot_timeseries_unified(
- bn.y_t + bn.y_s * data_[ch_idx],
- linewidth=0.5,
- color=color_,
-- clip_on=True,
-- clip_box=tuple(pos),
- )[0]
- )
-+ # Needs to be done afterward for some reason (probable matlotlib bug)
-+ data_lines[-1].set_clip_box(_pos_to_bbox(pos, ax))
- if vline:
- vline = np.array(vline) * bn.x_s + bn.x_t
- ax.vlines(
-@@ -1299,3 +1297,13 @@ def plot_topo_image_epochs(
- add_background_image(fig, fig_background)
- plt_show(show)
- return fig
-+
-+
-+def _pos_to_bbox(pos, ax):
-+ """Convert layout position to bbox."""
-+ import matplotlib.transforms as mtransforms
-+
-+ return mtransforms.TransformedBbox(
-+ mtransforms.Bbox.from_bounds(*pos),
-+ ax.transAxes,
-+ )
-diff --git a/mne/viz/topomap.py b/mne/viz/topomap.py
-index 95bccb361..3b38b0757 100644
---- a/mne/viz/topomap.py
-+++ b/mne/viz/topomap.py
-@@ -2055,8 +2055,8 @@ def plot_evoked_topomap(
- the same call as the colorbar. Note also that the colorbar will not be
- resized automatically when ``axes`` are provided; use Matplotlib's
- :meth:`axes.set_position() <matplotlib.axes.Axes.set_position>` method or
-- :doc:`gridspec <matplotlib:tutorials/intermediate/arranging_axes>`
-- interface to adjust the colorbar size yourself.
-+ :ref:`gridspec <matplotlib:arranging_axes>` interface to adjust the colorbar
-+ size yourself.
- """
- import matplotlib.pyplot as plt
- from matplotlib.gridspec import GridSpec
-diff --git a/tutorials/preprocessing/70_fnirs_processing.py b/tutorials/preprocessing/70_fnirs_processing.py
-index e8c11f746..1dd30c628 100644
---- a/tutorials/preprocessing/70_fnirs_processing.py
-+++ b/tutorials/preprocessing/70_fnirs_processing.py
-@@ -12,7 +12,6 @@ topographic representation of the response.
-
- Here we will work with the :ref:`fNIRS motor data <fnirs-motor-dataset>`.
- """
--
- # %%
-
- import numpy as np
-diff --git a/tutorials/time-freq/20_sensors_time_frequency.py b/tutorials/time-freq/20_sensors_time_frequency.py
-index f707ee48d..776a230ec 100644
---- a/tutorials/time-freq/20_sensors_time_frequency.py
-+++ b/tutorials/time-freq/20_sensors_time_frequency.py
-@@ -10,7 +10,7 @@ of your data (frequency and time-frequency). Here we'll work on Epochs.
-
- We will use this dataset: :ref:`somato-dataset`. It contains so-called event
- related synchronizations (ERS) / desynchronizations (ERD) in the beta band.
--""" # noqa: E501
-+"""
- # Authors: Alexandre Gramfort <alexandre.gramfort(a)inria.fr>
- # Stefan Appelhoff <stefan.appelhoff(a)mailbox.org>
- # Richard Höchenberger <richard.hoechenberger(a)gmail.com>
---
-2.41.0
-
diff --git a/0001-MAINT-Ignore-SciPy-using-deprecated-API-12115.patch b/0001-MAINT-Ignore-SciPy-using-deprecated-API-12115.patch
deleted file mode 100644
index 2a28725..0000000
--- a/0001-MAINT-Ignore-SciPy-using-deprecated-API-12115.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 484e5b6e37c322f4caa4619af7065f24af637383 Mon Sep 17 00:00:00 2001
-From: Eric Larson <larson.eric.d(a)gmail.com>
-Date: Wed, 18 Oct 2023 05:12:58 +0300
-Subject: [PATCH] MAINT: Ignore SciPy using deprecated API (#12115)
-
----
- mne/conftest.py | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/mne/conftest.py b/mne/conftest.py
-index afde5697e..2fe14b4be 100644
---- a/mne/conftest.py
-+++ b/mne/conftest.py
-@@ -160,6 +160,13 @@ def pytest_configure(config):
- ignore:(\n|.)*numpy\.distutils` is deprecated since NumPy(\n|.)*:DeprecationWarning
- ignore:datetime\.utcfromtimestamp.*is deprecated:DeprecationWarning
- ignore:The numpy\.array_api submodule is still experimental.*:UserWarning
-+ # numpy 2.0 <-> SciPy
-+ ignore:numpy\.core\._multiarray_umath.*:DeprecationWarning
-+ ignore:numpy\.core\.numeric is deprecated.*:DeprecationWarning
-+ ignore:numpy\.core\.multiarray is deprecated.*:DeprecationWarning
-+ # TODO: Should actually fix these two
-+ ignore:scipy.signal.morlet2 is deprecated in SciPy.*:DeprecationWarning
-+ ignore:The `needs_threshold` and `needs_proba`.*:FutureWarning
- # tqdm (Fedora)
- ignore:.*'tqdm_asyncio' object has no attribute 'last_print_t':pytest.PytestUnraisableExceptionWarning
- """ # noqa: E501
---
-2.41.0
-
diff --git a/python-mne.spec b/python-mne.spec
index 32b1fff..c936c99 100644
--- a/python-mne.spec
+++ b/python-mne.spec
@@ -38,17 +38,6 @@ Source0: https://github.com/mne-tools/mne-python/archive/v%{version}/%{na
#Source1: https://s3.amazonaws.com/mne-python/datasets/MNE-sample-data-processed.ta...
-# BUG: Fix bug with clip box setting
-# https://github.com/mne-tools/mne-python/pull/11999
-# Backported to v1.5.1
-Patch: 0001-BUG-Fix-bug-with-clip-box-setting-11999.patch
-
-# MAINT: Ignore SciPy using deprecated API
-# https://github.com/mne-tools/mne-python/pull/12115
-# Merged as 4beb8dde7588c3153ee0a240b5e363dc987c95f1
-# Backported to v1.5.1
-Patch: 0001-MAINT-Ignore-SciPy-using-deprecated-API-12115.patch
-
# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval
ExcludeArch: %{ix86}
commit 2fee5758f6ee827c2e89b410d497a4475b80e4b5
Author: Packit <hello(a)packit.dev>
Date: Thu Jan 18 06:10:01 2024 +0000
[packit] 1.6.1 upstream release
- Resolves rhbz#2250903
Upstream tag: v1.6.1
Upstream commit: dc9f53d5
diff --git a/.gitignore b/.gitignore
index 4e4e08f..4fb9767 100644
--- a/.gitignore
+++ b/.gitignore
@@ -21,3 +21,4 @@
/python-mne-1.5.0.tar.gz
/python-mne-f44636f.tar.gz
/python-mne-1.5.1.tar.gz
+/python-mne-1.6.1.tar.gz
diff --git a/README.packit b/README.packit
new file mode 100644
index 0000000..115b422
--- /dev/null
+++ b/README.packit
@@ -0,0 +1,3 @@
+This repository is maintained by packit.
+https://packit.dev/
+The file was generated using packit 0.88.0.post1.dev4+gc070191b.
diff --git a/python-mne.spec b/python-mne.spec
index c1a7e1a..32b1fff 100644
--- a/python-mne.spec
+++ b/python-mne.spec
@@ -1,7 +1,7 @@
#global commit f44636f00666b8eb869417960926d01690ff4f42
#global shortcommit #(c=#{commit}; echo ${c:0:7})
#global checkout_date 2023094
-%global upstream_version 1.5.1
+%global upstream_version 1.6.1
# setup.py does not list all requirements, and we also unbundle quite a few
# from the externals folder, so we can't only rely on the automatic generator
diff --git a/sources b/sources
index b364ba2..1b5fb13 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (python-mne-1.5.1.tar.gz) = 8646019a75b2988d7bc17218f8af881b30c7800e65bb6c371cd9e9f4c49b062b1e4f381d9986a69e6a1a1959ff6b173acc82e70c26e8c3ac005807e8dfe9ecfc
+SHA512 (python-mne-1.6.1.tar.gz) = d7141f74526958c82c18d5c27a166266c8a989adca3a762361eb8fcfeff6ce57e77c209ea2567d7476ffa0e0d40abce461491b05da563d507abda37857aef230
commit fa1eb7a6af3bfc263f1b4ea2ea33ce4746b5cc2f
Author: Benjamin A. Beasley <code(a)musicinmybrain.net>
Date: Wed Jan 3 14:54:41 2024 -0500
Assert that the .dist-info directory contains a license file
diff --git a/python-mne.spec b/python-mne.spec
index 38deb53..c1a7e1a 100644
--- a/python-mne.spec
+++ b/python-mne.spec
@@ -172,7 +172,7 @@ export SETUPTOOLS_SCM_PRETEND_VERSION='%{python_version}'
%install
export SETUPTOOLS_SCM_PRETEND_VERSION='%{python_version}'
%pyproject_install
-%pyproject_save_files mne
+%pyproject_save_files -l mne
%check
export SETUPTOOLS_SCM_PRETEND_VERSION='%{python_version}'
3 months, 2 weeks
Architecture specific change in rpms/rust-scx_utils.git
by githook-noreply@fedoraproject.org
The package rpms/rust-scx_utils.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/rust-scx_utils.git/commit/?id=d6f....
Change:
+ExcludeArch: %{ix86}
Thanks.
Full change:
============
commit ecca877e3e97513d7c743239514d3538aeabcd84
Author: Jordan Rome <jordalgo(a)fedoraproject.org>
Date: Wed Jan 17 11:28:24 2024 -0500
Updated to 0.5.0
diff --git a/.gitignore b/.gitignore
index 2ee3006..1e761d3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
/scx_utils-0.4.1.crate
+/scx_utils-0.5.0.crate
diff --git a/rust-scx_utils.spec b/rust-scx_utils.spec
index 84c3aae..323c2b7 100644
--- a/rust-scx_utils.spec
+++ b/rust-scx_utils.spec
@@ -5,16 +5,13 @@
%global crate scx_utils
Name: rust-scx_utils
-Version: 0.4.1
+Version: 0.5.0
Release: %autorelease
Summary: Utilities for sched_ext schedulers
License: GPL-2.0-only
URL: https://crates.io/crates/scx_utils
Source: %{crates_source}
-# The original patch required editing due to the different paths
-# in the rust crate: https://patch-diff.githubusercontent.com/raw/sched-ext/scx/pull/65.patch#...
-Patch: sched-ext-fix-mappings.patch
BuildRequires: cargo-rpm-macros >= 24
diff --git a/sources b/sources
index deb6c4c..f06a32f 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (scx_utils-0.4.1.crate) = 856971c5c7f882ff205ef30fa2f89d9e0554cc1a7a156550cb6d0c0577c8acf325223bea5070ddb3b3366a18f07833f2a0405acf0d589c548ddd7d28964dc6e3
+SHA512 (scx_utils-0.5.0.crate) = b1b72adee89cba8e22dd87b19359c5bbd093bb5895906cfa604a44944e0c23dba7002314b341eba9b612e22b170675e1046a62caded70d9ebbbf49cd3d0ee5da
commit d6fc166fb70cab68180366d7cac5025446b0e5be
Author: Jordan Rome <jordalgo(a)fedoraproject.org>
Date: Wed Jan 3 17:03:13 2024 -0500
add spec file and patch to fix builds
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..2ee3006
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/scx_utils-0.4.1.crate
diff --git a/rust-scx_utils.spec b/rust-scx_utils.spec
new file mode 100644
index 0000000..84c3aae
--- /dev/null
+++ b/rust-scx_utils.spec
@@ -0,0 +1,73 @@
+# Generated by rust2rpm 25
+%bcond_without check
+%global debug_package %{nil}
+
+%global crate scx_utils
+
+Name: rust-scx_utils
+Version: 0.4.1
+Release: %autorelease
+Summary: Utilities for sched_ext schedulers
+
+License: GPL-2.0-only
+URL: https://crates.io/crates/scx_utils
+Source: %{crates_source}
+# The original patch required editing due to the different paths
+# in the rust crate: https://patch-diff.githubusercontent.com/raw/sched-ext/scx/pull/65.patch#...
+Patch: sched-ext-fix-mappings.patch
+
+BuildRequires: cargo-rpm-macros >= 24
+
+%global _description %{expand:
+Utilities for sched_ext schedulers.}
+
+%description %{_description}
+
+%package devel
+Summary: %{summary}
+BuildArch: noarch
+ExcludeArch: %{ix86}
+
+%description devel %{_description}
+
+This package contains library source intended for building other packages which
+use the "%{crate}" crate.
+
+%files devel
+%license %{crate_instdir}/LICENSE
+%doc %{crate_instdir}/README.md
+%{crate_instdir}/
+
+%package -n %{name}+default-devel
+Summary: %{summary}
+BuildArch: noarch
+
+%description -n %{name}+default-devel %{_description}
+
+This package contains library source intended for building other packages which
+use the "default" feature of the "%{crate}" crate.
+
+%files -n %{name}+default-devel
+%ghost %{crate_instdir}/Cargo.toml
+
+%prep
+%autosetup -n %{crate}-%{version} -p1
+%cargo_prep
+
+%generate_buildrequires
+%cargo_generate_buildrequires
+
+%build
+%cargo_build
+
+%install
+%cargo_install
+
+%if %{with check}
+%check
+# * skip failing test
+%cargo_test -- -- --skip bpf_builder::tests::test_vmlinux_h_ver_sha1
+%endif
+
+%changelog
+%autochangelog
diff --git a/sched-ext-fix-mappings.patch b/sched-ext-fix-mappings.patch
new file mode 100644
index 0000000..62e6d7e
--- /dev/null
+++ b/sched-ext-fix-mappings.patch
@@ -0,0 +1,39 @@
+From 6caf6c5c99cbb1a5cf80e2e7e606504740a4c0dc Mon Sep 17 00:00:00 2001
+From: Jordan Rome <linux(a)jordanrome.com>
+Date: Wed, 3 Jan 2024 10:50:33 -0800
+Subject: [PATCH] Add new archs for bpf_builder
+
+This is to fix fedora build failures for these archs:
+s390x and ppc64le
+
+Error:
+```
+---- bpf_builder::tests::test_bpf_builder_new stdout ----
+thread 'bpf_builder::tests::test_bpf_builder_new' panicked at src/bpf_builder.rs:592:9:
+Failed to create BpfBuilder (Err(CPU arch "s390x" not found in ARCH_MAP))
+```
+
+https://koji.fedoraproject.org/koji/taskinfo?taskID=111114326
+---
+ src/bpf_builder.rs | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/bpf_builder.rs b/src/bpf_builder.rs
+index d7faa41..0637924 100644
+--- a/src/bpf_builder.rs
++++ b/src/bpf_builder.rs
+@@ -24,12 +24,14 @@ lazy_static::lazy_static! {
+ ("x86", "x86"),
+ ("x86_64", "x86"),
+ ("s390", "s390"),
++ ("s390x", "s390"),
+ ("arm", "arm"),
+ ("aarch64", "arm64"),
+ ("mips", "mips"),
+ ("mips64", "mips"),
+ ("ppc32", "powerpc"),
+ ("ppc64", "powerpc"),
++ ("ppc64le", "powerpc"),
+ ("sparc", "sparc"),
+ ("sparcv9", "sparc"),
+ ("riscv32", "riscv"),
diff --git a/sources b/sources
new file mode 100644
index 0000000..deb6c4c
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+SHA512 (scx_utils-0.4.1.crate) = 856971c5c7f882ff205ef30fa2f89d9e0554cc1a7a156550cb6d0c0577c8acf325223bea5070ddb3b3366a18f07833f2a0405acf0d589c548ddd7d28964dc6e3
3 months, 2 weeks
Architecture specific change in rpms/rust-scx_layered.git
by githook-noreply@fedoraproject.org
The package rpms/rust-scx_layered.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/rust-scx_layered.git/commit/?id=e....
Change:
+ExcludeArch: %{ix86}
Thanks.
Full change:
============
commit ebaa89699982d3c5d07ccc569d3653d4ceb6fd07
Author: Jordan Rome <jordalgo(a)fedoraproject.org>
Date: Sat Jan 20 16:26:32 2024 -0500
Added sources, spec file, and rust2rpm.toml
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..b6acf52
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/scx_layered-0.0.4.crate
diff --git a/README.md b/README.md
index 643396a..36ac215 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,33 @@
# rust-scx_layered
-The rust-scx_layered package
+This is a single user-defined scheduler used within [sched_ext](https://github.com/sched-ext/scx/tree/main), which is a Linux kernel feature which enables implementing kernel thread schedulers in BPF and dynamically loading them. [Read more about sched_ext](https://github.com/sched-ext/scx/tree/main).
+
+## Overview
+
+A highly configurable multi-layer BPF / user space hybrid scheduler.
+
+scx_layered allows the user to classify tasks into multiple layers, and apply
+different scheduling policies to those layers. For example, a layer could be
+created of all tasks that are part of the `user.slice` cgroup slice, and a
+policy could be specified that ensures that the layer is given at least 80% CPU
+utilization for some subset of CPUs on the system.
+
+## Typical Use Case
+
+scx_layered is designed to be highly customizable, and can be targeted for
+specific applications. For example, if you had a high-priority service that
+required priority access to all but 1 physical core to ensure acceptable p99
+latencies, you could specify that the service would get priority access to all
+but 1 core on the system. If that service ends up not utilizing all of those
+cores, they could be used by other layers until they're needed.
+
+## Production Ready?
+
+Yes. If tuned correctly, scx_layered should be performant across various CPU
+architectures and workloads.
+
+That said, you may run into an issue with infeasible weights, where a task with
+a very high weight may cause the scheduler to incorrectly leave cores idle
+because it thinks they're necessary to accommodate the compute for a single
+task. This can also happen in CFS, and should soon be addressed for
+scx_layered.
diff --git a/rust-scx_layered.spec b/rust-scx_layered.spec
new file mode 100644
index 0000000..958756a
--- /dev/null
+++ b/rust-scx_layered.spec
@@ -0,0 +1,75 @@
+# Generated by rust2rpm 25
+%bcond_without check
+
+%global crate scx_layered
+
+Name: rust-scx_layered
+Version: 0.0.4
+Release: %autorelease
+Summary: Configurable multi-layer BPF / user space hybrid scheduler
+
+License: GPL-2.0-only
+URL: https://crates.io/crates/scx_layered
+Source: %{crates_source}
+
+BuildRequires: cargo-rpm-macros >= 24
+ExcludeArch: %{ix86}
+
+%global _description %{expand:
+A highly configurable multi-layer BPF / user space hybrid scheduler
+used within sched_ext, which is a Linux kernel feature which enables
+implementing kernel thread schedulers in BPF and dynamically loading
+them. https://github.com/sched-ext/scx/tree/main}
+
+%description %{_description}
+
+%package -n %{crate}
+Summary: %{summary}
+# (MIT OR Apache-2.0) AND Unicode-DFS-2016
+# Apache-2.0
+# Apache-2.0 OR BSL-1.0
+# Apache-2.0 OR MIT
+# Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
+# BSD-2-Clause
+# BSD-3-Clause
+# BSD-3-Clause OR MIT OR Apache-2.0
+# GPL-2.0-only
+# ISC
+# LGPL-2.1-only OR BSD-2-Clause
+# MIT
+# MIT OR Apache-2.0
+# Unlicense OR MIT
+# Zlib
+License: GPL-2.0-only AND (MIT OR Apache-2.0) AND Unicode-DFS-2016 AND Apache-2.0 AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND BSD-2-Clause AND BSD-3-Clause AND (BSD-3-Clause OR MIT OR Apache-2.0) AND ISC AND (LGPL-2.1-only OR BSD-2-Clause) AND MIT AND (Unlicense OR MIT) AND Zlib
+# LICENSE.dependencies contains a full license breakdown
+
+%description -n %{crate} %{_description}
+
+%files -n %{crate}
+%license LICENSE
+%license LICENSE.dependencies
+%doc README.md
+%{_bindir}/scx_layered
+
+%prep
+%autosetup -n %{crate}-%{version} -p1
+%cargo_prep
+
+%generate_buildrequires
+%cargo_generate_buildrequires
+
+%build
+%cargo_build
+%{cargo_license_summary}
+%{cargo_license} > LICENSE.dependencies
+
+%install
+%cargo_install
+
+%if %{with check}
+%check
+%cargo_test
+%endif
+
+%changelog
+%autochangelog
diff --git a/rust2rpm.toml b/rust2rpm.toml
new file mode 100644
index 0000000..f0cc2ab
--- /dev/null
+++ b/rust2rpm.toml
@@ -0,0 +1,7 @@
+[package]
+summary = "Configurable multi-layer BPF / user space hybrid scheduler"
+description = """
+A highly configurable multi-layer BPF / user space hybrid scheduler
+used within sched_ext, which is a Linux kernel feature which enables
+implementing kernel thread schedulers in BPF and dynamically loading
+them. https://github.com/sched-ext/scx/tree/main"""
diff --git a/sources b/sources
new file mode 100644
index 0000000..e2dfcd5
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+SHA512 (scx_layered-0.0.4.crate) = f3dc8b21a996e4f89b51d1b183df559f5c960cd453469eb07fc0b51e0b531b5f85aea8bea80043962c7a8af0859b3f0de08eb7f55799a7dd99ff1dbad91de3f7
3 months, 2 weeks
Architecture specific change in rpms/rust-scx_rusty.git
by githook-noreply@fedoraproject.org
The package rpms/rust-scx_rusty.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/rust-scx_rusty.git/commit/?id=d7d....
Change:
+ExcludeArch: %{ix86}
Thanks.
Full change:
============
commit 928c29551781433294189d4f12a946fea7df6683
Author: Jordan Rome <jordalgo(a)fedoraproject.org>
Date: Sat Jan 20 15:12:44 2024 -0500
updated Readme
diff --git a/README.md b/README.md
index 99bfb46..46aa57c 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,33 @@
# rust-scx_rusty
-The rust-scx_rusty package
+This is a single user-defined scheduler used within [sched_ext](https://github.com/sched-ext/scx/tree/main), which is a Linux kernel feature which enables implementing kernel thread schedulers in BPF and dynamically loading them. [Read more about sched_ext](https://github.com/sched-ext/scx/tree/main).
+
+## Overview
+
+A multi-domain, BPF / user space hybrid scheduler. The BPF portion of the
+scheduler does a simple round robin in each domain, and the user space portion
+(written in Rust) calculates the load factor of each domain, and informs BPF of
+how tasks should be load balanced accordingly.
+
+## Typical Use Case
+
+Rusty is designed to be flexible, and accommodate different architectures and
+workloads. Various load balancing thresholds (e.g. greediness, frequenty, etc),
+as well as how Rusty should partition the system into scheduling domains, can
+be tuned to achieve the optimal configuration for any given system or workload.
+
+## Production Ready?
+
+Yes. If tuned correctly, rusty should be performant across various CPU
+architectures and workloads. Rusty by default creates a separate scheduling
+domain per-LLC, so its default configuration may be performant as well. Note
+however that scx_rusty does not yet disambiguate between LLCs in different NUMA
+nodes, so it may perform better on multi-CCX machines where all the LLCs share
+the same socket, as opposed to multi-socket machines.
+
+Note as well that you may run into an issue with infeasible weights, where a
+task with a very high weight may cause the scheduler to incorrectly leave cores
+idle because it thinks they're necessary to accommodate the compute for a
+single task. This can also happen in CFS, and should soon be addressed for
+scx_rusty.
+
commit d7d601e49846da04f3d536c198093e7e24ccf42b
Author: Jordan Rome <jordalgo(a)fedoraproject.org>
Date: Sat Jan 20 15:10:41 2024 -0500
Add sources, spec, and rust2rpm
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..0ea68d2
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/scx_rusty-0.5.3.crate
diff --git a/rust-scx_rusty.spec b/rust-scx_rusty.spec
new file mode 100644
index 0000000..146dd06
--- /dev/null
+++ b/rust-scx_rusty.spec
@@ -0,0 +1,75 @@
+# Generated by rust2rpm 25
+%bcond_without check
+
+%global crate scx_rusty
+
+Name: rust-scx_rusty
+Version: 0.5.3
+Release: %autorelease
+Summary: A multi-domain, BPF / user space hybrid scheduler
+
+License: GPL-2.0-only
+URL: https://crates.io/crates/scx_rusty
+Source: %{crates_source}
+
+BuildRequires: cargo-rpm-macros >= 24
+ExcludeArch: %{ix86}
+
+%global _description %{expand:
+A multi-domain, BPF / user space hybrid scheduler used within sched_ext,
+which is a Linux kernel feature which enables implementing kernel thread
+schedulers in BPF and dynamically loading them.
+https://github.com/sched-ext/scx/tree/main}
+
+%description %{_description}
+
+%package -n %{crate}
+Summary: %{summary}
+# (MIT OR Apache-2.0) AND Unicode-DFS-2016
+# Apache-2.0
+# Apache-2.0 OR BSL-1.0
+# Apache-2.0 OR MIT
+# Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
+# BSD-2-Clause
+# BSD-3-Clause
+# BSD-3-Clause OR MIT OR Apache-2.0
+# GPL-2.0-only
+# ISC
+# LGPL-2.1-only OR BSD-2-Clause
+# MIT
+# MIT OR Apache-2.0
+# Unlicense OR MIT
+# Zlib
+License: GPL-2.0-only AND (MIT OR Apache-2.0) AND Unicode-DFS-2016 AND Apache-2.0 AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND BSD-2-Clause AND BSD-3-Clause AND (BSD-3-Clause OR MIT OR Apache-2.0) AND ISC AND (LGPL-2.1-only OR BSD-2-Clause) AND MIT AND (Unlicense OR MIT) AND Zlib
+# LICENSE.dependencies contains a full license breakdown
+
+%description -n %{crate} %{_description}
+
+%files -n %{crate}
+%license LICENSE
+%license LICENSE.dependencies
+%doc README.md
+%{_bindir}/scx_rusty
+
+%prep
+%autosetup -n %{crate}-%{version} -p1
+%cargo_prep
+
+%generate_buildrequires
+%cargo_generate_buildrequires
+
+%build
+%cargo_build
+%{cargo_license_summary}
+%{cargo_license} > LICENSE.dependencies
+
+%install
+%cargo_install
+
+%if %{with check}
+%check
+%cargo_test
+%endif
+
+%changelog
+%autochangelog
diff --git a/rust2rpm.toml b/rust2rpm.toml
new file mode 100644
index 0000000..1c2f4d9
--- /dev/null
+++ b/rust2rpm.toml
@@ -0,0 +1,7 @@
+[package]
+summary = "A multi-domain, BPF / user space hybrid scheduler"
+description = """
+A multi-domain, BPF / user space hybrid scheduler used within sched_ext,
+which is a Linux kernel feature which enables implementing kernel thread
+schedulers in BPF and dynamically loading them.
+https://github.com/sched-ext/scx/tree/main"""
diff --git a/sources b/sources
new file mode 100644
index 0000000..45d871b
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+SHA512 (scx_rusty-0.5.3.crate) = e1e583918e7dc19b3d795e874cb0d323614387dcd3182124eedddd6b02999cc00a6a8ae7cdc614657abf45e1ffd974e262e2ca1ca1c4980a60dda2b385e9a92d
3 months, 2 weeks