e9f703a
# Explicitly turn on hardening, if required.
8e40cdc
%if 0%{?rhel} && 0%{?rhel} <= 7
e9f703a
%global _hardened_build 1
8e40cdc
%endif
e9f703a
ba81988
%global pkgname thermal_daemon
ba81988
ba81988
ba81988
Name:		thermald
95e11ab
Version:	2.4.8
82e1a8a
Release:	%autorelease
ba81988
Summary:	Thermal Management daemon
ba81988
95e11ab
License:	GPLv2+
f748372
URL:		https://github.com/intel/%{pkgname}
f748372
Source0:	%{url}/archive/v%{version}/%{name}-%{version}.tar.gz
ba81988
ba81988
# No cpuid.h on other arches.
ba81988
ExclusiveArch:	%{ix86} x86_64
ba81988
1a83315
BuildRequires: make
aea6a38
BuildRequires:	autoconf autoconf-archive
ba81988
BuildRequires:	automake
ba81988
BuildRequires:	dbus-glib-devel
ba81988
BuildRequires:	desktop-file-utils
ba81988
BuildRequires:	gcc-c++
ba81988
BuildRequires:	libxml2-devel
8e40cdc
BuildRequires:	systemd-devel
c5f3404
BuildRequires:  upower-devel
c5f3404
BuildRequires:  libevdev-devel
c5f3404
BuildRequires:  gtk-doc
ba81988
ba81988
Requires:	dbus%{?_isa}
ba81988
ba81988
Requires(pre):	glibc-common
ba81988
Requires(pre):	shadow-utils
ba81988
ba81988
%{?systemd_requires}
ba81988
02a1ad9
ba81988
%description
ba81988
%{name} monitors and controls platform temperature.
ba81988
ba81988
Thermal issues are important to handle proactively to reduce performance
ba81988
impact.  %{name} uses the existing Linux kernel infrastructure and can
ba81988
be easily enhanced.
ba81988
ba81988
ba81988
%package monitor
ba81988
Summary:	Application for monitoring %{name}
ba81988
License:	GPLv3+
ba81988
ba81988
BuildRequires:	qt5-qtbase-devel
ba81988
ba81988
Requires:	hicolor-icon-theme
ba81988
Requires:	%{name}%{?_isa}		== %{version}-%{release}
ba81988
b82c30a
Provides:	bundled(qcustomplot) = 2.0.0-beta
b82c30a
ba81988
%description monitor
ba81988
This package contains an Application to monitor %{name} for system
ba81988
developers who want to enable application developers and their
ba81988
customers with the responsive and flexible thermal management,
ba81988
supporting optimal performance in desktop, clam-shell, mobile and
ba81988
embedded devices.
ba81988
ba81988
ba81988
%prep
ba81988
%autosetup -n %{pkgname}-%{version} -p 1
ba81988
ba81988
# Create tmpfiles.d config.
ba81988
%{__mkdir} -p fedora_addons
ba81988
%{__cat} << EOF > fedora_addons/%{name}.conf
ba81988
d %{_rundir}/%{name} 0755 root root -
ba81988
EOF
ba81988
ba81988
# Create desktop-file for the monitor-app.
ba81988
%{__cat} << EOF > fedora_addons/%{name}-monitor.desktop
ba81988
[Desktop Entry]
ba81988
Name=%{name} Monitor
ba81988
Comment=Application for monitoring %{name}
ba81988
Icon=%{name}-monitor
6f6e748
Categories=System;Settings;
ba81988
Exec=%{_bindir}/ThermalMonitor
ba81988
Type=Application
ba81988
StartupNotify=true
ba81988
Terminal=false
ba81988
EOF
ba81988
ba81988
# Create icon for the monitor-app.
ba81988
%{__cat} << EOF > fedora_addons/%{name}-monitor.svg
ba81988
ba81988
ba81988
	 viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
ba81988
ba81988
	C17.68,321.732,10.894,289.661,10.894,256C10.894,120.636,120.636,10.894,256,10.894S501.106,120.636,501.106,256z"/>
ba81988
ba81988
	c0-18.802-7.626-35.818-19.935-48.15l75.101-75.101C410.783,164.298,430.294,207.872,430.294,256z"/>
ba81988
ba81988
	c-73.826,0-136.933-45.895-162.337-110.723C85.935,299.879,81.698,278.43,81.698,256c0-96.256,78.042-174.298,174.298-174.298
ba81988
	c48.128,0,91.702,19.51,123.25,51.047l-75.101,75.101c12.31,12.332,19.935,29.347,19.935,48.15c0,5.588-0.686,11.013-1.95,16.21
ba81988
	L418.332,319.564z"/>
ba81988
ba81988
	l63.706-31.352l96.212-47.365c-1.264-5.196-1.961-10.621-1.961-16.21c0-37.605,30.491-68.085,68.085-68.085
