diff --git a/_service b/_service
new file mode 100644
index 0000000..5d040a3
--- /dev/null
+++ b/_service
@@ -0,0 +1,16 @@
+
+
+ git
+ https://github.com/redhat-performance/tuned
+
+ tuned
+ 2.8.0
+ enable
+ refs/tags/v2.8.0
+
+
+ tuned*.tar
+ xz
+
+
+
diff --git a/_servicedata b/_servicedata
new file mode 100644
index 0000000..7aad72e
--- /dev/null
+++ b/_servicedata
@@ -0,0 +1,4 @@
+
+
+ https://github.com/redhat-performance/tuned
+ de880346fa29efafce002a4245968d8cbabae142
\ No newline at end of file
diff --git a/fix-allow-receive_sender-default.patch b/fix-allow-receive_sender-default.patch
index d2927c5..01fd669 100644
--- a/fix-allow-receive_sender-default.patch
+++ b/fix-allow-receive_sender-default.patch
@@ -1,12 +1,12 @@
-Index: tuned-2.6.0/dbus.conf
+Index: tuned-2.8.0/dbus.conf
===================================================================
---- tuned-2.6.0.orig/dbus.conf
-+++ tuned-2.6.0/dbus.conf
-@@ -9,7 +9,6 @@
+--- tuned-2.8.0.orig/dbus.conf
++++ tuned-2.8.0/dbus.conf
+@@ -4,7 +4,6 @@
+
-
-
-
-
+
+
diff --git a/fix-desktop-category.patch b/fix-desktop-category.patch
new file mode 100644
index 0000000..8af102b
--- /dev/null
+++ b/fix-desktop-category.patch
@@ -0,0 +1,11 @@
+Index: tuned-2.8.0/tuned-gui.desktop
+===================================================================
+--- tuned-2.8.0.orig/tuned-gui.desktop
++++ tuned-2.8.0/tuned-gui.desktop
+@@ -7,5 +7,5 @@ Exec=tuned-gui
+ Icon=tuned
+ Terminal=false
+ Type=Application
+-Categories=System;
++Categories=Settings;HardwareSettings;
+ Version=1.0
diff --git a/fix-glade-file-permission.patch b/fix-glade-file-permission.patch
new file mode 100644
index 0000000..cd4b144
--- /dev/null
+++ b/fix-glade-file-permission.patch
@@ -0,0 +1,13 @@
+Index: tuned-2.8.0/Makefile
+===================================================================
+--- tuned-2.8.0.orig/Makefile
++++ tuned-2.8.0/Makefile
+@@ -113,7 +113,7 @@ install: install-dirs
+ install -Dpm 0755 $(file) $(DESTDIR)/usr/sbin/$(notdir $(file));)
+
+ # glade
+- install -Dpm 0755 tuned-gui.glade $(DESTDIR)$(DATADIR)/tuned/ui/tuned-gui.glade
++ install -Dpm 0644 tuned-gui.glade $(DESTDIR)$(DATADIR)/tuned/ui/tuned-gui.glade
+
+ # tools
+ install -Dpm 0755 experiments/powertop2tuned.py $(DESTDIR)/usr/bin/powertop2tuned
diff --git a/remove-unnecessary-shebangs.patch b/remove-unnecessary-shebangs.patch
new file mode 100644
index 0000000..d02aa7d
--- /dev/null
+++ b/remove-unnecessary-shebangs.patch
@@ -0,0 +1,27 @@
+Index: tuned-2.8.0/tuned/gtk/gui_plugin_loader.py
+===================================================================
+--- tuned-2.8.0.orig/tuned/gtk/gui_plugin_loader.py
++++ tuned-2.8.0/tuned/gtk/gui_plugin_loader.py
+@@ -1,4 +1,3 @@
+-#!/usr/bin/python
+ # -*- coding: utf-8 -*-
+
+ # Copyright (C) 2008-2014 Red Hat, Inc.
+Index: tuned-2.8.0/tuned/gtk/gui_profile_loader.py
+===================================================================
+--- tuned-2.8.0.orig/tuned/gtk/gui_profile_loader.py
++++ tuned-2.8.0/tuned/gtk/gui_profile_loader.py
+@@ -1,4 +1,3 @@
+-#!/usr/bin/python
+ # -*- coding: utf-8 -*-
+
+ # Copyright (C) 2008-2014 Red Hat, Inc.
+Index: tuned-2.8.0/tuned/gtk/managerException.py
+===================================================================
+--- tuned-2.8.0.orig/tuned/gtk/managerException.py
++++ tuned-2.8.0/tuned/gtk/managerException.py
+@@ -1,4 +1,3 @@
+-#!/usr/bin/python
+ # -*- coding: utf-8 -*-
+
+ # Copyright (C) 2008-2014 Red Hat, Inc.
diff --git a/tuned-2.6.0.tar.bz2 b/tuned-2.6.0.tar.bz2
deleted file mode 100644
index 4388847..0000000
--- a/tuned-2.6.0.tar.bz2
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:945c785b8020960d2665b570b3168c366e6b82399801952aea54b4d178dac876
-size 98362
diff --git a/tuned-2.8.0.tar.xz b/tuned-2.8.0.tar.xz
new file mode 100644
index 0000000..75bd53b
--- /dev/null
+++ b/tuned-2.8.0.tar.xz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:65915118da250e0f4531039d5b160ed93017a65273cb4a0397020ff9f6ad478a
+size 118568
diff --git a/tuned.changes b/tuned.changes
index eb508e7..68a5550 100644
--- a/tuned.changes
+++ b/tuned.changes
@@ -1,3 +1,25 @@
+-------------------------------------------------------------------
+Fri Jul 07 15:07:04 UTC 2017 - fschnizlein@suse.com
+
+- Update to version 2.8.0:
+ * builtin functions: parser not traceback if func expands to empty string
+ * systemd: added support for older systemd CPUAffinity syntax
+ * scheduler: do not traceback if process dissapears during enumeration
+ * scheduler: fix more python-linux-procfs tracebacks
+ * plugin_net: Fix invocation of execute()
+ * cpu-partitioning: use tuna for cores isolation
+ * builtin functions: add strip
+ * bootloader: workaround for adding tuned_initrd to new kernels on restart
+ * new release (2.8.0)
+ + Add Patch: Fix category in desktop file for tuned-gui (fix-desktop-category.patch)
+ + Add Patch: Remove unnecessary shebangs (remove-unnecessary-shebangs.patch)
+ + Add Patch: Fix file permission for glade file (fix-glade-file-permission.patch)
+ + Add rpmlintrc to silence unnecessary warnings
+ + Remove Patch: tuned-2.4.0-use_cpupower_for_intel_perf_bias.patch
+ = Modified Patches to apply with 2.8.0:
+ - fix-allow-receive_sender-default.patch
+ - use-cpupower-for-intel-perf-bias.patch
+
-------------------------------------------------------------------
Sun Jan 17 09:21:58 UTC 2016 - mpluskal@suse.com
diff --git a/tuned.rpmlintrc b/tuned.rpmlintrc
new file mode 100644
index 0000000..501d498
--- /dev/null
+++ b/tuned.rpmlintrc
@@ -0,0 +1,3 @@
+addFilter("W: files-duplicate /etc/tuned/realtime-virtual-host-variables.conf /etc/tuned/realtime-virtual-guest-variables.conf")
+addFilter("W: zero-length /etc/tuned/active_profile")
+addFilter("W: obsolete-not-provided pm-profiler")
diff --git a/tuned.spec b/tuned.spec
index 6c95c77..57e01c7 100644
--- a/tuned.spec
+++ b/tuned.spec
@@ -1,7 +1,7 @@
#
# spec file for package tuned
#
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,20 +18,29 @@
%{!?_tmpfilesdir:%global _tmpfilesdir %{_libexecdir}/tmpfiles.d}
Name: tuned
-Version: 2.6.0
+Version: 2.8.0
Release: 0
Summary: A dynamic adaptive system tuning daemon
License: GPL-2.0+
Group: System/Base
-Url: https://fedorahosted.org/tuned/
-Source: https://fedorahosted.org/releases/t/u/tuned/tuned-%{version}.tar.bz2
+Url: https://github.com/redhat-performance/tuned
+Source0: %{name}-%{version}.tar.xz
+Source1: tuned.rpmlintrc
# PATCH-FIX-OPENSUSE fix-allow-receive_sender-default.patch allow receive_* is normally
# not needed as that is the default --
Patch0: fix-allow-receive_sender-default.patch
-# PATCH-FIX-OPENSUSE tuned-2.4.0-use_cpupower_for_intel_perf_bias.patch --use cpupower instead of energy class
-Patch2: tuned-2.4.0-use_cpupower_for_intel_perf_bias.patch
+# PATCH-FIX-OPENSUSE tuned-2.4.0-use-cpupower-for-intel-perf-bias.patch --use cpupower instead of energy class
+Patch1: use-cpupower-for-intel-perf-bias.patch
+
+# Patches to make security and usability more stable
+# They also pushed upstream
+Patch2: fix-desktop-category.patch
+Patch3: remove-unnecessary-shebangs.patch
+Patch4: fix-glade-file-permission.patch
+
# Do not own standard directories
BuildRequires: bash-completion
+BuildRequires: desktop-file-utils
BuildRequires: python
BuildRequires: systemd
Requires: %{_bindir}/cpupower
@@ -71,7 +80,7 @@ Group: System/Base
Requires: %{name} = %{version}
%description profiles-sap
-Additional tuned profile(s) targeted to SAP NetWeaver loads.
+Additional profile(s) for the tuned daemon, targeted to SAP NetWeaver loads.
%package profiles-sap-hana
Summary: Additional tuned profile(s) targeted to SAP HANA loads
@@ -79,7 +88,7 @@ Group: System/Base
Requires: %{name} = %{version}
%description profiles-sap-hana
-Additional tuned profile(s) targeted to SAP HANA loads.
+Additional profile(s) for the tuned daemon, targeted to SAP HANA loads.
%package profiles-atomic
Summary: Additional tuned profiles targeted to Atomic
@@ -87,7 +96,7 @@ Group: System/Base
Requires: %{name} = %{version}
%description profiles-atomic
-Additional tuned profiles targeted to Atomic host and guest.
+Additional profile(s) for the tuned daemon, targeted to Atomic host and guest.
%package profiles-realtime
Summary: Additional tuned profiles targeted to realtime
@@ -95,7 +104,7 @@ Group: System/Base
Requires: %{name} = %{version}
%description profiles-realtime
-Additional tuned profiles targeted to realtime.
+Additional profile(s) for the tuned daemon, targeted to realtime.
%package profiles-oracle
Summary: Additional tuned profiles targeted to Oracle loads
@@ -103,7 +112,7 @@ Group: System/Base
Requires: %{name} = %{version}
%description profiles-oracle
-Additional tuned profiles targeted to Oracle loads.
+Additional profile(s) for the tuned daemon, targeted to Oracle loads.
%package profiles-nfv
Summary: Additional tuned profiles targeted to Network Function Virtualization (NFV)
@@ -111,7 +120,7 @@ Group: System/Base
Requires: %{name} = %{version}
%description profiles-nfv
-Additional tuned profiles targeted to Network Function Virtualization (NFV).
+Additional profile(s) for the tuned daemon, targeted to Network Function Virtualization (NFV).
%package utils
Summary: Disk and net statistic monitoring systemtap scripts
@@ -139,7 +148,10 @@ instead of fewer large ones).
%prep
%setup -q
%patch0 -p1
+%patch1 -p1
%patch2 -p1
+%patch3 -p1
+%patch4 -p1
%build
# The tuned daemon is written in pure Python. Nothing requires to be built.
@@ -164,6 +176,7 @@ ln -sf service %{buildroot}%{_sbindir}/rctuned
%endif
# convert active_profile from full path to name (if needed)
sed -i 's|.*/\([^/]\+\)/[^\.]\+\.conf|\1|' %{_sysconfdir}/tuned/active_profile
+%desktop_database_post
%pre
%service_add_pre %{name}.service
@@ -173,24 +186,30 @@ sed -i 's|.*/\([^/]\+\)/[^\.]\+\.conf|\1|' %{_sysconfdir}/tuned/active_profile
%postun
%service_del_postun %{name}.service
+%desktop_database_postun
%files
%defattr(-,root,root,-)
+
+%dir %{_sysconfdir}/modprobe.d
%doc AUTHORS COPYING README
%{_datadir}/bash-completion/completions/tuned-adm
+%{_datadir}/polkit-1/actions/com.redhat.tuned.policy
%exclude %{python_sitelib}/tuned/gtk
%{python_sitelib}/tuned
%{_sbindir}/tuned
%{_sbindir}/tuned-adm
%{_sbindir}/rctuned
%exclude %{_sysconfdir}/tuned/realtime-variables.conf
+%exclude %{_sysconfdir}/tuned/realtime-virtual-guest-variables.conf
+%exclude %{_sysconfdir}/tuned/realtime-virtual-host-variables.conf
+%exclude %{_libexecdir}/tuned/realtime-virtual-guest
+%exclude %{_libexecdir}/tuned/realtime-virtual-host
%exclude %{_libexecdir}/tuned/sap-netweaver
%exclude %{_libexecdir}/tuned/sap-hana
%exclude %{_libexecdir}/tuned/sap-hana-vmware
%exclude %{_libexecdir}/tuned/atomic-host
%exclude %{_libexecdir}/tuned/atomic-guest
-%exclude %{_libexecdir}/tuned/realtime-virtual-guest
-%exclude %{_libexecdir}/tuned/realtime-virtual-host
%exclude %{_libexecdir}/tuned/oracle
%exclude %{_libexecdir}/tuned/realtime
%exclude %{_libexecdir}/tuned/defirqaffinity*
@@ -198,6 +217,8 @@ sed -i 's|.*/\([^/]\+\)/[^\.]\+\.conf|\1|' %{_sysconfdir}/tuned/active_profile
# active_profile might be empty when built via build service, but typically
# not on a real install -> better do not mark it %%ghost
%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/tuned/active_profile
+%config(noreplace) %{_sysconfdir}/modprobe.d/tuned.conf
+%config(noreplace) %{_sysconfdir}/tuned/cpu-partitioning-variables.conf
%config(noreplace) %{_sysconfdir}/tuned/tuned-main.conf
%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/tuned/bootcmdline
%config %{_sysconfdir}/dbus-1/system.d/com.redhat.tuned.conf
@@ -207,17 +228,23 @@ sed -i 's|.*/\([^/]\+\)/[^\.]\+\.conf|\1|' %{_sysconfdir}/tuned/active_profile
%dir %{_localstatedir}/log/tuned
%dir %{_sysconfdir}/tuned
%{_mandir}/man5/tuned*
-%{_mandir}/man7/tuned-profiles.7*
+%{_mandir}/man7/tuned-profiles-cpu-partitioning.7.gz
+%{_mandir}/man7/tuned-profiles.7.gz
%{_mandir}/man8/tuned*
%dir %{_datadir}/tuned
%ghost %dir /run/tuned
%files gtk
%defattr(-,root,root,-)
+%dir /usr/share/icons/hicolor
+%dir /usr/share/icons/hicolor/*/
+%dir /usr/share/icons/hicolor/*/apps
+%{_datadir}/icons/hicolor/*/apps/*
+%{_datadir}/applications/tuned-gui.desktop
%{_sbindir}/tuned-gui
%{python_sitelib}/tuned/gtk
%{_datadir}/tuned/ui
-%{_datadir}/polkit-1/actions/org.tuned.gui.policy
+%{_datadir}/polkit-1/actions/com.redhat.tuned.gui.policy
%files profiles-sap
%defattr(-,root,root,-)
@@ -254,7 +281,7 @@ sed -i 's|.*/\([^/]\+\)/[^\.]\+\.conf|\1|' %{_sysconfdir}/tuned/active_profile
%{_libexecdir}/tuned/realtime-virtual-guest
%{_libexecdir}/tuned/realtime-virtual-host
%{_libexecdir}/tuned/defirqaffinity*
-%{_mandir}/man7/tuned-profiles-nfv.7*
+%{_mandir}/man7/tuned-profiles-nfv-*.7.gz
%files utils
%defattr(-,root,root,-)
diff --git a/tuned-2.4.0-use_cpupower_for_intel_perf_bias.patch b/use-cpupower-for-intel-perf-bias.patch
similarity index 82%
rename from tuned-2.4.0-use_cpupower_for_intel_perf_bias.patch
rename to use-cpupower-for-intel-perf-bias.patch
index 423220b..d90f826 100644
--- a/tuned-2.4.0-use_cpupower_for_intel_perf_bias.patch
+++ b/use-cpupower-for-intel-perf-bias.patch
@@ -1,10 +1,10 @@
-Index: tuned-2.6.0/tuned/plugins/plugin_cpu.py
+Index: tuned-2.8.0/tuned/plugins/plugin_cpu.py
===================================================================
---- tuned-2.6.0.orig/tuned/plugins/plugin_cpu.py
-+++ tuned-2.6.0/tuned/plugins/plugin_cpu.py
-@@ -109,7 +109,8 @@ class CPULatencyPlugin(base.Plugin):
- # Check for cpupower, use workaround if not available
- self._check_cpupower()
+--- tuned-2.8.0.orig/tuned/plugins/plugin_cpu.py
++++ tuned-2.8.0/tuned/plugins/plugin_cpu.py
+@@ -110,7 +110,8 @@ class CPULatencyPlugin(base.Plugin):
+ instance._load_monitor = None
+
# Check for x86_energy_perf_policy, ignore if not available / supported
- self._check_energy_perf_bias()
+ if self._has_cpupower is False:
@@ -12,7 +12,7 @@ Index: tuned-2.6.0/tuned/plugins/plugin_cpu.py
# Check for intel_pstate
self._check_intel_pstate()
else:
-@@ -237,7 +238,17 @@ class CPULatencyPlugin(base.Plugin):
+@@ -262,7 +263,17 @@ class CPULatencyPlugin(base.Plugin):
if not self._is_cpu_online(device):
log.debug("%s is not online, skipping" % device)
return None
@@ -31,7 +31,7 @@ Index: tuned-2.6.0/tuned/plugins/plugin_cpu.py
if not sim:
cpu_id = device.lstrip("cpu")
log.info("setting energy_perf_bias '%s' on cpu '%s'" % (energy_perf_bias, device))
-@@ -265,14 +276,21 @@ class CPULatencyPlugin(base.Plugin):
+@@ -290,14 +301,21 @@ class CPULatencyPlugin(base.Plugin):
if not self._is_cpu_online(device):
log.debug("%s is not online, skipping" % device)
return None