diff options
Diffstat (limited to 'abs/extra-testing/community')
8 files changed, 213 insertions, 6 deletions
diff --git a/abs/extra-testing/community/mythpywii/CONTROLS b/abs/extra-testing/community/mythpywii/CONTROLS new file mode 100644 index 0000000..d733964 --- /dev/null +++ b/abs/extra-testing/community/mythpywii/CONTROLS @@ -0,0 +1,25 @@ + * Keypad : same as keypad on keyboard + * A : Enter (Accept, OK, next, .) + * Minus (-) : d (Delete) + * Home : escape (Exit to previous menu/exit mythfrontend) + * Plus (+) : p (Play/pause) + * 1 : Info + * 2 : Menu + * B + left : rewind to beginning of video + * B + twist wiimote : rewind (if twisted to the left) or fastforward + (otherwise) with speed dependant on twist amount. + * B + A + twist wiimote: timestretching . slower (if twisted left) or + faster (if twisted right) + +A comment on twisting: +Point the wii remote at the screen, and twist from the elbow so that it + continues to point at the screen. + +The maximum fastforward/rewind speed is 180x. The speeds are dictated by +mythfrontend itself. When you rotate the wiimote, you will feel a slight +vibration (0.05 seconds) to let you know you have gone up or down a speed +segment. To stop fastforwarding/rewinding, simply let go of B. + +Beware: there is no power saving built in. However you should be able to +turn the wiimote off (power button) when not in use, and turn it back on +by holding down 1 and 2 to make it sync. diff --git a/abs/extra-testing/community/mythpywii/PKGBUILD b/abs/extra-testing/community/mythpywii/PKGBUILD index 4b57c77..38e456f 100644 --- a/abs/extra-testing/community/mythpywii/PKGBUILD +++ b/abs/extra-testing/community/mythpywii/PKGBUILD @@ -2,17 +2,27 @@ # Maintainer: Cecil Watson<knoppmyth@gmail.com> pkgname=mythpywii -pkgver=1 -pkgrel=1 +pkgver=17 +pkgrel=8 pkgdesc="Control MythTV using Wiimote." arch=('i686' 'x86_64') license=('GPL2') url="http://www.benjiegillam.com/" depends=('bluez' 'python-pybluez' 'cwiid-svn') -#install=mythpywii.install -source=(http://www.benjiegillam.com/code/myth_py_wii.py) +install=mythpywii.install +source=(http://www.benjiegillam.com/code/myth_py_wii.py \ + wiimote.rules mythpywii.install CONTROLS) build() { - mkdir -p $startdir/pkg/usr/bin - install -D -m 755 myth_py_wii.py $startdir/pkg/usr/bin + install -D -m755 ${srcdir}/myth_py_wii.py ${startdir}/pkg/usr/bin/myth_py_wii.py || return 1 + install -D -m644 ${srcdir}/wiimote.rules ${startdir}/pkg/etc/udev/rules.d/z90-wiimote.rules || return 1 + install -d -o mythtv -g mythtv ${startdir}/pkg/home/mythtv/.cwiid/wminput || return 1 + install -D -m755 -o mythtv -g mythtv /etc/cwiid/wminput/{acc_led,buttons,gamepad,neverball,nunchuk_stick2btn,acc_ptr,ir_ptr,nunchuk_acc_ptr} ${startdir}/pkg/home/mythtv/.cwiid/wminput || return 1 + install -D -m644 ${srcdir}/CONTROLS ${startdir}/pkg/usr/share/docs/mythpywii/CONTROLS || return 1 + cd ${startdir}/pkg/home/mythtv/.cwiid/wminput + ln -s acc_led default } +md5sums=('5bd5e1bb9c4cbfabbffdb28ff616e83b' + '0d817a971d414b9320587a4cf289386b' + '64fa8dbd324dac68f71753ebd828d358' + '0872cbdb3def3dd9aa2b97b191ad76d8') diff --git a/abs/extra-testing/community/mythpywii/mythpywii.install b/abs/extra-testing/community/mythpywii/mythpywii.install new file mode 100644 index 0000000..8d0b867 --- /dev/null +++ b/abs/extra-testing/community/mythpywii/mythpywii.install @@ -0,0 +1,59 @@ +post_install() { + . /home/mythtv/.mythtv/mysql.txt + # Enable the Network Remote Control Interface for use with the wiimote. + # Get local machine's hostname + HOST=`cat /etc/hostname` + # Update mysql for Network Remote Control Support + mysql -u mythtv -pmythtv --host=${DBHostName} mythconverg -e \ + "UPDATE settings SET data = '1' WHERE value = 'NetworkControlEnabled' AND hostname = '${HOST}'"; + echo "------------------------------------------------------------" + echo "myth_py_wii.py expects the Network Control Port to be set to" + echo "mythtv's default port of 6546. It will not work if you have" + echo "changed it to something else." + echo "------------------------------------------------------------" + # Add myth_py_wii.py to ~/mythtv/.fluxbox/apps before LinHES-run + sed -i '/LinHES-run/ i [startup] {/usr/bin/myth_py_wii.py >/dev/null}' /home/mythtv/.fluxbox/apps + # udev needs to pick up our new rule for the mythpywii. + udevadm trigger --subsystem-match="misc" --subsystem-match="bluetooth" + # Add the uinput module + modprobe uinput + # Ensure this module is loaded across reboots + echo "# uinput is needed by mythpywii" >> /etc/modules.mythvantage + echo "uinput" >> /etc/modules.mythvantage + # Bring up the bluetooth interface -- udev will do this after reboot + /usr/sbin/hciconfig hci0 up + # Punting on the multiple bluetooth adapter question. + echo "It is assumed your bluetooth adapter will be hci0." + echo "If you have more than one bluetooth adapter, you" + echo "may need to edit /etc/udev/rules.d/z90-wiimote.rules" + echo "--------------------------------------------------------------" + echo "--------------------------------------------------------------" + # Unfortunately there does not seem to be a way to do this without + # the user manually intervening. + echo "To use your wiimote you will need to restart the frontend service." + echo "$ sudo sv restart frontend" + echo "or simply reboot your machine." + echo "--------------------------------------------------------------" + echo "--------------------------------------------------------------" + echo "After frontend restart, you should now be able to pair your" + echo "Wiimote with your bluetooth adapter by pressing 1 & 2 at the" + echo "same time. After a few seconds the wiimote should vibrate and the" + echo "LEDs will show [ # . . # ] where # is on and . is off." + echo "--------------------------------------------------------------" + echo "See /usr/share/docs/mythpywii/CONTROLS for more information." + echo "--------------------------------------------------------------" +} + +post_remove() { + . /home/mythtv/.mythtv/mysql.txt + # kill myth_py_wii.py + WIIPID=`pidof -o %PPID /usr/bin/myth_py_wii.py` + [ -n "$WIIPID" ] && kill $WIIPID + # Remove uinput + sed -i '/uinput/d' /etc/modules.mythvantage + # Remove line in .fluxbox/apps + sed -i '/myth_py_wii.py/d' /home/mythtv/.fluxbox/apps + # Remove network remote control support + mysql -u mythtv -pmythtv --host=${DBHostName} mythconverg -e \ + "UPDATE settings SET data = '0' WHERE value = 'NetworkControlEnabled' AND hostname = '${HOST}'"; +} diff --git a/abs/extra-testing/community/mythpywii/wiimote.rules b/abs/extra-testing/community/mythpywii/wiimote.rules new file mode 100644 index 0000000..4bb2d9d --- /dev/null +++ b/abs/extra-testing/community/mythpywii/wiimote.rules @@ -0,0 +1,6 @@ +# For Bluetooth/Wiimote + KERNEL=="uinput", MODE="0660", GROUP="mythtv" + +# Automaticly bring up/down the bluetooth interface + ACTION=="add", KERNEL=="hci%n", SUBSYSTEM=="bluetooth", RUN+="/usr/sbin/hciconfig hci%n up" + ACTION=="remove", KERNEL=="hci%n", SUBSYSTEM=="bluetooth", RUN+="/usr/sbin/hciconfig hci%n down" diff --git a/abs/extra-testing/community/network-ups-tools/PKGBUILD b/abs/extra-testing/community/network-ups-tools/PKGBUILD new file mode 100644 index 0000000..515adf8 --- /dev/null +++ b/abs/extra-testing/community/network-ups-tools/PKGBUILD @@ -0,0 +1,53 @@ +# $Id: PKGBUILD 12757 2010-03-13 04:22:57Z dgriffiths $ +# Maintainer: Roman Kyrylych <roman@archlinux.org> +# Contributor: Giuseppe Lucarelli <luk@rebelsoft.org> + +pkgname=network-ups-tools +pkgver=2.4.3 +pkgrel=1 +pkgdesc="NUT is a collection of programs for monitoring and administering UPS hardware" +arch=('i686' 'x86_64') +url="http://www.networkupstools.org/" +license=('GPL2') +depends=('openssl' 'hal' 'gd') +makedepends=('libusb') +backup=(etc/ups/{ups.conf,upsd.conf,upsd.users,upsmon.conf,upssched.conf}) +install=nut.install +source=(http://www.networkupstools.org/source/2.4/nut-$pkgver.tar.gz run finish) +options=('!emptydirs' '!libtool') + +build() { +cd $srcdir/nut-$pkgver +./configure --with-user=nut \ +--prefix=/usr \ +--datadir=/usr/share/ups \ +--sysconfdir=/etc/ups \ +--with-group=nut \ +--with-hal \ +--with-usb \ +--with-cgi \ +--with-cgipath=/usr/share/webapps/nut \ +--with-htmlpath=/usr/share/webapps/nut \ +--with-udev-dir=/etc/udev || return 1 + + make || return 1 + make DESTDIR=$pkgdir install + #ugly hack because --with-pkgconfig-dir doesn't work + install -D -m644 lib/libupsclient.pc $pkgdir/usr/lib/pkgconfig + + install -D -m644 conf/ups.conf.sample $pkgdir/etc/ups/ups.conf + install -D -m640 conf/upsd.conf.sample $pkgdir/etc/ups/upsd.conf + install -D -m640 conf/upsd.users.sample $pkgdir/etc/ups/upsd.users + install -D -m640 conf/upsmon.conf.sample $pkgdir/etc/ups/upsmon.conf + install -D -m644 conf/upssched.conf.sample $pkgdir/etc/ups/upssched.conf + install -D -m755 ../run $pkgdir/etc/sv/upsd/run || return 1 + install -D -m755 ../finish $pkgdir/etc/sv/upsd/finish || return 1 + + # Fix udev rules + sed -i "s|SYSFS|ATTRS|g" $pkgdir/etc/udev/rules.d/52-nut-usbups.rules + install -dm755 ${pkgdir}/lib + mv ${pkgdir}/etc/udev ${pkgdir}/lib +} +md5sums=('6f893b61b07915e7a139324fa3f79121' + '81cfad544c6342125057f9cb978515fb' + 'b5b2e266774acfbc80e64ddfbd4057ee') diff --git a/abs/extra-testing/community/network-ups-tools/finish b/abs/extra-testing/community/network-ups-tools/finish new file mode 100644 index 0000000..d031d4e --- /dev/null +++ b/abs/extra-testing/community/network-ups-tools/finish @@ -0,0 +1,17 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +PID=`pidof -o %PPID /usr/sbin/upsd` + + stat_runit "Stopping UPSd Daemon" + /usr/bin/upsdrvctl stop &> /dev/null + /usr/sbin/upsmon -c stop &> /dev/null + [ ! -z "$PID" ] && kill $PID &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon upsd + stat_done + fi diff --git a/abs/extra-testing/community/network-ups-tools/nut.install b/abs/extra-testing/community/network-ups-tools/nut.install new file mode 100644 index 0000000..5bec199 --- /dev/null +++ b/abs/extra-testing/community/network-ups-tools/nut.install @@ -0,0 +1,20 @@ +post_install() { + groupadd -g 55 nut &> /dev/null + useradd -u 55 -g nut -G tty -d /var/state/ups -s /bin/false nut >/dev/null 2>&1 + mkdir -p /var/state/ups/ + chmod 0770 /var/state/ups/ + chown root:nut /var/state/ups/ + chown root:nut /etc/ups/upsd.conf /etc/ups/upsd.users /etc/ups/upsmon.conf + echo ">>> Before starting your UPSd daemon, you must" + echo ">>> edit /etc/ups/ups.conf in order to set your" + echo ">>> UPS driver and port." + echo ">>> Then add upsd as a service." + echo ">>> $ sudo add_service.sh upsd." +} + +pre_remove() { + remove_service.sh upsd + userdel nut >/dev/null 2>&1 + groupdel nut >/dev/null 2>&1 + rm -rf /var/state/ups/ +} diff --git a/abs/extra-testing/community/network-ups-tools/run b/abs/extra-testing/community/network-ups-tools/run new file mode 100644 index 0000000..f549950 --- /dev/null +++ b/abs/extra-testing/community/network-ups-tools/run @@ -0,0 +1,17 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +PID=`pidof -o %PPID /usr/sbin/upsd` + + stat_runit "Starting UPSd Daemon" + /usr/bin/upsdrvctl start &> /dev/null + [ -z "$PID" ] && /usr/sbin/upsd -f &>/dev/null + /usr/sbin/upsmon &>/dev/null + if [ $? -gt 0 ]; then + stat_fail + else + add_daemon upsd + stat_done + fi |