ba81988
	c18.802,0,35.818,7.626,48.15,19.935c12.31,12.332,19.935,29.347,19.935,48.15c0,5.588-0.686,11.013-1.95,16.21l96.202,47.355
ba81988
	L482.038,350.927z"/>
ba81988
<circle style="fill:#EFEFEF;" cx="256" cy="256" r="21.787"/>
ba81988
<g>
ba81988
	
ba81988
		c1.895,3.851,5.762,6.085,9.781,6.085c1.614,0,3.255-0.362,4.802-1.122l77.373-38.087c5.398-2.657,7.62-9.187,4.963-14.584
ba81988
		C203.495,307.369,196.965,305.147,191.566,307.802z"/>
ba81988
	
ba81988
		c26.031-11.098,49.226-27.021,68.936-47.325c4.192-4.316,4.088-11.213-0.228-15.405c-4.317-4.19-11.213-4.087-15.405,0.229
ba81988
		c-36.133,37.22-84.715,57.719-136.799,57.719C249.985,446.638,245.106,451.515,245.106,457.532z"/>
ba81988
	
ba81988
		c3.403-4.961,2.142-11.742-2.82-15.145c-4.958-3.403-11.74-2.142-15.145,2.819l-0.15,0.219
ba81988
		C409.708,369.076,410.969,375.856,415.931,379.26z"/>
ba81988
	
ba81988
		S237.98,288.683,256,288.683S288.681,274.022,288.681,256.002z M245.106,256.002c0-6.007,4.887-10.894,10.894-10.894
ba81988
		c6.007,0,10.894,4.887,10.894,10.894c0,6.007-4.887,10.894-10.894,10.894C249.993,266.896,245.106,262.009,245.106,256.002z"/>
ba81988
	
ba81988
		C187.622,0,123.335,26.629,74.982,74.983C26.629,123.335,0,187.622,0,256c0,34.321,6.685,67.638,19.868,99.032
ba81988
		c0.015,0.039,0.026,0.078,0.042,0.118C59.97,450.433,152.639,512,255.996,512s196.025-61.567,236.085-156.851
ba81988
		c0,0,0-0.001,0.001-0.002l0.002,0.003C505.299,323.726,512,290.367,512,256z M255.996,490.213
ba81988
		c-91.135,0-173.186-52.313-211.823-134.142l150.511-74.087c4.58-2.255,6.98-7.387,5.774-12.348
ba81988
		c-1.097-4.507-1.653-9.095-1.653-13.636c0-31.536,25.657-57.191,57.191-57.191c15.265,0,29.632,5.949,40.44,16.738
ba81988
		c10.802,10.822,16.751,25.188,16.751,40.453c0,4.57-0.552,9.157-1.642,13.636c-1.206,4.961,1.194,10.094,5.775,12.348
ba81988
		l150.499,74.086C429.182,437.898,347.131,490.213,255.996,490.213z M92.591,256c0-90.101,73.303-163.404,163.404-163.404
ba81988
		c39.988,0,77.792,14.274,107.592,40.406l-59.981,59.984c-13.652-10.349-30.203-15.964-47.611-15.964
ba81988
		c-43.549,0-78.979,35.429-78.979,78.979c0,3.354,0.218,6.721,0.651,10.076l-77.795,38.292
ba81988
		C95.042,288.781,92.591,272.563,92.591,256z M378.993,148.407C405.126,178.206,419.4,216.011,419.4,256
ba81988
		c0,16.559-2.443,32.779-7.276,48.367l0.001,0.002l-77.797-38.297c0.43-3.344,0.646-6.712,0.646-10.072
ba81988
		c0-17.413-5.618-33.97-15.981-47.631l0.031,0.01L378.993,148.407z M431.875,314.091c6.176-18.676,9.312-38.169,9.312-58.091
ba81988
		c0-45.811-16.535-89.081-46.766-123.018l5.449-5.448c4.254-4.254,4.254-11.152,0-15.406c-4.253-4.254-11.149-4.254-15.407,0
ba81988
		l-5.449,5.449c-33.938-30.232-77.207-46.768-123.018-46.768C153.881,70.809,70.804,153.885,70.804,256
ba81988
		c0,19.926,3.134,39.421,9.309,58.095L35.774,335.92c-9.286-25.546-13.986-52.377-13.986-79.92
ba81988
		C21.787,126.855,126.854,21.787,256,21.787S490.213,126.855,490.213,256c0,27.547-4.701,54.378-13.987,79.922l0.002,0.003
ba81988
		L431.875,314.091z"/>
ba81988
</g>
ba81988
</svg>
ba81988
EOF
ba81988
ba81988
# Create ReadMe.txt for the monitor-app.
ba81988
%{__cat} << EOF > fedora_addons/%{name}-monitor.ReadMe.txt
ba81988
Running the thermald-monitor-app
ba81988
--------------------------------
ba81988
ba81988
To communicate with thermald via dbus, the user has to be member
ba81988
of the "power" group.  So make sure to add your user id to this
ba81988
group before using the thermald-monitor-app.
ba81988
EOF
ba81988
c5f3404
NO_CONFIGURE=1 ./autogen.sh
ba81988
ba81988
ba81988
%build
ba81988
%configure									\
ba81988
	--disable-option-checking						\
ba81988
	--disable-silent-rules
ba81988
ba81988
%make_build
ba81988
ba81988
# Build the monitor-app.
ba81988
pushd tools/thermal_monitor
ba81988
%{__mkdir} -p %{_target_platform}
ba81988
pushd %{_target_platform}
ba81988
%{qmake_qt5} ..
ba81988
%make_build
ba81988
popd
ba81988
popd
ba81988
ba81988
ba81988
%install
ba81988
%make_install
ba81988
ba81988
# Install management-script.
ba81988
%{__install} -Dpm 0755 tools/thermald_set_pref.sh				\
ba81988
	%{buildroot}%{_bindir}/%{name}-set-pref
ba81988
ba81988
# DBus config belongs into %%{_datadir}.
ba81988
%{__mkdir} -p %{buildroot}%{_datadir}
ba81988
%{__mv} -f %{buildroot}%{_sysconfdir}/dbus-1/* %{buildroot}%{_datadir}/dbus-1/
ba81988
ba81988
# No Upstart.
ba81988
%{__rm} -fr %{buildroot}%{_sysconfdir}/init
ba81988
ba81988
# Setup tmpfiles.d
ba81988
%{__install} -Dpm 0644 fedora_addons/%{name}.conf				\
ba81988
	%{buildroot}%{_tmpfilesdir}/%{name}.conf
ba81988
%{__install} -dm 0755 %{buildroot}%{_rundir}/%{name}
ba81988
/bin/echo "%{name}_pid" > %{buildroot}%{_rundir}/%{name}/%{name}.pid
ba81988
%{__chmod} -c 0644 %{buildroot}%{_rundir}/%{name}/%{name}.pid
ba81988
ba81988
# Install the monitor-app.
ba81988
%{__install} -Dpm 0755 tools/thermal_monitor/%{_target_platform}/ThermalMonitor	\
ba81988
	%{buildroot}%{_bindir}/ThermalMonitor
ba81988
%{__install} -Dpm 0644 fedora_addons/%{name}-monitor.desktop			\
ba81988
	%{buildroot}%{_datadir}/applications/%{name}-monitor.desktop
ba81988
%{__install} -Dpm 0644 fedora_addons/%{name}-monitor.svg			\
ba81988
	%{buildroot}%{_datadir}/icons/hicolor/scalable/apps/%{name}-monitor.svg
ba81988
ba81988
ba81988
%check
ba81988
%{_bindir}/desktop-file-validate						\
ba81988
	%{buildroot}%{_datadir}/applications/*.desktop
ba81988
ba81988
ba81988
%pre
ba81988
/bin/getent group power >/dev/null || /sbin/groupadd -r power
ba81988
exit 0
ba81988
ba81988
ba81988
%post
ba81988
%systemd_post thermald.service
ba81988
ba81988
ba81988
%preun
ba81988
%systemd_preun thermald.service
ba81988
ba81988
ba81988
%postun
ba81988
%systemd_postun_with_restart thermald.service
ba81988
ba81988
%files
ba81988
%config(noreplace) %{_sysconfdir}/%{name}
ba81988
%doc README.txt thermal_daemon_usage.txt
ba81988
%ghost %dir %{_rundir}/%{name}
ba81988
%ghost %{_rundir}/%{name}/%{name}.pid
ba81988
%license COPYING
ba81988
%{_bindir}/%{name}-set-pref
ba81988
%{_datadir}/dbus-1/system-services/org.freedesktop.%{name}.service
ba81988
%{_datadir}/dbus-1/system.d/org.freedesktop.%{name}.conf
ba81988
%{_mandir}/man5/thermal-conf.xml.5*
ba81988
%{_mandir}/man8/%{name}.8*
ba81988
%{_sbindir}/%{name}
ba81988
%{_tmpfilesdir}/%{name}.conf
ba81988
%{_unitdir}/%{name}.service
ba81988
ba81988
ba81988
%files monitor
ba81988
%doc fedora_addons/%{name}-monitor.ReadMe.txt
ba81988
%license tools/thermal_monitor/qcustomplot/GPL.txt
ba81988
%{_bindir}/ThermalMonitor
ba81988
%{_datadir}/applications/%{name}-monitor.desktop
ba81988
%{_datadir}/icons/hicolor/scalable/apps/%{name}-monitor.svg
ba81988
ba81988
ba81988
%changelog
82e1a8a
%autochangelog