summaryrefslogtreecommitdiff
path: root/libre
diff options
context:
space:
mode:
Diffstat (limited to 'libre')
-rw-r--r--libre/linux-libre-tools/PKGBUILD19
-rw-r--r--libre/linux-libre-tools/cpupower.rc34
-rw-r--r--libre/linux-libre-tools/cpupower.service2
-rw-r--r--libre/linux-libre-tools/cpupower.systemd32
4 files changed, 49 insertions, 38 deletions
diff --git a/libre/linux-libre-tools/PKGBUILD b/libre/linux-libre-tools/PKGBUILD
index 3803b520c..1e9216af6 100644
--- a/libre/linux-libre-tools/PKGBUILD
+++ b/libre/linux-libre-tools/PKGBUILD
@@ -9,7 +9,7 @@ _basekernel=3.5
#_sublevel=1
#pkgver=${_basekernel}.${_sublevel}
pkgver=${_basekernel}
-pkgrel=1
+pkgrel=2
license=('GPL2')
arch=('i686' 'x86_64' 'mips64el')
url='http://linux-libre.fsfla.org/'
@@ -21,11 +21,13 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn
#"http://linux-libre.fsfla.org/pub/linux-libre/releases/${pkgver}-gnu/patch-${_basekernel}-gnu-${pkgver}-gnu.xz"
'cpupower.rc'
'cpupower.conf'
+ 'cpupower.systemd'
'cpupower.service')
md5sums=('2407fc9563a74acaf38aa0c06516eb1c'
- '73dbc931e86b3b73d6e2338dcbee81a4'
+ '1d9214637968b91706b6e616a100d44b'
'18d5aa9e4c6bb23bb02bf65e155e0f0e'
- '20870541e88109d2f153be3c58a277f1')
+ 'c0d17b5295fe964623c772a2dd981771'
+ '2450e8ff41b30eb58d43b5fffbfde1f4')
build() {
# apply stable patching set
@@ -93,9 +95,10 @@ package_cpupower-libre() {
install install-man
popd
# install rc.d script
- install -D -m 755 cpupower.rc "$pkgdir/etc/rc.d/cpupower"
- install -D -m 644 cpupower.conf "$pkgdir/etc/conf.d/cpupower"
- install -D -m 644 cpupower.service "$pkgdir/usr/lib/systemd/system/cpupower.service"
+ install -Dm 755 cpupower.rc "$pkgdir/etc/rc.d/cpupower"
+ install -Dm 644 cpupower.conf "$pkgdir/etc/conf.d/cpupower"
+ install -Dm 644 cpupower.service "$pkgdir/usr/lib/systemd/system/cpupower.service"
+ install -Dm 755 cpupower.systemd "$pkgdir/usr/lib/systemd/scripts/cpupower"
}
package_x86_energy_perf_policy-libre() {
@@ -105,8 +108,8 @@ package_x86_energy_perf_policy-libre() {
provides=("x86_energy_perf_policy=$pkgver")
cd linux-$pkgver/tools/power/x86/x86_energy_perf_policy
- install -D -m 755 x86_energy_perf_policy "$pkgdir/usr/bin/x86_energy_perf_policy"
- install -D -m 644 x86_energy_perf_policy.8 "$pkgdir/usr/share/man/man8/x86_energy_perf_policy.8"
+ install -Dm 755 x86_energy_perf_policy "$pkgdir/usr/bin/x86_energy_perf_policy"
+ install -Dm 644 x86_energy_perf_policy.8 "$pkgdir/usr/share/man/man8/x86_energy_perf_policy.8"
}
# vim:set ts=2 sw=2 ft=sh et:
diff --git a/libre/linux-libre-tools/cpupower.rc b/libre/linux-libre-tools/cpupower.rc
index 27a491e95..2c4441c4e 100644
--- a/libre/linux-libre-tools/cpupower.rc
+++ b/libre/linux-libre-tools/cpupower.rc
@@ -2,40 +2,16 @@
. /etc/rc.conf
. /etc/rc.d/functions
-
-[[ -f /etc/conf.d/cpupower ]] && . /etc/conf.d/cpupower
+. /etc/conf.d/${0##*/}
case "$1" in
start|restart)
- stat_busy "Setting cpupower rules"
- declare -i fail=0
-
- # frequency-set options
- declare -a params=()
- params+=(${governor:+-g $governor})
- params+=(${min_freq:+-d $min_freq})
- params+=(${max_freq:+-u $max_freq})
- params+=(${freq:+-f $freq})
- if ((${#params[@]} > 0)); then
- cpupower frequency-set "${params[@]}" >/dev/null || fail=1
- fi
-
- # set options
- declare -a params=()
- params+=(${mc_scheduler:+-m $mc_scheduler})
- params+=(${smp_scheduler:+-s $smp_scheduler})
- params+=(${perf_bias:+-b $perf_bias})
- if ((${#params[@]} > 0)); then
- cpupower set "${params[@]}" >/dev/null || fail=1
- fi
-
- # print failure if any
- (($fail > 0)) && stat_fail && exit 1 || stat_done
+ status 'Setting cpupower rules' /usr/lib/systemd/scripts/cpupower || exit 1
;;
*)
- echo "usage: ${0##*/} {start|restart}"
+ echo "usage: ${0##*/} {start|restart}" >&2
+ exit 1
+ ;;
esac
-true
-
# vim:set ts=2 sw=2 ft=sh et:
diff --git a/libre/linux-libre-tools/cpupower.service b/libre/linux-libre-tools/cpupower.service
index f77cfdc97..aaeba2b08 100644
--- a/libre/linux-libre-tools/cpupower.service
+++ b/libre/linux-libre-tools/cpupower.service
@@ -3,7 +3,7 @@ Description=Apply cpupower configuration
[Service]
Type=oneshot
-ExecStart=/etc/rc.d/cpupower start
+ExecStart=/usr/lib/systemd/scripts/cpupower
RemainAfterExit=yes
[Install]
diff --git a/libre/linux-libre-tools/cpupower.systemd b/libre/linux-libre-tools/cpupower.systemd
new file mode 100644
index 000000000..f45b02bc8
--- /dev/null
+++ b/libre/linux-libre-tools/cpupower.systemd
@@ -0,0 +1,32 @@
+#!/bin/bash
+
+. /etc/conf.d/cpupower
+
+declare -i fail=0
+
+# parse frequency options
+declare -a params=()
+params+=(${governor:+-g $governor})
+params+=(${min_freq:+-d $min_freq})
+params+=(${max_freq:+-u $max_freq})
+params+=(${freq:+-f $freq})
+
+# apply frequency options
+if ((${#params[@]} > 0)); then
+ cpupower frequency-set "${params[@]}" >/dev/null || fail=1
+fi
+
+# parse cpu options
+declare -a params=()
+params+=(${mc_scheduler:+-m $mc_scheduler})
+params+=(${smp_scheduler:+-s $smp_scheduler})
+params+=(${perf_bias:+-b $perf_bias})
+
+# apply cpu options
+if ((${#params[@]} > 0)); then
+ cpupower set "${params[@]}" >/dev/null || fail=1
+fi
+
+exit $fail
+
+# vim:set ts=2 sw=2 ft=sh et: