forked from pool/cpupower
Accepting request 655679 from hardware
OBS-URL: https://build.opensuse.org/request/show/655679 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/cpupower?expand=0&rev=38
This commit is contained in:
commit
e8a139085c
@ -1,3 +1,20 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Dec 6 12:50:21 UTC 2018 - Jan Engelhardt <jengelh@inai.de>
|
||||||
|
|
||||||
|
- Description updates.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Dec 6 09:33:55 UTC 2018 - Ismail Dönmez <idonmez@suse.com>
|
||||||
|
|
||||||
|
- Run spec-cleaner
|
||||||
|
- Don't disable as-needed, it works now.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Dec 4 12:14:23 UTC 2018 - trenn@suse.de
|
||||||
|
|
||||||
|
- Add bash completion for cpupower command (from mainline submit)
|
||||||
|
A cpupower_bash-completion_for_cpupower_tool.patch
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Oct 16 12:50:20 UTC 2018 - trenn@suse.de
|
Tue Oct 16 12:50:20 UTC 2018 - trenn@suse.de
|
||||||
|
|
||||||
|
121
cpupower.spec
121
cpupower.spec
@ -2,7 +2,6 @@
|
|||||||
# spec file for package cpupower
|
# spec file for package cpupower
|
||||||
#
|
#
|
||||||
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
|
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
|
||||||
# Author: Thomas Renninger <trenn@suse.de>
|
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@ -13,157 +12,149 @@
|
|||||||
# license that conforms to the Open Source Definition (Version 1.9)
|
# license that conforms to the Open Source Definition (Version 1.9)
|
||||||
# published by the Open Source Initiative.
|
# published by the Open Source Initiative.
|
||||||
|
|
||||||
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
Name: cpupower
|
|
||||||
# Use this as version when things are in mainline kernel
|
# Use this as version when things are in mainline kernel
|
||||||
%define version %(rpm -q --qf '%VERSION' kernel-source)
|
%define version %(rpm -q --qf '%{VERSION}' kernel-source)
|
||||||
Version: 4.19
|
|
||||||
Release: 0
|
|
||||||
%define tsversion 18.07.27
|
%define tsversion 18.07.27
|
||||||
%define pbversion 17.05.11
|
%define pbversion 17.05.11
|
||||||
|
|
||||||
|
Name: cpupower
|
||||||
|
Version: 4.19
|
||||||
|
Release: 0
|
||||||
Summary: Tools to determine and set CPU Power related Settings
|
Summary: Tools to determine and set CPU Power related Settings
|
||||||
License: GPL-2.0
|
License: GPL-2.0-only
|
||||||
Group: System/Base
|
Group: System/Base
|
||||||
Url: https://git.kernel.org/cgit/linux/kernel/git/rafael/linux-pm.git
|
URL: https://git.kernel.org/cgit/linux/kernel/git/rafael/linux-pm.git
|
||||||
Source: %name-%version.tar.bz2
|
Source: %{name}-%{version}.tar.bz2
|
||||||
Source1: turbostat-%tsversion.tar.bz2
|
Source1: turbostat-%{tsversion}.tar.bz2
|
||||||
Source2: cpupower_export_tarball_from_git.sh
|
Source2: cpupower_export_tarball_from_git.sh
|
||||||
Source3: x86_energy_perf_policy-%{pbversion}.tar.bz2
|
Source3: x86_energy_perf_policy-%{pbversion}.tar.bz2
|
||||||
|
|
||||||
Patch1: cpupower_rapl.patch
|
Patch1: cpupower_rapl.patch
|
||||||
Patch2: rapl_monitor.patch
|
Patch2: rapl_monitor.patch
|
||||||
Patch3: cpupower_exclude_kernel_Makefile.patch
|
Patch3: cpupower_exclude_kernel_Makefile.patch
|
||||||
Patch4: cpupower_fix_compilation_and_sysfs_read_file_mess.patch
|
Patch4: cpupower_fix_compilation_and_sysfs_read_file_mess.patch
|
||||||
|
Patch5: cpupower_bash-completion_for_cpupower_tool.patch
|
||||||
Patch22: turbostat_makefile_fix_asm_header.patch
|
Patch22: turbostat_makefile_fix_asm_header.patch
|
||||||
# Fixes bsc#1048546:
|
# Fixes bsc#1048546:
|
||||||
Patch30: x86_perf_makefile_fix_asm_header.patch
|
Patch30: x86_perf_makefile_fix_asm_header.patch
|
||||||
|
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
|
||||||
BuildRequires: gettext-tools
|
BuildRequires: gettext-tools
|
||||||
BuildRequires: pciutils
|
BuildRequires: pciutils
|
||||||
BuildRequires: pciutils-devel
|
BuildRequires: pciutils-devel
|
||||||
Obsoletes: cpufrequtils
|
Obsoletes: cpufrequtils
|
||||||
Provides: cpufrequtils = %version
|
Provides: cpufrequtils = %{version}
|
||||||
|
|
||||||
%description
|
%description
|
||||||
This tool is to make access to the Linux kernel's processor power subsystems
|
This tool accesses the Linux kernel's processor power subsystems
|
||||||
like CPU frequency switching (cpufreq) or CPU sleep states (cpuidle) for users
|
like CPU frequency switching (cpufreq) or CPU sleep states (cpuidle).
|
||||||
and userspace tools easier.
|
|
||||||
|
|
||||||
%package -n libcpupower0
|
%package -n libcpupower0
|
||||||
Summary: Obsolete processor frequency related C-library
|
Summary: Obsolete processor frequency related C-library
|
||||||
Group: System/Libraries
|
Group: System/Libraries
|
||||||
|
|
||||||
%description -n libcpupower0
|
%description -n libcpupower0
|
||||||
Contains libcpupower and soon possibly other CPU power related
|
Contains libcpupower.
|
||||||
C libraries.
|
|
||||||
|
|
||||||
%package devel
|
%package devel
|
||||||
Summary: Include files and C-libraries
|
Summary: Include files for libcpupower
|
||||||
Group: Development/Languages/C and C++
|
Group: Development/Languages/C and C++
|
||||||
|
Requires: libcpupower0 = %{version}
|
||||||
Conflicts: cpufrequtils-devel
|
Conflicts: cpufrequtils-devel
|
||||||
Requires: libcpupower0 = %version
|
|
||||||
|
|
||||||
%description devel
|
%description devel
|
||||||
Include files and C-libraries for C/C++ development
|
Include files for C/C++ development with libcpupower.
|
||||||
|
|
||||||
%package bench
|
%package bench
|
||||||
Summary: CPU frequency micro benchmark
|
Summary: CPU frequency micro benchmark
|
||||||
Group: System/Benchmark
|
Group: System/Benchmark
|
||||||
Obsoletes: cpufrequtils-bench < %version
|
Obsoletes: cpufrequtils-bench < %{version}
|
||||||
Provides: cpufrequtils-bench = %version
|
Provides: cpufrequtils-bench = %{version}
|
||||||
|
|
||||||
%description bench
|
%description bench
|
||||||
Helps to test the condition of a given kernel cpufreq
|
This benchmark helps to test the condition of a given kernel cpufreq
|
||||||
governor (e.g. ondemand, userspace, conservative) and the cpufreq HW driver
|
governor (e.g. ondemand, userspace, conservative) and the cpufreq HW driver
|
||||||
(e.g. powernow-k8, acpi-cpufreq, ...).
|
(e.g. powernow-k8, acpi-cpufreq, ...).
|
||||||
For that purpose, it compares the performance governor to a configured
|
For that purpose, it compares the performance governor to a configured
|
||||||
powersave module.
|
powersave module.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -D -b 1 -b 3
|
%setup -q -D -b 1 -b 3
|
||||||
%patch1 -p1
|
%patch1 -p1
|
||||||
%patch2 -p1
|
%patch2 -p1
|
||||||
%patch3 -p1
|
%patch3 -p1
|
||||||
%patch4 -p1
|
%patch4 -p1
|
||||||
|
%patch5 -p1
|
||||||
|
|
||||||
cd ../turbostat-%tsversion
|
cd ../turbostat-%{tsversion}
|
||||||
%patch22 -p1
|
%patch22 -p1
|
||||||
|
|
||||||
cd ../x86_energy_perf_policy-%{pbversion}
|
cd ../x86_energy_perf_policy-%{pbversion}
|
||||||
%patch30 -p1
|
%patch30 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
# This package failed when testing with -Wl,-as-needed being default.
|
CONF="PACKAGE_BUGREPORT=https://bugs.opensuse.org mandir=%{_mandir} libdir=%{_libdir} CPUFRQ_BENCH=true VERSION=%{version}"
|
||||||
# So we disable it here, if you want to retest, just delete this comment and the line below.
|
export CFLAGS="%{optflags} -I ."
|
||||||
export SUSE_ASNEEDED=0
|
|
||||||
CONF="PACKAGE_BUGREPORT=http://bugs.opensuse.org mandir=%_mandir libdir=%_libdir CPUFRQ_BENCH=true VERSION=%version"
|
|
||||||
export CFLAGS="%optflags -I ."
|
|
||||||
make $CONF %{?_smp_mflags}
|
make $CONF %{?_smp_mflags}
|
||||||
|
|
||||||
%ifarch ix86 x86_64
|
%ifarch ix86 x86_64
|
||||||
cd ../turbostat-%tsversion
|
cd ../turbostat-%{tsversion}
|
||||||
export CFLAGS="%optflags -I ."
|
export CFLAGS="%{optflags} -I ."
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
cd ../x86_energy_perf_policy-%{pbversion}
|
cd ../x86_energy_perf_policy-%{pbversion}
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%install
|
%install
|
||||||
export SUSE_ASNEEDED=0
|
CONF="PACKAGE_BUGREPORT=https://bugs.opensuse.org mandir=%{_mandir} libdir=%{_libdir} CPUFRQ_BENCH=true DESTDIR=%{buildroot} sbindir=%{_sbindir} docdir=%{_docdir}/%{name} confdir=%{_sysconfdir} VERSION=%{version}"
|
||||||
CONF="PACKAGE_BUGREPORT=http://bugs.opensuse.org mandir=%_mandir libdir=%_libdir CPUFRQ_BENCH=true DESTDIR=%buildroot sbindir=%_sbindir docdir=%_docdir/%name confdir=%_sysconfdir VERSION=%version"
|
|
||||||
%make_install $CONF
|
%make_install $CONF
|
||||||
|
|
||||||
# copy to examples doc dir to avoid complains from the build
|
# copy to examples doc dir to avoid complains from the build
|
||||||
# system about an executable in the doc dir.
|
# system about an executable in the doc dir.
|
||||||
mkdir -p %buildroot/%_docdir/%name/examples
|
mkdir -p %{buildroot}/%{_docdir}/%{name}/examples
|
||||||
mv %buildroot//%_docdir/%name/cpufreq-bench_script.sh %buildroot/%_docdir/%name/examples
|
mv %{buildroot}//%{_docdir}/%{name}/cpufreq-bench_script.sh %{buildroot}/%{_docdir}/%{name}/examples
|
||||||
%find_lang %name
|
|
||||||
|
%find_lang %{name}
|
||||||
|
|
||||||
%ifarch ix86 x86_64
|
%ifarch ix86 x86_64
|
||||||
cd ../turbostat-%tsversion
|
cd ../turbostat-%{tsversion}
|
||||||
%make_install -e
|
%make_install -e
|
||||||
cd ../x86_energy_perf_policy-%{pbversion}
|
cd ../x86_energy_perf_policy-%{pbversion}
|
||||||
%make_install
|
%make_install
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%post -n libcpupower0 -p /sbin/ldconfig
|
%post -n libcpupower0 -p /sbin/ldconfig
|
||||||
|
|
||||||
%postun -n libcpupower0 -p /sbin/ldconfig
|
%postun -n libcpupower0 -p /sbin/ldconfig
|
||||||
|
|
||||||
%files -f %name.lang
|
%files -f %{name}.lang
|
||||||
%defattr (-,root,root)
|
%{_datadir}/bash-completion/completions/cpupower
|
||||||
%_mandir/man1/cpupower*
|
%{_mandir}/man1/cpupower*
|
||||||
%_bindir/cpupower
|
%{_bindir}/cpupower
|
||||||
%ifarch ix86 x86_64
|
%ifarch ix86 x86_64
|
||||||
%_mandir/man8/turbostat*
|
%{_mandir}/man8/turbostat*
|
||||||
%_bindir/turbostat
|
%{_bindir}/turbostat
|
||||||
%_mandir/man8/x86_energy_perf_policy*
|
%{_mandir}/man8/x86_energy_perf_policy*
|
||||||
%_bindir/x86_energy_perf_policy
|
%{_bindir}/x86_energy_perf_policy
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%files bench
|
%files bench
|
||||||
%defattr (-,root,root)
|
%config %{_sysconfdir}/cpufreq-bench.conf
|
||||||
%config %_sysconfdir/cpufreq-bench.conf
|
%{_sbindir}/cpufreq-bench
|
||||||
%_sbindir/cpufreq-bench
|
%{_bindir}/cpufreq-bench_plot.sh
|
||||||
%_bindir/cpufreq-bench_plot.sh
|
%dir %{_docdir}/%{name}
|
||||||
%dir %_docdir/%name
|
%dir %{_docdir}/%{name}/examples
|
||||||
%dir %_docdir/%name/examples
|
%{_docdir}/%{name}/examples/cpufreq-bench_script.sh
|
||||||
%_docdir/%name/examples/cpufreq-bench_script.sh
|
%{_docdir}/%{name}/README-BENCH
|
||||||
%_docdir/%name/README-BENCH
|
|
||||||
|
|
||||||
%files -n libcpupower0
|
%files -n libcpupower0
|
||||||
%defattr(-,root,root)
|
%{_libdir}/libcpupower*.so.*
|
||||||
%_libdir/libcpupower*.so.*
|
|
||||||
|
|
||||||
%files devel
|
%files devel
|
||||||
%defattr(-,root,root)
|
%{_includedir}/cpufreq.h
|
||||||
%_includedir/cpufreq.h
|
%{_includedir}/cpuidle.h
|
||||||
%_includedir/cpuidle.h
|
%{_includedir}/powercap.h
|
||||||
/usr/include/powercap.h
|
%{_libdir}/libcpu*.so
|
||||||
%_libdir/libcpu*.so
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
175
cpupower_bash-completion_for_cpupower_tool.patch
Normal file
175
cpupower_bash-completion_for_cpupower_tool.patch
Normal file
@ -0,0 +1,175 @@
|
|||||||
|
From: "Abhishek Goel" <huntbag@linux.vnet.ibm.com>
|
||||||
|
|
||||||
|
cpupower : bash-completion for cpupower tool
|
||||||
|
|
||||||
|
Signed-off-by: Abhishek Goel <huntbag@linux.vnet.ibm.com>
|
||||||
|
---
|
||||||
|
Makefile | 4 +-
|
||||||
|
cpupower-completion.bash | 129 ++++++++++++++++++
|
||||||
|
2 files changed, 132 insertions(+), 1 deletion(-)
|
||||||
|
create mode 100644 cpupower-completion.bash
|
||||||
|
|
||||||
|
Index: cpupower-4.19/Makefile
|
||||||
|
===================================================================
|
||||||
|
--- cpupower-4.19.orig/Makefile 2018-12-04 12:56:27.824106229 +0100
|
||||||
|
+++ cpupower-4.19/Makefile 2018-12-04 13:16:53.452172269 +0100
|
||||||
|
@@ -87,6 +87,7 @@ endif
|
||||||
|
localedir ?= /usr/share/locale
|
||||||
|
docdir ?= /usr/share/doc/packages/cpupower
|
||||||
|
confdir ?= /etc/
|
||||||
|
+bash_completion_dir ?= /usr/share/bash-completion/completions
|
||||||
|
|
||||||
|
# Toolchain: what tools do we use, and what options do they need:
|
||||||
|
|
||||||
|
@@ -94,7 +95,7 @@ CP = cp -fpR
|
||||||
|
INSTALL = /usr/bin/install -c
|
||||||
|
INSTALL_PROGRAM = ${INSTALL}
|
||||||
|
INSTALL_DATA = ${INSTALL} -m 644
|
||||||
|
-INSTALL_SCRIPT = ${INSTALL_PROGRAM}
|
||||||
|
+INSTALL_SCRIPT = ${INSTALL} -m 755
|
||||||
|
|
||||||
|
# If you are running a cross compiler, you may want to set this
|
||||||
|
# to something more interesting, like "arm-linux-". If you want
|
||||||
|
@@ -288,6 +289,8 @@ install-lib:
|
||||||
|
install-tools:
|
||||||
|
$(INSTALL) -d $(DESTDIR)${bindir}
|
||||||
|
$(INSTALL_PROGRAM) $(OUTPUT)cpupower $(DESTDIR)${bindir}
|
||||||
|
+ $(INSTALL) -d $(DESTDIR)${bindir}
|
||||||
|
+ $(INSTALL_DATA) -D cpupower-completion.sh '$(DESTDIR)${bash_completion_dir}/cpupower'
|
||||||
|
|
||||||
|
install-man:
|
||||||
|
$(INSTALL_DATA) -D man/cpupower.1 $(DESTDIR)${mandir}/man1/cpupower.1
|
||||||
|
Index: cpupower-4.19/cpupower-completion.sh
|
||||||
|
===================================================================
|
||||||
|
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
||||||
|
+++ cpupower-4.19/cpupower-completion.sh 2018-12-04 12:58:53.776114094 +0100
|
||||||
|
@@ -0,0 +1,129 @@
|
||||||
|
+# -*- shell-script -*-
|
||||||
|
+# bash completion script for cpupower
|
||||||
|
+# Taken from git.git's completion script.
|
||||||
|
+
|
||||||
|
+_cpupower_commands="frequency-info frequency-set idle-info idle-set set info monitor"
|
||||||
|
+
|
||||||
|
+_frequency_info ()
|
||||||
|
+{
|
||||||
|
+ local flags="-f -w -l -d -p -g -a -s -y -o -m -n --freq --hwfreq --hwlimits --driver --policy --governors --related-cpus --affected-cpus --stats --latency --proc --human --no-rounding"
|
||||||
|
+ local prev="${COMP_WORDS[COMP_CWORD-1]}"
|
||||||
|
+ local cur="${COMP_WORDS[COMP_CWORD]}"
|
||||||
|
+ case "$prev" in
|
||||||
|
+ frequency-info) COMPREPLY=($(compgen -W "$flags" -- "$cur")) ;;
|
||||||
|
+ esac
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+_frequency_set ()
|
||||||
|
+{
|
||||||
|
+ local flags="-f -g --freq --governor -d --min -u --max -r --related"
|
||||||
|
+ local prev="${COMP_WORDS[COMP_CWORD-1]}"
|
||||||
|
+ local cur="${COMP_WORDS[COMP_CWORD]}"
|
||||||
|
+ case "$prev" in
|
||||||
|
+ -f| --freq | -d | --min | -u | --max)
|
||||||
|
+ if [ -d /sys/devices/system/cpu/cpufreq/ ] ; then
|
||||||
|
+ COMPREPLY=($(compgen -W '$(cat $(ls -d /sys/devices/system/cpu/cpufreq/policy* | head -1)/scaling_available_frequencies)' -- "$cur"))
|
||||||
|
+ fi ;;
|
||||||
|
+ -g| --governor)
|
||||||
|
+ if [ -d /sys/devices/system/cpu/cpufreq/ ] ; then
|
||||||
|
+ COMPREPLY=($(compgen -W '$(cat $(ls -d /sys/devices/system/cpu/cpufreq/policy* | head -1)/scaling_available_governors)' -- "$cur"))
|
||||||
|
+ fi;;
|
||||||
|
+ frequency-set) COMPREPLY=($(compgen -W "$flags" -- "$cur")) ;;
|
||||||
|
+
|
||||||
|
+ esac
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+_idle_info()
|
||||||
|
+{
|
||||||
|
+ local flags="-f --silent"
|
||||||
|
+ local prev="${COMP_WORDS[COMP_CWORD-1]}"
|
||||||
|
+ local cur="${COMP_WORDS[COMP_CWORD]}"
|
||||||
|
+ case "$prev" in
|
||||||
|
+ idle-info) COMPREPLY=($(compgen -W "$flags" -- "$cur")) ;;
|
||||||
|
+ esac
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+_idle_set()
|
||||||
|
+{
|
||||||
|
+ local flags="-d --disable -e --enable -D --disable-by-latency -E --enable-all"
|
||||||
|
+ local prev="${COMP_WORDS[COMP_CWORD-1]}"
|
||||||
|
+ local cur="${COMP_WORDS[COMP_CWORD]}"
|
||||||
|
+ case "$prev" in
|
||||||
|
+ idle-set) COMPREPLY=($(compgen -W "$flags" -- "$cur")) ;;
|
||||||
|
+ esac
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+_set()
|
||||||
|
+{
|
||||||
|
+ local flags="--perf-bias, -b"
|
||||||
|
+ local prev="${COMP_WORDS[COMP_CWORD-1]}"
|
||||||
|
+ local cur="${COMP_WORDS[COMP_CWORD]}"
|
||||||
|
+ case "$prev" in
|
||||||
|
+ set) COMPREPLY=($(compgen -W "$flags" -- "$cur")) ;;
|
||||||
|
+ esac
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+_monitor()
|
||||||
|
+{
|
||||||
|
+ local flags="-l -m -i -c -v"
|
||||||
|
+ local prev="${COMP_WORDS[COMP_CWORD-1]}"
|
||||||
|
+ local cur="${COMP_WORDS[COMP_CWORD]}"
|
||||||
|
+ case "$prev" in
|
||||||
|
+ monitor) COMPREPLY=($(compgen -W "$flags" -- "$cur")) ;;
|
||||||
|
+ esac
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+_taskset()
|
||||||
|
+{
|
||||||
|
+ local prev_to_prev="${COMP_WORDS[COMP_CWORD-2]}"
|
||||||
|
+ local prev="${COMP_WORDS[COMP_CWORD-1]}"
|
||||||
|
+ local cur="${COMP_WORDS[COMP_CWORD]}"
|
||||||
|
+ case "$prev_to_prev" in
|
||||||
|
+ -c|--cpu) COMPREPLY=($(compgen -W "$_cpupower_commands" -- "$cur")) ;;
|
||||||
|
+ esac
|
||||||
|
+ case "$prev" in
|
||||||
|
+ frequency-info) _frequency_info ;;
|
||||||
|
+ frequency-set) _frequency_set ;;
|
||||||
|
+ idle-info) _idle_info ;;
|
||||||
|
+ idle-set) _idle_set ;;
|
||||||
|
+ set) _set ;;
|
||||||
|
+ monitor) _monitor ;;
|
||||||
|
+ esac
|
||||||
|
+
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+_cpupower ()
|
||||||
|
+{
|
||||||
|
+ local i
|
||||||
|
+ local c=1
|
||||||
|
+ local command
|
||||||
|
+
|
||||||
|
+ while test $c -lt $COMP_CWORD; do
|
||||||
|
+ if test $c == 1; then
|
||||||
|
+ command="${COMP_WORDS[c]}"
|
||||||
|
+ fi
|
||||||
|
+ c=$((++c))
|
||||||
|
+ done
|
||||||
|
+
|
||||||
|
+ # Complete name of subcommand if the user has not finished typing it yet.
|
||||||
|
+ if test $c -eq $COMP_CWORD -a -z "$command"; then
|
||||||
|
+ COMPREPLY=($(compgen -W "help -v --version -c --cpu $_cpupower_commands" -- "${COMP_WORDS[COMP_CWORD]}"))
|
||||||
|
+ return
|
||||||
|
+ fi
|
||||||
|
+
|
||||||
|
+ # Complete arguments to subcommands.
|
||||||
|
+ case "$command" in
|
||||||
|
+ -v|--version) return ;;
|
||||||
|
+ -c|--cpu) _taskset ;;
|
||||||
|
+ help) COMPREPLY=($(compgen -W "$_cpupower_commands" -- "${COMP_WORDS[COMP_CWORD]}")) ;;
|
||||||
|
+ frequency-info) _frequency_info ;;
|
||||||
|
+ frequency-set) _frequency_set ;;
|
||||||
|
+ idle-info) _idle_info ;;
|
||||||
|
+ idle-set) _idle_set ;;
|
||||||
|
+ set) _set ;;
|
||||||
|
+ monitor) _monitor ;;
|
||||||
|
+ esac
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+complete -o bashdefault -o default -F _cpupower cpupower 2>/dev/null \
|
||||||
|
+ || complete -o default -F _cpupower cpupower
|
Loading…
Reference in New Issue
Block a user