diff options
Diffstat (limited to 'system/lirc')
-rw-r--r-- | system/lirc/README | 40 | ||||
-rw-r--r-- | system/lirc/README.SLACKWARE | 43 | ||||
-rw-r--r-- | system/lirc/doinst.sh | 7 | ||||
-rw-r--r-- | system/lirc/lirc-0.8.4a.diff | 31 | ||||
-rw-r--r-- | system/lirc/lirc.SlackBuild | 73 | ||||
-rw-r--r-- | system/lirc/lirc.info | 12 | ||||
-rw-r--r-- | system/lirc/slack-desc | 4 |
7 files changed, 116 insertions, 94 deletions
diff --git a/system/lirc/README b/system/lirc/README index 1bafc3649d2c5..b064aa55309cf 100644 --- a/system/lirc/README +++ b/system/lirc/README @@ -2,41 +2,5 @@ LIRC is a package that allows you to decode and send infra-red signals of many (but not all) commonly used remote controls. LIRC is released under the GNU General Public License. It consists of lircd and lircmd daemons. -Configuring lircd (the LIRC daemon) - - 1. Check if there is already a config file in /etc/lircd.conf. If not, - 2. Check if there is a config file available for your remote control at - the LIRC homepage and if so, copy it to /etc/lircd.conf. If not, - 3. Start irrecord (close all applications that access /dev/lirc first) - and follow the instructions given to you by this program. Copy the - resulting file to /etc/lircd.conf. If you have trouble creating a - working config file, please read the chapter about adding new remote - controls -- http://www.lirc.org/html/help.html#new_remote - -Q: How can I use the infrared remote shipped with the tv card ? - -In the 2.6 kernels the remote simply is registered as keyboard input device -within the linux input layer. When using the saa7134 driver it "just works", -with bttv you'll have to load either ir-kbd-gpio or ir-kbd-i2c depending on -your TV card. If in doubt just try both. Have a look at /proc/bus/input/devices -file to see whenever the device is present or not. - -With the driver loaded the IR just works like a additional keyboard. The numbers -are mapped to the keypad keys. Depending on the X-Servers keyboard configuration -(try to pick a multimedia keyboard) other keys like the ones for volume control -might work too. - -Q: But I want use lircd for IR input. - -No problem, you can do that too: - - 1. Get a recent lircd version with linux input layer support. The 0.6.6 - release is too old, a cvs snapshot or a 0.7 pre-release should do. You - only need to build the lircd daemon + tools, no lirc kernel drivers - needed. Take care that the dev/input driver is included when building - lircd (either ./configure --with-driver=any to simply include all drivers - or --with-driver=devinput). - 2. Load the evdev module (which is part of the linux input layer). Check - /proc/bus/input/devices to see which eventn device the IR input device has. - 3. Start the daemon this way: - /usr/sbin/lircd -H dev/input -d /dev/input/eventn. +See README.SLACKWARE (also installed with the package documentation) for +configuration hints. diff --git a/system/lirc/README.SLACKWARE b/system/lirc/README.SLACKWARE new file mode 100644 index 0000000000000..41cbd33bbddc7 --- /dev/null +++ b/system/lirc/README.SLACKWARE @@ -0,0 +1,43 @@ +lirc README.SLACKWARE + +=============================================================================== + +Configuring lircd (the LIRC daemon) + + 1. Check if there is already a config file in /etc/lircd.conf. If not, + 2. Check if there is a config file available for your remote control at + the LIRC homepage and if so, copy it to /etc/lircd.conf. If not, + 3. Start irrecord (close all applications that access /dev/lirc first) + and follow the instructions given to you by this program. Copy the + resulting file to /etc/lircd.conf. If you have trouble creating a + working config file, please read the chapter about adding new remote + controls -- http://www.lirc.org/html/help.html#new_remote + +Q: How can I use the infrared remote shipped with the tv card ? + +In the 2.6 kernels the remote simply is registered as keyboard input device +within the linux input layer. When using the saa7134 driver it "just works", +with bttv you'll have to load either ir-kbd-gpio or ir-kbd-i2c depending on +your TV card. If in doubt just try both. Have a look at /proc/bus/input/devices +file to see whenever the device is present or not. + +With the driver loaded the IR just works like a additional keyboard. The numbers +are mapped to the keypad keys. Depending on the X-Servers keyboard configuration +(try to pick a multimedia keyboard) other keys like the ones for volume control +might work too. + +Q: But I want use lircd for IR input. + +No problem, you can do that too: + + 1. Get a recent lircd version with linux input layer support. The 0.6.6 + release is too old, a cvs snapshot or a 0.7 pre-release should do. You + only need to build the lircd daemon + tools, no lirc kernel drivers + needed. Take care that the dev/input driver is included when building + lircd (either ./configure --with-driver=any to simply include all drivers + or --with-driver=devinput). + 2. Load the evdev module (which is part of the linux input layer). Check + /proc/bus/input/devices to see which eventn device the IR input device has. + 3. Start the daemon this way: + /usr/sbin/lircd -H dev/input -d /dev/input/eventn. + diff --git a/system/lirc/doinst.sh b/system/lirc/doinst.sh index 843f41a053ad6..07ee0983de34a 100644 --- a/system/lirc/doinst.sh +++ b/system/lirc/doinst.sh @@ -1,12 +1,11 @@ -#!/bin/sh - config() { NEW="$1" OLD="$(dirname $NEW)/$(basename $NEW .new)" # If there's no config file by that name, mv it over: if [ ! -r $OLD ]; then mv $NEW $OLD - elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then # toss the redundant copy + elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then + # toss the redundant copy rm $NEW fi # Otherwise, we leave the .new copy for the admin to consider... @@ -16,3 +15,5 @@ config etc/lircd.conf.new config etc/lircmd.conf.new config etc/lircrc.new +chroot . /sbin/depmod -ae @KERNEL@ + diff --git a/system/lirc/lirc-0.8.4a.diff b/system/lirc/lirc-0.8.4a.diff new file mode 100644 index 0000000000000..9f25c81576a2c --- /dev/null +++ b/system/lirc/lirc-0.8.4a.diff @@ -0,0 +1,31 @@ +This avoids the building of lirc_gpio and lirc_parallel. + +Since SMP-Kernels are usual today, lirc_parallel would break the build. + +see lirc_parallel.c: +#ifdef CONFIG_SMP +#error "--- Sorry, this driver is not SMP safe. ---" +#endif + +lirc_gpio uses 2 functions, not exported by the kernel shipped with Slackware 12.2. +These were: bttv_get_cardinfo and bttv_get_gpio_queue + +diff -uprN lirc-0.8.4a_orig/configure lirc-0.8.4a/configure +--- lirc-0.8.4a_orig/configure 2008-10-26 15:13:42.000000000 +0100 ++++ lirc-0.8.4a/configure 2009-01-07 07:04:05.805431467 +0100 +@@ -25861,7 +25861,6 @@ elif test "$lirc_driver" = "all"; then + lirc_atiusb \ + lirc_bt829 \ + lirc_cmdir \ +- lirc_gpio \ + lirc_i2c \ + lirc_igorplugusb \ + lirc_imon \ +@@ -25869,7 +25868,6 @@ elif test "$lirc_driver" = "all"; then + lirc_ite8709 \ + lirc_mceusb \ + lirc_mceusb2 \ +- lirc_parallel \ + lirc_sasem \ + lirc_serial \ + lirc_sir \ diff --git a/system/lirc/lirc.SlackBuild b/system/lirc/lirc.SlackBuild index b580b24cffcc8..de644df7186a6 100644 --- a/system/lirc/lirc.SlackBuild +++ b/system/lirc/lirc.SlackBuild @@ -2,7 +2,9 @@ # Slackware build script for lirc +# Copyright 2009 Johann Wilhelm <johann.wilhelm@9mal6.de> # Copyright 2007 David Somero <dsomero@hotmail.com> +# # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -22,13 +24,10 @@ # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# Modified by Robby Workman of the SlackBuilds.org project -# No additional license terms and no copyright claim :-) - PRGNAM=lirc -VERSION=0.8.3 +VERSION=0.8.4a ARCH=${ARCH:-i486} -BUILD=${BUILD:-2} +BUILD=${BUILD:-1} TAG=${TAG:-_SBo} CWD=$(pwd) @@ -36,17 +35,15 @@ TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} -PKG_VERSION=${PKG_VERSION:-$VERSION} # Only changes if BLASTER=yes - # Any of these can be changed by passing the desired value on command line # when executing the build script. For example: -# BLASTER=yes ./lirc.SlackBuild -# Note that IRQ and PORT are only important if BLASTER is "yes" -BLASTER=${BLASTER:-no} +# IRQ=5 ./lirc.SlackBuild IRQ=${IRQ:-4} PORT=${PORT:-0x3f8} KERNEL=${KERNEL:-$(uname -r)} +PKG_VERSION=${VERSION}_$(echo $KERNEL | tr '-' '_') + if [ "${ARCH}" = "i486" ]; then SLKCFLAGS="-O2 -march=i486 -mtune=i686" elif [ "${ARCH}" = "i686" ]; then @@ -70,6 +67,10 @@ find . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \; +# Patch configure to not build a couple of things that either won't work +# or will break compilation +patch -p1 < $CWD/$PRGNAM-$VERSION.diff + CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ ./configure \ @@ -78,44 +79,26 @@ CXXFLAGS="$SLKCFLAGS" \ --exec-prefix=/usr \ --sysconfdir=/etc \ --localstatedir=/var \ + --docdir=/usr/doc/$PRGNAM-$VERSION \ + --disable-static \ --enable-sandboxed \ - --with-driver=userspace \ + --with-driver=all \ + --with-transmitter \ --with-x \ - --program-prefix="" \ - --program-suffix="" + --with-major=61 \ + --with-port=$PORT \ + --with-irq=$IRQ \ + --with-moduledir=/lib/modules/$KERNEL/misc \ + --build=$ARCH-slackware-linux -make +make make install DESTDIR=$PKG -if [ "$BLASTER" = "yes" ] ;then - make distclean - - CFLAGS="$SLKCFLAGS" \ - CXXFLAGS="$SLKCFLAGS" \ - ./configure \ - --prefix=/usr \ - --mandir=/usr/man \ - --exec-prefix=/usr \ - --sysconfdir=/etc \ - --localstatedir=/var \ - --enable-sandboxed \ - --with-driver=serial \ - --with-transmitter \ - --with-x \ - --with-major=61 \ - --with-port=$PORT\ - --with-irq=$IRQ \ - --with-moduledir=/lib/modules/$KERNEL/misc - - make - make install DESTDIR=$PKG - PKG_VERSION=${VERSION}_$(echo $KERNEL | tr '-' '_') -fi - mkdir -p $PKG/usr/doc/$PRGNAM-$PKG_VERSION cp -a ANNOUNCE AUTHORS COPYING ChangeLog INSTALL NEWS README TODO \ doc/lirc.hwdb contrib/lircrc $PKG/usr/doc/$PRGNAM-$PKG_VERSION install -m 0644 $CWD/$PRGNAM.SlackBuild $PKG/usr/doc/$PRGNAM-$PKG_VERSION +install -m 0644 $CWD/README.SLACKWARE $PKG/usr/doc/$PRGNAM-$PKG_VERSION ( cd $PKG/usr/man find . -type f -exec gzip -9 {} \; @@ -128,15 +111,15 @@ install -m 0644 $CWD/$PRGNAM.SlackBuild $PKG/usr/doc/$PRGNAM-$PKG_VERSION ) install -D -m 0644 contrib/lircd.conf $PKG/etc/lircd.conf.new -install -D -m 0644 contrib/lircmd.conf $PKG/etc/lircmd.conf.new -install -D -m 0644 contrib/lircrc $PKG/etc/lircrc.new -install -D -m 0644 contrib/lirc.rules $PKG/etc/udev/rules.d/96-lirc.rules +install -m 0644 contrib/lircmd.conf $PKG/etc/lircmd.conf.new +install -m 0644 contrib/lircrc $PKG/etc/lircrc.new +install -D -m 0644 contrib/lirc.rules $PKG/lib/udev/rules.d/96-lirc.rules rm -rf $PKG/dev # We don't need this mkdir -p $PKG/install -install -m 0644 $CWD/doinst.sh $PKG/install/doinst.sh -install -m 0644 $CWD/slack-desc $PKG/install/slack-desc +cat $CWD/slack-desc > $PKG/install/slack-desc +sed "s%@KERNEL@%$KERNEL%" $CWD/doinst.sh > $PKG/install/doinst.sh cd $PKG -/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$PKG_VERSION-$ARCH-$BUILD$TAG.tgz +/sbin/makepkg -p -l y -c n $OUTPUT/$PRGNAM-$PKG_VERSION-$ARCH-$BUILD$TAG.tgz diff --git a/system/lirc/lirc.info b/system/lirc/lirc.info index 43b92cb349575..3f7e2aa8c0295 100644 --- a/system/lirc/lirc.info +++ b/system/lirc/lirc.info @@ -1,8 +1,8 @@ PRGNAM="lirc" -VERSION="0.8.3" +VERSION="0.8.4a" HOMEPAGE="http://www.lirc.org/" -DOWNLOAD="http://downloads.sourceforge.net/lirc/lirc-0.8.3.tar.bz2" -MD5SUM="8e78eeded7b31e5ad02e328970437c0f" -MAINTAINER="David Somero" -EMAIL="dsomero@hotmail.com " -APPROVED="Erik Hanson" +DOWNLOAD="http://downloads.sourceforge.net/lirc/lirc-0.8.4a.tar.bz2" +MD5SUM="606b714ed843d28060163ffc571fc1f7" +MAINTAINER="Johann Wilhelm" +EMAIL="johann.wilhelm@9mal6.de" +APPROVED="rworkman" diff --git a/system/lirc/slack-desc b/system/lirc/slack-desc index 3136c60795c47..d4b0a95d1139b 100644 --- a/system/lirc/slack-desc +++ b/system/lirc/slack-desc @@ -14,6 +14,6 @@ lirc: lirc: LIRC is released under GNU General Public License. It consists lirc: of lircd and lircmd daemons. lirc: -lirc: -lirc: +lirc: This package contains all drivers provided by lirc except +lirc: lirc_gpio and lirc_parallel. lirc: |