diff options
Diffstat (limited to 'libre')
-rw-r--r-- | libre/linux-libre-tools/PKGBUILD | 19 | ||||
-rw-r--r-- | libre/linux-libre-tools/cpupower.rc | 34 | ||||
-rw-r--r-- | libre/linux-libre-tools/cpupower.service | 2 | ||||
-rw-r--r-- | libre/linux-libre-tools/cpupower.systemd | 32 |
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: |