summaryrefslogtreecommitdiff
path: root/libre/linux-libre-tools
diff options
context:
space:
mode:
Diffstat (limited to 'libre/linux-libre-tools')
-rw-r--r--libre/linux-libre-tools/PKGBUILD83
-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
-rw-r--r--libre/linux-libre-tools/usbipd.conf3
-rw-r--r--libre/linux-libre-tools/usbipd.rc34
-rw-r--r--libre/linux-libre-tools/usbipd.service8
7 files changed, 146 insertions, 50 deletions
diff --git a/libre/linux-libre-tools/PKGBUILD b/libre/linux-libre-tools/PKGBUILD
index 3803b520c..9708d9b1a 100644
--- a/libre/linux-libre-tools/PKGBUILD
+++ b/libre/linux-libre-tools/PKGBUILD
@@ -3,29 +3,43 @@
# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
pkgbase=linux-libre-tools
-_pkgname=('perf' 'cpupower' 'x86_energy_perf_policy')
-pkgname=('perf-libre' 'cpupower-libre' 'x86_energy_perf_policy-libre')
+pkgname=('perf-libre' 'cpupower-libre' 'x86_energy_perf_policy-libre' 'usbip-libre')
_basekernel=3.5
#_sublevel=1
#pkgver=${_basekernel}.${_sublevel}
pkgver=${_basekernel}
-pkgrel=1
+pkgrel=3
license=('GPL2')
arch=('i686' 'x86_64' 'mips64el')
url='http://linux-libre.fsfla.org/'
options=('!strip')
-makedepends=('asciidoc' 'xmlto')
# split packages need all package dependencies set manually in makedepends
-makedepends+=('python2' 'libnewt' 'elfutils' 'pciutils')
+# kernel source deps
+makedepends=('asciidoc' 'xmlto')
+# perf-libre deps
+makedepends+=('perl' 'python2' 'libnewt' 'elfutils')
+# cpupower-libre deps
+makedepends+=('pciutils')
+# usbip-libre deps
+makedepends+=('glib2' 'sysfsutils')
+groups=("$pkgbase")
source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gnu/linux-libre-${_basekernel}-gnu.tar.xz"
#"http://linux-libre.fsfla.org/pub/linux-libre/releases/${pkgver}-gnu/patch-${_basekernel}-gnu-${pkgver}-gnu.xz"
- 'cpupower.rc'
'cpupower.conf'
- 'cpupower.service')
+ 'cpupower.rc'
+ 'cpupower.systemd'
+ 'cpupower.service'
+ 'usbipd.conf'
+ 'usbipd.rc'
+ 'usbipd.service')
md5sums=('2407fc9563a74acaf38aa0c06516eb1c'
- '73dbc931e86b3b73d6e2338dcbee81a4'
'18d5aa9e4c6bb23bb02bf65e155e0f0e'
- '20870541e88109d2f153be3c58a277f1')
+ '1d9214637968b91706b6e616a100d44b'
+ 'c0d17b5295fe964623c772a2dd981771'
+ '2450e8ff41b30eb58d43b5fffbfde1f4'
+ 'e8fac9c45a628015644b4150b139278a'
+ '8a3831d962ff6a9968c0c20fd601cdec'
+ 'ba7c1c513314dd21fb2334fb8417738f')
build() {
# apply stable patching set
@@ -34,7 +48,7 @@ build() {
patch -Np1 -i "${srcdir}/patch-${_basekernel}-gnu-${pkgver}-gnu"
fi
- msg2 'Build perf'
+ msg2 'Build perf-libre'
pushd linux-$pkgver/tools/perf
make \
WERROR=0 \
@@ -46,22 +60,29 @@ build() {
all man
popd
- msg2 'Build cpupower'
+ msg2 'Build cpupower-libre'
pushd linux-$pkgver/tools/power/cpupower
# we cannot use --as-needed
LDFLAGS=${LDFLAGS:+"$LDFLAGS,--no-as-needed"}
make VERSION=$pkgver-$pkgrel
popd
- msg2 'Build x86_energy_perf_policy'
+ msg2 'Build x86_energy_perf_policy-libre'
pushd linux-$pkgver/tools/power/x86/x86_energy_perf_policy
make
popd
+
+ msg2 'Build usbip-libre'
+ pushd linux-$pkgver/drivers/staging/usbip/userspace
+ ./autogen.sh
+ ./configure --prefix=/usr
+ make
+ popd
}
package_perf-libre() {
pkgdesc='Linux-libre kernel performance auditing tool'
- depends=('python2' 'libnewt' 'elfutils')
+ depends=('perl' 'python2' 'libnewt' 'elfutils')
replaces=('perf')
conflicts=('perf')
provides=("perf=$pkgver")
@@ -80,7 +101,7 @@ package_perf-libre() {
package_cpupower-libre() {
pkgdesc='Linux-libre kernel tool to examine and tune power saving related features of your processor'
backup=('etc/conf.d/cpupower')
- depends=('pciutils')
+ depends=('bash' 'pciutils')
replaces=('cpupower')
conflicts=('cpupower' 'cpufrequtils')
provides=("cpupower=$pkgver")
@@ -92,21 +113,43 @@ package_cpupower-libre() {
docdir='/usr/share/doc/cpupower' \
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 daemon scripts
+ 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() {
pkgdesc='Read or write MSR_IA32_ENERGY_PERF_BIAS'
+ depends=('glibc')
replaces=('x86_energy_perf_policy')
conflicts=('x86_energy_perf_policy')
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"
+}
+
+package_usbip-libre() {
+ pkgdesc='An USB device sharing system over IP network'
+ depends=('glib2' 'sysfsutils')
+ options=('!libtool')
+ replaces=('usbip')
+ conflicts=('usbip')
+ provides=("usbip=$pkgver")
+
+ pushd linux-$pkgver/drivers/staging/usbip/userspace
+ make install DESTDIR="$pkgdir"
+ popd
+ # module loading
+ install -Dm 644 /dev/null "$pkgdir/usr/lib/modules-load.d/$pkgname.conf"
+ printf 'usbip-core\nusbip-host\n' > "$pkgdir/usr/lib/modules-load.d/$pkgname.conf"
+ # install daemon scripts
+ install -Dm 755 usbipd.rc "$pkgdir/etc/rc.d/usbipd"
+ install -Dm 644 usbipd.conf "$pkgdir/etc/conf.d/usbipd"
+ install -Dm 644 usbipd.service "$pkgdir/usr/lib/systemd/system/usbipd.service"
}
# 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:
diff --git a/libre/linux-libre-tools/usbipd.conf b/libre/linux-libre-tools/usbipd.conf
new file mode 100644
index 000000000..5990b857a
--- /dev/null
+++ b/libre/linux-libre-tools/usbipd.conf
@@ -0,0 +1,3 @@
+# vim:set ts=2 sw=2 ft=sh noet:
+
+DAEMON_OPTS=''
diff --git a/libre/linux-libre-tools/usbipd.rc b/libre/linux-libre-tools/usbipd.rc
new file mode 100644
index 000000000..15a1bcf00
--- /dev/null
+++ b/libre/linux-libre-tools/usbipd.rc
@@ -0,0 +1,34 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+. /etc/conf.d/${0##*/}
+
+DAEMON=/usr/sbin/usbipd
+PID=$(pidof -o %PPID $DAEMON)
+DAEMON_OPTS="--daemon $DAEMON_OPTS"
+
+case "$1" in
+ start)
+ stat_busy "Starting ${0##*/} daemon"
+ [[ ! $PID ]] && $DAEMON $DAEMON_OPTS && add_daemon ${0##*/} && stat_done && exit 0
+ stat_fail
+ ;;
+ stop)
+ stat_busy "Stopping ${0##*/} daemon"
+ [[ $PID ]] && kill $PID &> /dev/null && rm_daemon ${0##*/} && stat_done && exit 0
+ stat_fail
+ ;;
+ restart)
+ $0 stop
+ $0 start
+ exit 0
+ ;;
+ *)
+ echo "usage: ${0##*/} {start|stop|restart}" >&2
+ ;;
+esac
+
+exit 1
+
+# vim:set ts=2 sw=2 ft=sh et:
diff --git a/libre/linux-libre-tools/usbipd.service b/libre/linux-libre-tools/usbipd.service
new file mode 100644
index 000000000..ac2f5f7c1
--- /dev/null
+++ b/libre/linux-libre-tools/usbipd.service
@@ -0,0 +1,8 @@
+[Unit]
+Description=USB/IP server
+
+[Service]
+ExecStart=/usr/sbin/usbipd
+
+[Install]
+WantedBy=multi-user.target