# The last time I tried 0.8.0, I was using Linux kernel 2.6.16.19 and gcc
# 4.0.3 and it wouldn't build for me. The CVS version did. You may want
# to try version 0.8.0 below first though, in case the CVS version has
# undiscovered bugs that 0.8.0 doesn't.
cd
mkdir -p -m 0700 src
cd src
find -maxdepth 1 -type d -name "lirc-*" -exec rm -r {} \;
test -d ./lirc && ( cd lirc ; cvs update )
test ! -d ./lirc && (
# Hit enter for the password
cvs -d:pserver:anonymous@lirc.cvs.sourceforge.net:/cvsroot/lirc login
cvs -z8 -d:pserver:anonymous@lirc.cvs.sourceforge.net:/cvsroot/lirc \
co lirc
)
cd lirc
test $UID = 0 && chown -R root:root .
test -f ./Makefile && make distclean
./autogen.sh
## setup.sh will ask you questions (via dialog) about your type of
## TV card. For my particular Happauge card I do this:
# Hit enter on "Driver configuration"
# Hit enter on "TV card"
# Hit enter on "Hauppauge TV card (new I2C layer required)"
# Hit enter on "Save configuration & run configure"
## Then configure runs and I move on.
./setup.sh
# If you use udev:
cp contrib/lirc.rules /etc/udev/rules.d/
# Become yourself again
exit
cd
mkdir -p -m 0700 installed
rm -f installed/lirc-*.tar.*
echo "lirc was installed from CVS, source is in ~/src/lirc" > \
installed/lirc.README
chmod 700 installed/lirc.README
# Skip down to the bottom for some notes about configuration
# LIRC 0.8.2
# ==========
# FYI, I haven't tried this one since 0.8.0, I've been using the
# CVS version recently
cd
test -f installed/lirc-0.8.2.tar.bz2 &&
mv installed/lirc-0.8.2.tar.bz2 .
test ! -f lirc-0.8.2.tar.bz2 &&
wget http://download.sf.net/lirc/lirc-0.8.2.tar.bz2
mkdir -p -m 0700 src
cd src
test -d ./lirc && rm -r ./lirc
find -maxdepth 1 -type d -name "lirc-*" -exec rm -r {} \;
tar xjvf ~/lirc-0.8.2.tar.bz2
cd lirc-0.8.2
test $UID = 0 && chown -R root:root .
## setup.sh will ask you questions (via dialog) about your type of
## TV card. For my particular Happauge card I do this:
# Hit enter on "Driver configuration"
# Hit enter on "TV card"
# Hit enter on "Hauppauge TV card (new I2C layer required)"
# Hit enter on "Save configuration & run configure"
## Then configure runs and I move on.
./setup.sh
# Skip down to the bottom for some notes about configuration
# Configuration
# =============
# Become root
su
# In my case (a Happauge TV card), I use a kernel module. It is
# installed into /lib/modules/`uname -r`/misc/
/sbin/rmmod lirc_i2c lirc_dev
sleep 2
/sbin/modprobe lirc_i2c
dmesg|tail -4
# Be aware that if you use devfs or udev, you may need to set it up to
# create a /dev/lirc symlink pointing to the real device file (ie.
# /dev/lirc/0)
# Allow all users to connect to lircd
# (or add a lirc group, 'chown root:lirc /dev/lircd', and
# 'chmod 660 /dev/lircd', and add users to the group)
chmod 666 /dev/lircd
# Test it by starting mode2 and hitting buttons on your remote (while aiming
# it at your receiver):
mode2
# Make sure it's not already running and start the daemon:
test -f /var/run/lircd.pid &&
( kill `cat /var/run/lircd.pid` ; sleep 2 )
killall lircd
sleep 2
killall -9 lircd > /dev/null 2>&1
sleep 2
/usr/local/sbin/lircd
# To test further, run this and hit more buttons:
irw
# Watch the log file:
tail -f /var/log/lircd
# Set logrotate to rotate the log when it becomes greater than 100k:
cat << EOF > /etc/logrotate.d/lirc
/var/log/lircd {
rotate 1
size=100k
copytruncate
}
EOF
## Add something like this to /etc/rc.d/rc.local to start it on boot-up:
#if [ -x /usr/local/sbin/lircd ]; then
# echo "Starting lircd..."
# /usr/local/sbin/lircd
#fi
# Read this for other info:
lynx ~/src/lirc*/doc/html/index.html
# If you ever want to uninstall libirman, this should do it:
cd
su
test -d src/libirman-* && ( cd src/libirman-* ; make uninstall )
rm -f /usr/local/bin/workmanir /usr/local/etc/irman.conf \
/usr/local/include/irman.h /usr/local/lib/libirman.a
exit
find ~/src -maxdepth 1 -type d -name "libirman-*" -exec rm -r {} \;
rm -f ~/installed/libirman-*.tar.*
# If you ever want to uninstall lirc, this should do it:
cd
su
test -d src/lirc && ( cd src/lirc ; make uninstall )
test -d src/lirc-* && ( cd src/lirc-* ; make uninstall )
( cd /etc ; rm -f lircd.conf lircmd.conf )
( cd /usr/local/bin ; rm -f ircat irexec irpty irrecord irsend irw \
irxevent lircrcd mode2 smode2 xmode2 )
test -d /usr/local/include/lirc && rm -r /usr/local/include/lirc
( cd /usr/local/man/man1 ; rm -f ircat.1 irexec.1 irpty.1 irrecord.1 \
irsend.1 irw.1 irxevent.1 lircrcd.1 mode2.1 smode2.1 xmode2.1 )
( cd /usr/local/man/man8 ; rm -f lircd.8 lircmd.8 )
( cd /usr/local/sbin ; rm -f lircd lircmd )
rm -f /usr/local/lib/liblirc_client.* /etc/logrotate.d/lirc
/sbin/rmmod lirc_i2c lirc_dev
( cd /lib/modules/`uname -r`/misc ; rm -f lirc_dev.* lirc_i2c.* )
ldconfig
exit
find ~/src -maxdepth 1 -type d -name "lirc-*" -exec rm -r {} \;
rm -f ~/installed/lirc.README ~/installed/lirc-*.tar.*