diff --git a/SOURCES/tuna-Fix-tuna-include-option-breakage.patch b/SOURCES/tuna-Fix-tuna-include-option-breakage.patch new file mode 100644 index 0000000..fc50c80 --- /dev/null +++ b/SOURCES/tuna-Fix-tuna-include-option-breakage.patch @@ -0,0 +1,51 @@ +From cd9e707b23980ed568aeddac6eaa2125b651c6cc Mon Sep 17 00:00:00 2001 +From: John Kacur +Date: Wed, 3 Mar 2021 10:45:28 -0500 +Subject: [PATCH] tuna: Fix tuna --include option breakage + +The change to remove the dependency on python-schedutils +broke the --include function. + +get_affinity(pid) from python-schedutils returned a list +os.sched_getaffinity(pid) returns a set + +In many cases they can be interchanged, but not with the '+' operation +Fix this by changing affinity to a list before concatenation + +Reported-by: Mark Simmons +Signed-off-by: John Kacur +--- + tuna/tuna.py | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/tuna/tuna.py b/tuna/tuna.py +index e5122dac1081..614a8250b054 100755 +--- a/tuna/tuna.py ++++ b/tuna/tuna.py +@@ -431,9 +431,9 @@ def include_cpus(cpus, nr_cpus): + if err.args[0] == errno.ESRCH: + continue + raise err +- if set(affinity).intersection(set(cpus)) != set(cpus): ++ if affinity.intersection(set(cpus)) != set(cpus): + previous_pid_affinities[pid] = copy.copy(affinity) +- affinity = list(set(affinity + cpus)) ++ affinity = list(affinity) + cpus + try: + os.sched_setaffinity(pid, affinity) + except OSError as err: +@@ -453,9 +453,9 @@ def include_cpus(cpus, nr_cpus): + if err.args[0] == errno.ESRCH: + continue + raise err +- if set(affinity).intersection(set(cpus)) != set(cpus): ++ if affinity.intersection(set(cpus)) != set(cpus): + previous_pid_affinities[tid] = copy.copy(affinity) +- affinity = list(set(affinity + cpus)) ++ affinity = list(affinity) + cpus + try: + os.sched_setaffinity(tid, affinity) + except OSError as err: +-- +2.26.2 + diff --git a/SPECS/tuna.spec b/SPECS/tuna.spec index 7dcf56e..2d502e1 100644 --- a/SPECS/tuna.spec +++ b/SPECS/tuna.spec @@ -1,6 +1,6 @@ Name: tuna Version: 0.15 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv2 Summary: Application tuning GUI & command line utility Group: Applications/System @@ -16,6 +16,7 @@ Requires: python3-linux-procfs >= 0.6 BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) # PATCHES +Patch1: tuna-Fix-tuna-include-option-breakage.patch %description Provides interface for changing scheduler and IRQ tunables, at whole CPU and at @@ -28,6 +29,7 @@ installed. %prep %setup -q +%patch1 -p1 %build %{__python3} setup.py build @@ -74,6 +76,10 @@ rm -rf %{buildroot} %{_datadir}/polkit-1/actions/org.tuna.policy %changelog +* Thu Mar 04 2021 John Kacur - 0.15-2 +- Fix tuna's include option +Resolves: rhbz#1934594 + * Thu Jan 21 2021 John Kacur - 0.15-1 - Upgrade to latest upstream code - Upstream drops python-schedutils and uses built-in schedutils