mirror of
https://abf.rosa.ru/djam/tuned.git
synced 2025-02-24 06:32:57 +00:00
215 lines
7.1 KiB
RPMSpec
215 lines
7.1 KiB
RPMSpec
%global __requires_exclude /usr/bin/stap
|
|
%global _libexecdir %{_prefix}/libexec
|
|
|
|
Summary: A dynamic adaptive system tuning daemon
|
|
Name: tuned
|
|
Version: 2.23.0
|
|
Release: 1
|
|
License: GPLv2+
|
|
Group: System/Kernel and hardware
|
|
URL: https://fedorahosted.org/tuned
|
|
Source0: https://github.com/redhat-performance/tuned/archive/v%{version}/%{name}-%{version}.tar.gz
|
|
Source1: governors.modules
|
|
Source1000: %{name}.rpmlintrc
|
|
Patch0: 0002-get-CPE-string-from-etc-os-release-rather-than-the-m.patch
|
|
BuildRequires: pkgconfig(python3)
|
|
BuildRequires: python3egg(six)
|
|
%ifarch %{x86_64} %{ix86}
|
|
Requires: cpupower
|
|
%endif
|
|
Requires: dbus
|
|
Requires: ethtool
|
|
Requires: hdparm
|
|
Requires: polkit
|
|
Requires: python3-dbus
|
|
Requires: python3-gi
|
|
Requires: python3egg(python-linux-procfs)
|
|
Requires: python3egg(configobj)
|
|
Requires: python3egg(decorator)
|
|
Requires: python3egg(pyudev)
|
|
Requires: python3egg(six)
|
|
Requires: typelib(GObject)
|
|
Requires: virt-what
|
|
Requires(post): virt-what
|
|
BuildArch: noarch
|
|
|
|
%description
|
|
The tuned package contains a daemon that tunes system settings dynamically.
|
|
It does so by monitoring the usage of several system components periodically.
|
|
Based on that information components will then be put into lower or higher
|
|
power saving modes to adapt to the current usage. Currently only ethernet
|
|
network and ATA harddisk devices are implemented.
|
|
|
|
%files
|
|
%doc AUTHORS COPYING README.md doc/TIPS.txt
|
|
%{_sysconfdir}/modprobe.preload.d/governors
|
|
%{_sysconfdir}/%{name}/cpu-partitioning-powersave-variables.conf
|
|
%{_datadir}/bash-completion/completions/tuned-adm
|
|
%exclude %{python3_sitelib}/tuned/gtk
|
|
%{python3_sitelib}/tuned
|
|
%{_sbindir}/tuned
|
|
%{_sbindir}/tuned-adm
|
|
#exclude %{_prefix}/lib/tuned/default
|
|
#exclude %{_prefix}/lib/tuned/desktop-powersave
|
|
#exclude %{_prefix}/lib/tuned/laptop-ac-powersave
|
|
#exclude %{_prefix}/lib/tuned/server-powersave
|
|
#exclude %{_prefix}/lib/tuned/laptop-battery-powersave
|
|
#exclude %{_prefix}/lib/tuned/enterprise-storage
|
|
#exclude %{_prefix}/lib/tuned/spindown-disk
|
|
%exclude %{_mandir}/man7/tuned-profiles-compat.7*
|
|
%{_prefix}/lib/tuned
|
|
%{_prefix}/lib/kernel/install.d/*tuned.*
|
|
%dir %{_sysconfdir}/tuned
|
|
%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/tuned/active_profile
|
|
%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/tuned/profile_mode
|
|
%config(noreplace) %{_sysconfdir}/tuned/tuned-main.conf
|
|
%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/tuned/bootcmdline
|
|
%config(noreplace) %{_sysconfdir}/tuned/cpu-partitioning-variables.conf
|
|
%config(noreplace) %{_sysconfdir}/tuned/realtime-variables.conf
|
|
%config(noreplace) %{_sysconfdir}/tuned/realtime-virtual-guest-variables.conf
|
|
%config(noreplace) %{_sysconfdir}/tuned/realtime-virtual-host-variables.conf
|
|
%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/tuned/post_loaded_profile
|
|
%{_datadir}/dbus-1/system.d/com.redhat.tuned.conf
|
|
%verify(not size mtime md5) %{_sysconfdir}/modprobe.d/tuned.conf
|
|
%{_tmpfilesdir}/tuned.conf
|
|
%{_unitdir}/tuned.service
|
|
#{_presetdir}/86-tuned.preset
|
|
%{_libexecdir}/tuned/defirqaffinity.py
|
|
#{_libexecdir}/tuned/__pycache__/defirqaffinity.*
|
|
%dir %{_localstatedir}/log/tuned
|
|
%dir /run/tuned
|
|
%{_mandir}/man5/tuned*
|
|
%{_mandir}/man7/tuned-profiles*
|
|
%{_mandir}/man8/tuned*
|
|
%{_sysconfdir}/grub.d/00_tuned
|
|
%{_datadir}/polkit-1/actions/com.redhat.tuned.policy
|
|
|
|
%post
|
|
# try to autodetect the best profile for the system in case there is none preset
|
|
if [ ! -f %{_sysconfdir}/tuned/active_profile -o -z "`cat %{_sysconfdir}/tuned/active_profile 2>/dev/null`" ]
|
|
then
|
|
PROFILE=`%{_sbindir}/tuned-adm recommend 2>/dev/null`
|
|
[ "$PROFILE" ] || PROFILE=balanced
|
|
%{_sbindir}/tuned-adm profile "$PROFILE" 2>/dev/null || echo -n "$PROFILE" > %{_sysconfdir}/tuned/active_profile
|
|
fi
|
|
|
|
# convert active_profile from full path to name (if needed)
|
|
sed -e 's|.*/\([^/]\+\)/[^\.]\+\.conf|\1|' -i %{_sysconfdir}/tuned/active_profile
|
|
|
|
%systemd_post %{name}
|
|
|
|
%preun
|
|
%systemd_preun %{name}
|
|
|
|
#----------------------------------------------------------------------------
|
|
|
|
%package gtk
|
|
Summary: GTK GUI for tuned
|
|
Group: System/Kernel and hardware
|
|
Requires: %{name} = %{EVRD}
|
|
Requires: polkit
|
|
Requires: powertop
|
|
Requires: python3-gi
|
|
|
|
%description gtk
|
|
GTK GUI that can control tuned and provide simple profile editor.
|
|
|
|
%files gtk
|
|
%{_sbindir}/tuned-gui
|
|
%{python3_sitelib}/tuned/gtk
|
|
%{_datadir}/tuned/ui
|
|
%{_iconsdir}/hicolor/scalable/apps/tuned.svg
|
|
%{_datadir}/applications/tuned-gui.desktop
|
|
|
|
#----------------------------------------------------------------------------
|
|
|
|
%package profiles-compat
|
|
Summary: Additional tuned profiles mainly for backward compatibility with tuned 1.0
|
|
Group: System/Kernel and hardware
|
|
Requires: %{name} = %{EVRD}
|
|
|
|
%description profiles-compat
|
|
Additional tuned profiles mainly for backward compatibility with tuned 1.0.
|
|
It can be also used to fine tune your system for specific scenarios.
|
|
|
|
%files profiles-compat
|
|
#{_prefix}/lib/tuned/default
|
|
#{_prefix}/lib/tuned/desktop-powersave
|
|
#{_prefix}/lib/tuned/laptop-ac-powersave
|
|
#{_prefix}/lib/tuned/server-powersave
|
|
#{_prefix}/lib/tuned/laptop-battery-powersave
|
|
#{_prefix}/lib/tuned/enterprise-storage
|
|
#{_prefix}/lib/tuned/spindown-disk
|
|
%{_mandir}/man7/tuned-profiles-compat.7*
|
|
|
|
#----------------------------------------------------------------------------
|
|
|
|
%package utils
|
|
Summary: Various tuned utilities
|
|
Group: System/Kernel and hardware
|
|
Requires: %{name} = %{EVRD}
|
|
Requires: powertop
|
|
|
|
%description utils
|
|
This package contains utilities that can help you to fine tune and
|
|
debug your system and manage tuned profiles.
|
|
|
|
%files utils
|
|
%{_bindir}/powertop2tuned
|
|
%{_libexecdir}/tuned/pmqos-static*
|
|
#{_libexecdir}/tuned/__pycache__/pmqos-static*
|
|
|
|
#----------------------------------------------------------------------------
|
|
%package utils-systemtap
|
|
Summary: Disk and net statistic monitoring systemtap scripts
|
|
Group: System/Kernel and hardware
|
|
Requires: %{name} = %{EVRD}
|
|
%ifarch %{x86_64} %{armx} %{ix86}
|
|
Requires: systemtap
|
|
%endif
|
|
|
|
%description utils-systemtap
|
|
This package contains several systemtap scripts to allow detailed
|
|
manual monitoring of the system. Instead of the typical IO/sec it collects
|
|
minimal, maximal and average time between operations to be able to
|
|
identify applications that behave power inefficient (many small operations
|
|
instead of fewer large ones).
|
|
|
|
%files utils-systemtap
|
|
%doc doc/README.utils
|
|
%doc doc/README.scomes
|
|
%{_sbindir}/varnetload
|
|
%{_sbindir}/netdevstat
|
|
%{_sbindir}/diskdevstat
|
|
%{_sbindir}/scomes
|
|
%{_mandir}/man8/varnetload.*
|
|
%{_mandir}/man8/netdevstat.*
|
|
%{_mandir}/man8/diskdevstat.*
|
|
%{_mandir}/man8/scomes.*
|
|
|
|
#----------------------------------------------------------------------------
|
|
|
|
%prep
|
|
%setup -q
|
|
#find . -name "*.py" |xargs 2to3 -w
|
|
# Python 3.x is WAY more picky about mixing tabs and spaces than 2.x
|
|
#find . -name "*.py" |xargs sed -i -e 's, , ,g'
|
|
%apply_patches
|
|
|
|
%build
|
|
%make
|
|
|
|
%install
|
|
%makeinstall_std
|
|
rm -r %{buildroot}%{_docdir}/%{name}
|
|
#use python shebang
|
|
#sed '1 s,^.*$,#!%{__python3},' -i %{buildroot}%{_sbindir}/tuned-gui
|
|
#sed '1 s,^.*$,#!%{__python3},' -i %{buildroot}%{_libexecdir}/tuned/{pmqos-static.py,defirqaffinity.py}
|
|
|
|
#install -d %{buildroot}%{_presetdir}
|
|
#cat > %{buildroot}%{_presetdir}/86-tuned.preset << EOF
|
|
#enable tuned.service
|
|
#EOF
|
|
|
|
# (tpg) install cpu governors's modules
|
|
install -D -m644 %{SOURCE1} %{buildroot}%{_sysconfdir}/modprobe.preload.d/governors
|