system/lirc: Updated for version 0.8.4a

This commit is contained in:
Johann Wilhelm 2010-05-12 17:45:29 +02:00 committed by Robby Workman
parent e57a260701
commit 85baeb20e1
7 changed files with 116 additions and 94 deletions

View File

@ -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.

View File

@ -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.

View File

@ -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@

View File

@ -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 \

View File

@ -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

View File

@ -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"

View File

@ -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: