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

Reply via email to