Git-Url: http://git.frugalware.org/gitweb/gitweb.cgi?p=frugalware-current.git;a=commitdiff;h=7c7b653e3e72591ccee5d93a29627bea695b2a4f
commit 7c7b653e3e72591ccee5d93a29627bea695b2a4f Author: James Buren <[email protected]> Date: Tue Jan 17 04:36:26 2012 -0700 cpupower-3.1-1-i686 * new package diff --git a/source/apps/cpupower/FrugalBuild b/source/apps/cpupower/FrugalBuild new file mode 100644 index 0000000..5723c5a --- /dev/null +++ b/source/apps/cpupower/FrugalBuild @@ -0,0 +1,41 @@ +# Compiling Time: 0.8 SBU +# Maintainer: James Buren <[email protected]> + +Finclude kernel-version + +pkgname=cpupower +pkgver=$_F_kernelver_ver +pkgrel=1 +pkgdesc="Kernel cpu powersaving tool" +url="http://www.kernel.org" +rodepends=("kernel>=$_F_kernelver_ver" "kernel<3.2") +depends=('pciutils') +makedepends=("kernel-source>=$_F_kernelver_ver" "kernel-source<3.2") +groups=('apps') +archs=('i686' 'x86_64') +up2date="$pkgver" +source=(cpupower cpupower.sh cpupower.service README.Frugalware) +backup=('etc/sysconfig/cpupower') +sha1sums=('c01ab082299752f502be204363d39b7c5633144a' \ + '0d89aa7b8793f605108a28fe84abdad49bee8cc5' \ + '23f7cebcd39781b7a9080e22f404e3d6c6d926be' \ + '2cd20c27689c4a63449214cf07cc51c066e3730a') +conflicts=('cpufrequtils') +provides=('cpufrequtils') +replaces=('cpufrequtils') + +build() +{ + Fexec cp -rf /usr/src/linux-$_F_kernelver_ver-fw$_F_kernelver_rel . || Fdie + Fcd linux-$_F_kernelver_ver-fw$_F_kernelver_rel/tools/power/cpupower + make clean || Fdie + Fsed '$(OPTIMIZATION) -fomit-frame-pointer' "$CFLAGS" Makefile + make DEBUG=false CPUFREQ_BENCH=false || Fdie + make DESTDIR="$Fdestdir" CPUFREQ_BENCH=false install || Fdie + Fmv /usr/man /usr/share + Ffile /etc/sysconfig/cpupower + Fexe /usr/sbin/cpupower.sh + Ffile /lib/systemd/system/cpupower.service +} + +# optimization OK diff --git a/source/apps/cpupower/README.Frugalware b/source/apps/cpupower/README.Frugalware new file mode 100644 index 0000000..ee93e85 --- /dev/null +++ b/source/apps/cpupower/README.Frugalware @@ -0,0 +1,7 @@ +Configure your hardware specific options under /etc/sysconfig/cpupower. +See the man pages for cpupower-frequency-set and cpupower-set for more information. +When you are finished configuring, use this command as root to enable it at boot time: + +---- +systemctl enable cpupower.service +---- diff --git a/source/apps/cpupower/cpupower b/source/apps/cpupower/cpupower new file mode 100644 index 0000000..c7130ab --- /dev/null +++ b/source/apps/cpupower/cpupower @@ -0,0 +1,21 @@ +# Driver module to use for this computer's CPU. +#driver="acpi-cpufreq" + +# Scaling governor to use for this computer's CPU. +#governor="ondemand" + +# Minimum frequency to allow. +#min_freq="800MHz" + +# Maximum frequency to allow. +#max_freq="2900MHz" + +# Static frequency (must be using userspace scaling governor). +#freq="800MHz" + +# Gives a hint to Intel processors about current powersaving policies. +#perf_bias=0 + +# Changes scheduling policies for additional powersaving. +#mc_scheduler=0 +#smp_scheduler=0 diff --git a/source/apps/cpupower/cpupower.install b/source/apps/cpupower/cpupower.install new file mode 100644 index 0000000..956f65b --- /dev/null +++ b/source/apps/cpupower/cpupower.install @@ -0,0 +1,19 @@ +post_upgrade() +{ + systemctl daemon-reload &> /dev/null +} + +pre_remove() +{ + systemctl --no-reload disable cpupower.service &> /dev/null + systemctl stop cpupower.service &> /dev/null +} + +post_remove() +{ + systemctl daemon-reload &> /dev/null +} + +op=$1 +shift +$op $* diff --git a/source/apps/cpupower/cpupower.service b/source/apps/cpupower/cpupower.service new file mode 100644 index 0000000..f17e2c0 --- /dev/null +++ b/source/apps/cpupower/cpupower.service @@ -0,0 +1,12 @@ +[Unit] +Description=Apply cpupower configuration +After=syslog.target + +[Service] +ExecStart=/usr/sbin/cpupower.sh +Type=oneshot +StandardOutput=syslog +RemainAfterExit=yes + +[Install] +WantedBy=multi-user.target diff --git a/source/apps/cpupower/cpupower.sh b/source/apps/cpupower/cpupower.sh new file mode 100644 index 0000000..d9113b2 --- /dev/null +++ b/source/apps/cpupower/cpupower.sh @@ -0,0 +1,55 @@ +#!/bin/sh + +include /etc/sysconfig/cpupower + +_add_option() +{ + if test -z "$_options"; then + _options="$1" + else + _options="$_options $1" + fi +} + +if test -n "$driver"; then + modprobe "$driver" +fi + +if test -n "$governor"; then + modprobe "cpufreq_$governor" + _add_option="--governor '$governor'" +fi + +if test -n "$min_freq"; then + _add_option="--min '$min_freq'" +fi + +if test -n "$max_freq"; then + _add_option="--max '$max_freq'" +fi + +if test -n "$freq"; then + _add_option="--freq '$freq'" +fi + +if test -n "$_options"; then + /usr/bin/cpupower frequency-set $_options +fi + +_options="" + +if test -n "$perf_bias"; then + _add_option="--perf-bias '$perf_bias'" +fi + +if test -n "$mc_scheduler"; then + _add_option="--sched-mc '$mc_scheduler'" +fi + +if test -n "$smp_scheduler"; then + _add_option="--sched-smt '$smp_scheduler'" +fi + +if test -n "$_options"; then + /usr/bin/cpupower set $_options +fi _______________________________________________ Frugalware-git mailing list [email protected] http://frugalware.org/mailman/listinfo/frugalware-git
