system/lirc: Updated for version 0.8.6

This commit is contained in:
Murat D. Kadirov 2010-05-13 00:40:51 +02:00 committed by Robby Workman
parent 5431c4f003
commit 987400e238
8 changed files with 92 additions and 152 deletions

View file

@ -1,6 +1,9 @@
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.
LIRC is a package that allows you to decode and send infra-red signals of many
(but not all) commonly used remote controls.
See README.SLACKWARE (also installed with the package documentation) for
configuration hints.
Former versions focussed on home-brew hardware connected to the serial or
parallel port. Current versions of LIRC also support a variety of other
hardware.
NOTE: for FTDI chips support you need install libftdi and ftdi_eeprom from
http://www.intra2net.com/en/developer/libftdi/ before run slackbuild.

View file

@ -1,43 +0,0 @@
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,19 +1,18 @@
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
rm $NEW
fi
# Otherwise, we leave the .new copy for the admin to consider...
}
config etc/lircd.conf.new
config etc/lircmd.conf.new
config etc/lircrc.new
config etc/logrotate.d/lirc.new
chroot . /sbin/depmod -ae @KERNEL@
if [ -x sbin/depmod ]; then
chroot . /sbin/depmod -ae @KERNEL@ 1> /dev/null 2> /dev/null
fi

View file

@ -1,31 +0,0 @@
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,9 +2,7 @@
# Slackware build script for lirc
# Copyright 2009 Johann Wilhelm <johann.wilhelm@9mal6.de>
# Copyright 2007 David Somero <dsomero@hotmail.com>
#
# Copyright 2009 Murat D. Kadirov <banderols@gmail.com>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@ -13,50 +11,50 @@
# 1. Redistributions of this script must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=lirc
VERSION=0.8.4a
VERSION=${VERSION:-0.8.6}
ARCH=${ARCH:-i486}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
KERNEL=${KERNEL:-$(uname -r)}
PKG_VERS=${VERSION}_$(echo $KERNEL| tr - _)
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
# Any of these can be changed by passing the desired value on command line
# when executing the build script. For example:
# IRQ=5 ./lirc.SlackBuild
IRQ=${IRQ:-4}
PORT=${PORT:-0x3f8}
KERNEL=${KERNEL:-$(uname -r)}
PKG_VERSION=${VERSION}_$(echo $KERNEL | tr '-' '_')
if [ "${ARCH}" = "i486" ]; then
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
elif [ "${ARCH}" = "i686" ]; then
LIBDIRSUFFIX=""
SRCARCH=x86
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
SRCARCH=x86
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
SRCARCH=x86
fi
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
cd $TMP
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2
cd $PRGNAM-$VERSION
@ -67,59 +65,65 @@ 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
# Disabling lirc_gpio driver as it does no longer work with kernel 2.6.22+
sed -i -e "s:lirc_gpio\.o::" drivers/lirc_gpio/Makefile.am || exit 1
autoreconf
libtoolize
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--mandir=/usr/man \
--exec-prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--sysconfdir=/etc \
--localstatedir=/var \
--mandir=/usr/man \
--docdir=/usr/doc/$PRGNAM-$VERSION \
--disable-static \
--enable-sandboxed \
--with-driver=all \
--with-transmitter \
--with-x \
--with-major=61 \
--with-port=$PORT \
--with-irq=$IRQ \
--with-moduledir=/lib/modules/$KERNEL/misc \
--build=$ARCH-slackware-linux
make
# Disable parallel and bt829 because of incompatibility with smp systems
sed -i -e "s:lirc_parallel::" -e "s:lirc_bt829::" \
Makefile drivers/Makefile drivers/*/Makefile tools/Makefile
make SRCARCH=$SRCARCH
make install DESTDIR=$PKG
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
mkdir -p $PKG/usr/share/$PRGNAM
cp -a remotes $PKG/usr/share/$PRGNAM
mkdir -p $PKG/lib/udev/rules.d
cat contrib/lirc.rules > $PKG/lib/udev/rules.d/96-lirc.rules
mkdir -p $PKG/etc/logrotate.d
cat contrib/lircd.conf > $PKG/etc/lircd.conf.new
cat contrib/lircmd.conf > $PKG/etc/lircmd.conf.new
cat contrib/lircrc > $PKG/etc/lircrc.new
cat $CWD/lirc.logrotate > $PKG/etc/logrotate.d/lirc.new
( cd $PKG
find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
xargs strip --strip-unneeded 2> /dev/null || true
find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
xargs strip --strip-unneeded 2> /dev/null
)
( cd $PKG/usr/man
find . -type f -exec gzip -9 {} \;
for i in $(find . -type l) ; do ln -s $(readlink $i).gz $i.gz ; rm $i ; done
for i in $( find . -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
)
( cd $PKG
find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
)
install -D -m 0644 contrib/lircd.conf $PKG/etc/lircd.conf.new
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/usr/doc/$PRGNAM-$VERSION
cp -a ANNOUNCE AUTHORS COPYING ChangeLog INSTALL NEWS README TODO \
doc/{html,irxevent.keys,lirc.hwdb} $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
sed "s%@KERNEL@%$KERNEL%" $CWD/doinst.sh > $PKG/install/doinst.sh
cd $PKG
/sbin/makepkg -p -l y -c n $OUTPUT/$PRGNAM-$PKG_VERSION-$ARCH-$BUILD$TAG.tgz
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$PKG_VERS-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}

View file

@ -1,8 +1,10 @@
PRGNAM="lirc"
VERSION="0.8.4a"
VERSION="0.8.6"
HOMEPAGE="http://www.lirc.org/"
DOWNLOAD="http://downloads.sourceforge.net/lirc/lirc-0.8.4a.tar.bz2"
MD5SUM="606b714ed843d28060163ffc571fc1f7"
MAINTAINER="Johann Wilhelm"
EMAIL="johann.wilhelm@9mal6.de"
DOWNLOAD="http://prdownloads.sourceforge.net/lirc/lirc-0.8.6.tar.bz2"
MD5SUM="4ca24da6f5e7c2dcea74878c27a4a3f7"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
MAINTAINER="Murat D. Kadirov"
EMAIL="banderols@gmail.com"
APPROVED="rworkman"

View file

@ -0,0 +1,6 @@
/var/log/lircd {
missingok
notifempty
delaycompress
}

View file

@ -6,14 +6,14 @@
# leave one space after the ':'.
|-----handy-ruler------------------------------------------------------|
lirc: lirc (Linux InfraRed Remote Control)
lirc:
lirc: lirc (linux infrared remote control)
lirc:
lirc: LIRC is a package that allows you to decode and send infra-red
lirc: signals of many (but not all) commonly used remote controls.
lirc:
lirc: LIRC is released under GNU General Public License. It consists
lirc: of lircd and lircmd daemons.
lirc:
lirc: This package contains all drivers provided by lirc except
lirc: lirc_gpio and lirc_parallel.
lirc: Homepage: http://www.lirc.org
lirc:
lirc:
lirc:
lirc:
lirc: