# # spec file for package cpupower # # Copyright (c) 2017 SUSE LINUX Products GmbH, Nuernberg, Germany. # Author: Thomas Renninger # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # Name: cpupower # Use this as version when things are in mainline kernel %define version %(rpm -q --qf '%{VERSION}' kernel-source) Version: 4.10 Release: 0 %define tsversion 4.16 Summary: Tools to determine and set CPU Power related Settings License: GPL-2.0 Group: System/Base Url: https://git.kernel.org/cgit/linux/kernel/git/rafael/linux-pm.git Source: %{name}-%{version}.tar.bz2 Source1: turbostat-%{tsversion}.tar.bz2 Source2: cpupower_export_tarball_from_git.sh Patch20: turbostat_fix_man_perm.patch Patch22: turbostat_makefile_fix_asm_header.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: gettext-tools BuildRequires: pciutils BuildRequires: pciutils-devel Obsoletes: cpufrequtils Provides: cpufrequtils = %version %description This tool is to make access to the Linux kernel's processor power subsystems like CPU frequency switching (cpufreq) or CPU sleep states (cpuidle) for users and userspace tools easier. %package -n libcpupower0 Summary: Obsolete processor frequency related C-library Group: System/Base %description -n libcpupower0 Contains libcpupower and soon possibly other CPU power related C libraries. %package devel Summary: Include files and C-libraries Group: Development/Languages/C and C++ Conflicts: cpufrequtils-devel Requires: libcpupower0 = %{version} %description devel Include files and C-libraries for C/C++ development %package bench Summary: CPU frequency micro benchmark Group: System/Benchmark Obsoletes: cpufrequtils-bench < %version Provides: cpufrequtils-bench = %version %description bench Helps to test the condition of a given kernel cpufreq governor (e.g. ondemand, userspace, conservative) and the cpufreq HW driver (e.g. powernow-k8, acpi-cpufreq, ...). For that purpose, it compares the performance governor to a configured powersave module. %prep %setup -D -b 1 cd ../turbostat-%{tsversion} %patch20 -p1 %patch22 -p1 %build # This package failed when testing with -Wl,-as-needed being default. # So we disable it here, if you want to retest, just delete this comment and the line below. export SUSE_ASNEEDED=0 CONF="PACKAGE_BUGREPORT=http://bugs.opensuse.org mandir=%_mandir libdir=%_libdir CPUFRQ_BENCH=true STRIP=true VERSION=%{version}" export CFLAGS="$RPM_OPT_FLAGS -I ." make $CONF %{?_smp_mflags} %ifarch ix86 x86_64 cd ../turbostat-%{tsversion} export CFLAGS="%optflags -I ." make %{?_smp_mflags} %endif %install export SUSE_ASNEEDED=0 CONF="PACKAGE_BUGREPORT=http://bugs.opensuse.org mandir=%_mandir libdir=%_libdir CPUFRQ_BENCH=true DESTDIR=$RPM_BUILD_ROOT sbindir=/usr/sbin docdir=%{_docdir}/%{name} confdir=/etc VERSION=%{version}" make install DESTDIR=$RPM_BUILD_ROOT $CONF # copy to examples doc dir to avoid complains from the build # system about an executable in the doc dir. mkdir -p $RPM_BUILD_ROOT/%{_docdir}/%{name}/examples mv $RPM_BUILD_ROOT/%{_docdir}/%{name}/cpufreq-bench_script.sh $RPM_BUILD_ROOT/%{_docdir}/%{name}/examples %find_lang %{name} %ifarch ix86 x86_64 cd ../turbostat-%{tsversion} make install -e DESTDIR="$RPM_BUILD_ROOT" %endif %post -n libcpupower0 -p /sbin/ldconfig %postun -n libcpupower0 -p /sbin/ldconfig %files -f %{name}.lang %defattr (-,root,root) %{_mandir}/man1/cpupower* /usr/bin/cpupower %ifarch ix86 x86_64 %{_mandir}/man8/turbostat* /usr/bin/turbostat %endif %files bench %defattr (-,root,root) %config /etc/cpufreq-bench.conf /usr/sbin/cpufreq-bench /usr/bin/cpufreq-bench_plot.sh %dir %{_docdir}/%{name} %dir %{_docdir}/%{name}/examples %{_docdir}/%{name}/examples/cpufreq-bench_script.sh %{_docdir}/%{name}/README-BENCH %files -n libcpupower0 %defattr(-,root,root) %{_libdir}/libcpupower*.so.* %files devel %defattr(-,root,root) /usr/include/cpufreq.h /usr/include/cpuidle.h %{_libdir}/libcpu*.so %changelog