Hi The attached quilt series (http://sidux.com/slh/lirc/) against current lirc svn (r247) fixes the most serious issues of the current lirc packages and includes previously reported patches.
* fix make-kpkg compatibility (Closes: #372815). * remove devfs support. * add LSB header to lirc initscript as suggested by Petter Reinholdtsen <[EMAIL PROTECTED]> (Closes: #460212). * add LSB Description and Short-Description to initscript LSB stanza, borrowed from Ubuntu's lirc packages by Mario Limonciello <[EMAIL PROTECTED]>. * apply patch from Václav Ovsík <[EMAIL PROTECTED]> to fix Makefile mangling for lirc-source, evaluating utsrelease.h instead of the no longer existing version.h and recommend linux-image-$KVERS instead of the obsolete kernel-image-$KVERS (Closes: #447172). * add compatibility patch for kernels >= 2.6.24, based on upstream CVS. * fix lirc.conf template for pinsys remotes, shortly before lirc 0.8.2 the keymapping got broken. * remove versioned download location from debian/copyright, it's always outdated and the base path will point to the download location just as well. * remove custom mknod usage and depend on udev | makedev (>= 2.3.1-85) instead (Closes: #393575). * apply useful indention from Ubuntu to debian/rules. * Recommend module-assistant | kernel-package for lirc-modules-source. This ignores any feature additions from svn://svn.debian.org/svn/pkg-lirc/lirc/branches/ubuntu-0.8.2/ and still leaves a lot of open issues that need to be fixed, like the inability of using module-assistant as user due to not being able to write as user at dh_builddeb --destdir=$(KSRC)/.. or the whole debconf usage. Regards Stefan Lippers-Hollmann
Using kernel-package's "make-kpkg modules" to build kernel modules along the kernel, the "kdist" package needs to be accessible. * fix make-kpkg compatibility (Closes: #372815). Copyright: (C) 2006-2008 Stefan Lippers-Hollmann <[EMAIL PROTECTED]> --- a/debian/modules-source/debian/rules +++ b/debian/modules-source/debian/rules @@ -135,7 +135,7 @@ $(ROOT_CMD) $(MAKE) $(MFLAGS) -f debian/rules clean kdist_configure: # Nothing to do when configured. +kdist: kdist_image - -.PHONY: binary-modules kdist_image +.PHONY: binary-modules kdist_image kdist
sysvinit in lenny has started to support dependency based execution of initscripts, this new functionallity requires valid LSB headers for all installed initscripts. * add LSB header to lirc initscript as suggested by Petter Reinholdtsen <[EMAIL PROTECTED]> (Closes: #460212). * add LSB Description and Short-Description to initscript LSB stanza, borrowed from Ubuntu's lirc packages by Mario Limonciello <[EMAIL PROTECTED]>. Copyright: (C) 2008 Petter Reinholdtsen <[EMAIL PROTECTED]> (C) 2007 Mario Limonciello <[EMAIL PROTECTED]> --- a/debian/lirc.init.d +++ b/debian/lirc.init.d @@ -1,6 +1,14 @@ #! /bin/sh -# -# +### BEGIN INIT INFO +# Provides: lirc +# Required-Start: $remote_fs $syslog +# Required-Stop: $remote_fs $syslog +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Starts LIRC daemon. +# Description: LIRC is used to control different +# infrared receivers and transceivers. +### END INIT INFO load_modules () {
devfs has been removed from Kernel >= 2.6.18, neither etch nor lenny support it anymore. * remove devfs support. Copyright: (C) 2007-2008 Stefan Lippers-Hollmann <[EMAIL PROTECTED]> --- a/debian/lirc.install +++ b/debian/lirc.install @@ -1,4 +1,3 @@ -etc/devfs/* etc/lirc/{hardware.conf,lircd.conf,lircmd.conf} etc/logcheck/* etc/modutils/* --- a/debian/lirc.postrm +++ b/debian/lirc.postrm @@ -7,11 +7,4 @@ #DEBHELPER# -if [ "$1" = "purge" ]; then - [ -x /usr/sbin/update-devfsd ] && /usr/sbin/update-devfsd >&2 -# rm -f /etc/lircd.conf.old /etc/lircd.conf.new -fi - -#debhelper may use debconf stuff and update-devfsd restarts devfsd which -#doesn't close stdin/out/err properly. db_stop || true --- a/debian/lirc.init.d +++ b/debian/lirc.init.d @@ -39,9 +39,8 @@ ## Try to find an lirc device. ## udev uses /dev/lirc0 ## static dev uses /dev/lirc - ## devfs uses /dev/lirc/0 if [ -z "$DEVICE" ]; then - for dev in /dev/lirc0 /dev/lirc /dev/lirc/0; do + for dev in /dev/lirc0 /dev/lirc; do if [ -c $dev ]; then DEVICE="$dev" break --- a/debian/hardware.conf +++ b/debian/hardware.conf @@ -14,7 +14,7 @@ # Run "lircd --driver=help" for a list of supported drivers. DRIVER="UNCONFIGURED" -# If DEVICE is set to /dev/lirc and devfs is in use /dev/lirc/0 will be +# If DEVICE is set to /dev/lirc and udev is in use /dev/lirc0 will be # automatically used instead DEVICE="" MODULES="" --- a/debian/devfs.devices +++ /dev/null @@ -1,5 +0,0 @@ -#lirc pipes -lircd p "" "" root root 666 -lircm p "" "" root root 666 -lirc d "" "" root root 755 -lirc/0 c 61 0 root root 660 --- a/debian/rules +++ b/debian/rules @@ -59,7 +59,7 @@ dh_installdirs $(MAKE) install DESTDIR=$(CURDIR)/debian/tmp install --mode=755 contrib/irman2lirc debian/tmp/usr/bin/ - # allow building evenif vgalib is not available + # allow building even if vgalib is not available if [ -e tools/smode2 ]; then \ install --mode=755 tools/smode2 debian/tmp/usr/bin/ ; \ fi @@ -102,13 +102,6 @@ install -d debian/tmp/etc/logcheck/ignore.d.workstation install -o root -g root -m 644 debian/logcheck.ignore \ debian/tmp/etc/logcheck/ignore.d.workstation/lirc - # install devfs files - install -d debian/tmp/etc/devfs/conf.d/ - install -o root -g root -m 644 debian/devfs.conf \ - debian/tmp/etc/devfs/conf.d/lirc - install -d debian/tmp/etc/devfs/devices.d/ - install -o root -g root -m 644 debian/devfs.devices \ - debian/tmp/etc/devfs/devices.d/lirc binary-indep: build install dh_installdocs -i --- a/debian/devfs.conf +++ /dev/null @@ -1 +0,0 @@ -REGISTER ^lirc/.* PERMISSIONS root.root 0660 --- a/debian/lirc.postinst +++ b/debian/lirc.postinst @@ -19,6 +19,7 @@ chmod 666 /dev/lircm fi } + DebconfLoad () { db_get lirc/driver @@ -125,7 +126,6 @@ . /usr/share/debconf/confmodule if [ "$1" = "configure" ]; then - [ -x /usr/sbin/update-devfsd ] && /usr/sbin/update-devfsd >&2 db_get lirc/install_devices if $RET; then make_devices
Kernel 2.6.24 removes or changes two APIs previously used by lirc: - http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=04fc8bbcf5eb25fa2aec290b302a9878dde20168 - http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b4471cbb09c4694e54092d02715c09fda2eb45ed * add compatibility patch for kernels >= 2.6.24, based on upstream CVS. Copyright: (C) 2007-2008 Stefan Lippers-Hollmann <[EMAIL PROTECTED]> --- /dev/null +++ b/debian/patches/17_kcompat-2.6.24.dpatch @@ -0,0 +1,133 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 16_kcompat-2.6.24.dpatch by Stefan Lippers-Hollmann <[EMAIL PROTECTED]> +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: kernel 2.6.24 compatibility fix adapted from upstream CVS: +## DP: - http://lirc.cvs.sourceforge.net/lirc/lirc/drivers/lirc_dev/lirc_dev.c?r1=1.53&r2=1.54 +## DP: - http://lirc.cvs.sourceforge.net/lirc/lirc/drivers/lirc_it87/lirc_it87.c?r1=1.23&r2=1.24 +## DP: - http://lirc.cvs.sourceforge.net/lirc/lirc/drivers/lirc_serial/lirc_serial.c?r1=5.86&r2=5.87 +## DP: - http://lirc.cvs.sourceforge.net/lirc/lirc/drivers/lirc_sir/lirc_sir.c?r1=1.47&r2=1.48 + [EMAIL PROTECTED]@ +diff -urNad trunk~/drivers/lirc_dev/lirc_dev.c trunk/drivers/lirc_dev/lirc_dev.c +--- trunk~/drivers/lirc_dev/lirc_dev.c 2008-01-27 00:37:48.000000000 +0100 ++++ trunk/drivers/lirc_dev/lirc_dev.c 2008-01-27 01:12:45.000000000 +0100 +@@ -41,6 +41,7 @@ + #include <linux/fs.h> + #include <linux/poll.h> + #include <linux/smp_lock.h> ++#include <linux/completion.h> + #include <asm/uaccess.h> + #include <asm/semaphore.h> + #include <asm/errno.h> +@@ -81,8 +82,8 @@ + struct lirc_buffer *buf; + + int tpid; +- struct semaphore *t_notify; +- struct semaphore *t_notify2; ++ struct completion *t_notify; ++ struct completion *t_notify2; + int shutdown; + long jiffies_to_wait; + +@@ -190,7 +191,7 @@ + daemonize("lirc_dev"); + + if (ir->t_notify != NULL) { +- up(ir->t_notify); ++ complete(ir->t_notify); + } + + dprintk(LOGHEAD "poll thread started\n", ir->p.name, ir->p.minor); +@@ -217,12 +218,12 @@ + } while (!ir->shutdown); + + if (ir->t_notify2 != NULL) { +- down(ir->t_notify2); ++ wait_for_completion(ir->t_notify2); + } + + ir->tpid = -1; + if (ir->t_notify != NULL) { +- up(ir->t_notify); ++ complete(ir->t_notify); + } + + dprintk(LOGHEAD "poll thread ended\n", ir->p.name, ir->p.minor); +@@ -242,7 +243,7 @@ + #ifdef LIRC_HAVE_DEVFS_24 + char name[16]; + #endif +- DECLARE_MUTEX_LOCKED(tn); ++ DECLARE_COMPLETION(tn); + + if (!p) { + printk("lirc_dev: lirc_register_plugin: " +@@ -393,7 +394,7 @@ + err = -ECHILD; + goto out_sysfs; + } +- down(&tn); ++ wait_for_completion(&tn); + ir->t_notify = NULL; + } + ir->attached = 1; +@@ -431,8 +432,8 @@ + int lirc_unregister_plugin(int minor) + { + struct irctl *ir; +- DECLARE_MUTEX_LOCKED(tn); +- DECLARE_MUTEX_LOCKED(tn2); ++ DECLARE_COMPLETION(tn); ++ DECLARE_COMPLETION(tn2); + + if (minor < 0 || minor >= MAX_IRCTL_DEVICES) { + printk("lirc_dev: lirc_unregister_plugin: " +@@ -468,8 +469,8 @@ + /* 2.2.x does not export wake_up_process() */ + wake_up_interruptible(ir->p.get_queue(ir->p.data)); + #endif +- up(&tn2); +- down(&tn); ++ complete(&tn2); ++ wait_for_completion(&tn); + ir->t_notify = NULL; + ir->t_notify2 = NULL; + } +diff -urNad trunk~/drivers/lirc_it87/lirc_it87.c trunk/drivers/lirc_it87/lirc_it87.c +--- trunk~/drivers/lirc_it87/lirc_it87.c 2008-01-27 00:37:48.000000000 +0100 ++++ trunk/drivers/lirc_it87/lirc_it87.c 2008-01-27 01:13:28.000000000 +0100 +@@ -934,7 +934,7 @@ + /* Leaving MB PnP Mode */ + it87_write(IT87_CFGCTRL, 0x2); + +- retval = request_irq(irq, it87_interrupt, 0 /*SA_INTERRUPT*/, ++ retval = request_irq(irq, it87_interrupt, 0 /*IRQF_DISABLED*/, + LIRC_DRIVER_NAME, NULL); + if (retval < 0) { + printk(KERN_ERR LIRC_DRIVER_NAME +diff -urNad trunk~/drivers/lirc_serial/lirc_serial.c trunk/drivers/lirc_serial/lirc_serial.c +--- trunk~/drivers/lirc_serial/lirc_serial.c 2008-01-27 00:37:48.000000000 +0100 ++++ trunk/drivers/lirc_serial/lirc_serial.c 2008-01-27 01:14:21.000000000 +0100 +@@ -998,7 +998,7 @@ + do_gettimeofday(&lasttv); + + result=request_irq(irq,irq_handler, +- SA_INTERRUPT | (share_irq ? SA_SHIRQ:0), ++ IRQF_DISABLED | (share_irq ? IRQF_SHARED:0), + LIRC_DRIVER_NAME,(void *)&hardware); + + switch(result) +diff -urNad trunk~/drivers/lirc_sir/lirc_sir.c trunk/drivers/lirc_sir/lirc_sir.c +--- trunk~/drivers/lirc_sir/lirc_sir.c 2008-01-27 00:37:48.000000000 +0100 ++++ trunk/drivers/lirc_sir/lirc_sir.c 2008-01-27 01:14:44.000000000 +0100 +@@ -1051,7 +1051,7 @@ + return -EBUSY; + } + #endif +- retval = request_irq(irq, sir_interrupt, SA_INTERRUPT, ++ retval = request_irq(irq, sir_interrupt, IRQF_DISABLED, + LIRC_DRIVER_NAME, NULL); + if (retval < 0) { + # ifndef LIRC_ON_SA1100 --- a/debian/patches/00list +++ b/debian/patches/00list @@ -7,3 +7,4 @@ 12_enodev_on_read.dpatch 13_hurd_define_iotbase_u32.dpatch 16_kcompat-2.6.23.dpatch +17_kcompat-2.6.24.dpatch
lirc 0.8.2 uses updated autotools for its shipped buildscripts, the existing sed call which prunes the Makefiles for lirc-modules-source no longer applies or rather removes way too much of upstream's Makefiles to remain buildable. * apply patch from Václav Ovsík <[EMAIL PROTECTED]> to fix Makefile mangling for lirc-source, evaluating utsrelease.h instead of the no longer existing version.h and recommend linux-image-$KVERS instead of the obsolete kernel-image-$KVERS (Closes: #447172). Copyright: (C) 2008 Václav Ovsík <[EMAIL PROTECTED]> --- a/debian/modules-source/debian/control.in +++ b/debian/modules-source/debian/control.in @@ -8,7 +8,7 @@ Package: lirc-modules-$KVERS Architecture: $KARCH Depends: ${shlibs:Depends}, ${misc:Depends} -Recommends: kernel-image-$KVERS (= $KDREV) +Recommends: linux-image-$KVERS (= $KDREV) Description: Linux Infra-red Remote Control support (binary kernel modules) This package contains the LIRC binary kernel modules for linux version $KVERS. --- a/debian/modules-source/debian/rules +++ b/debian/modules-source/debian/rules @@ -25,7 +25,7 @@ KDREV_REV = $(shell echo $(KDREV) | sed -ne '1s/\([^:]*:\)\?\(.*\)/\2/p') # Now we need to get the kernel-version somehow -KVERS=`sed -n -e '/UTS_RELEASE/s/^[^"]*"\([^"]*\)".*$$/\1/p' $(KSRC)/include/linux/version.h` +KVERS=`sed -n -e '/UTS_RELEASE/s/^[^"]*"\([^"]*\)".*$$/\1/p' $(KSRC)/include/linux/utsrelease.h` KARCH=$(shell dpkg-architecture -qDEB_BUILD_ARCH_CPU) ifeq ($(KARCH),) --- a/debian/modules-source/Makefile +++ b/debian/modules-source/Makefile @@ -13,13 +13,13 @@ -DLIRC_PORT=$(LIRC_SIR_PORT) \ -DLIRC_IRQ=$(LIRC_SIR_IRQ) ) -KSRC=/usr/src/linux/$(shell uname -r)/build +KSRC=/lib/modules/$(shell uname -r)/build KERNEL_LOCATION = $(KSRC) CC = gcc -D__KERNEL__ -I $(KSRC)/include CFLAGS= -O2 -g -Wall DEFS=-DHAVE_CONFIG_H -I. -I../.. -KVERS=$(shell sed -n -e '/UTS_RELEASE/s/^[^"]*"\([^"]*\)".*$\/\1/p' $(KSRC)/include/linux/version.h) +KVERS=$(shell sed -n -e '/UTS_RELEASE/s/^[^"]*"\([^"]*\)".*$\/\1/p' $(KSRC)/include/linux/utsrelease.h) KPATCHLEVEL=$(shell echo $(KVERS) | sed -n -e 's/^[0-9]*\.\([0-9]*\)\..*/\1/p') KEXT=o --- a/debian/rules +++ b/debian/rules @@ -77,9 +77,14 @@ find debian/tmp/usr/src/modules/lirc -name "*.o" -o -name Makefile.in \ -o -name Makefile.am -o -name "*.ko"| xargs rm for file in `find debian/tmp/usr/src/modules/lirc -name Makefile`; \ - do sed -e'/configure\.in/,/CONFIG_HEADERS/D' \ - -e'/^CC *=/d' -e '/^KERNEL_LOCATION *=/d' \ - $$file >$$file.tmp && \ + do \ + awk '/^[^:]*Makefile[^:]*:/ \ + { beg=1; prune=1; } \ + ( /^[ \t]*$$/ || /^[^\t]/ ) && !beg \ + { prune=0; } \ + !prune && !/^(CC|KERNEL_LOCATION)[ \t]*=/ \ + { print; } \ + { beg = 0; }' $$file >$$file.tmp && \ mv $$file.tmp $$file; \ done sed -n \
hard coding the download location of lirc's upstream source to http://download.sourceforge.net/LIRC/lirc-0.6.3.tar.gz is hard to maintain and not very useful. * remove versioned download location from debian/copyright, it's always outdated and the base path will point to the download location just as well. Copyright: (C) 2008 Stefan Lippers-Hollmann <[EMAIL PROTECTED]> --- a/debian/copyright +++ b/debian/copyright @@ -1,7 +1,7 @@ This is the Debian packaging of LIRC, Linux Infra-red Remote Control support. -It was downloaded from http://download.sourceforge.net/LIRC/lirc-0.6.3.tar.gz +It was downloaded from http://download.sourceforge.net/LIRC/ Summary of copyright messages found in sources:
http://lirc.cvs.sourceforge.net/lirc/lirc/daemons/hw_pinsys.c?r1=5.8&r2=5.9 changes the gap calculation for the pinsys dæmon, adapt the lircd.conf template appropriately. * fix lirc.conf template for pinsys remotes, shortly before lirc 0.8.2 the keymapping got broken. Copyright: (C) 2007-2008 Stefan Lippers-Hollmann <[EMAIL PROTECTED]> --- /dev/null +++ b/debian/patches/18_pinsys-keycodes.dpatch @@ -0,0 +1,170 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 18_pinsys-keycodes.dpatch by Stefan Lippers-Hollmann <[EMAIL PROTECTED]> +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: No description. + [EMAIL PROTECTED]@ +diff -urNad trunk~/remotes/pinnacle_systems/lircd.conf.pctv trunk/remotes/pinnacle_systems/lircd.conf.pctv +--- trunk~/remotes/pinnacle_systems/lircd.conf.pctv 2008-01-27 00:37:46.000000000 +0100 ++++ trunk/remotes/pinnacle_systems/lircd.conf.pctv 2008-01-27 01:42:10.000000000 +0100 +@@ -1,97 +1,76 @@ ++ ++# Please make this file available to others ++# by sending it to <[EMAIL PROTECTED]> + # +-# contributed by Bart Alewijnse <[EMAIL PROTECTED]> ++# this config file was automatically generated ++# using lirc-0.8.2(pinsys) on Thu Oct 18 18:40:31 2007 + # +-# brand: Pinnacle Systems +-# model: PCTV Remote (Perhaps other ones as well) +-# supported devices: there's only one I know of. (serial) ++# contributed by + # +-# Mail me if your remote is only partly supported, or if it has different +-# buttons than listed below. ++# brand: Pinnacle Systems ++# model no. of remote control: PCTV Remote (Perhaps other ones as well) ++# devices being controlled by this remote: serial + # + + begin remote + + name PinnacleSysPCTVRemote +- bits 16 +- eps 30 +- aeps 100 +- +- one 0 0 +- zero 0 0 +- pre_data_bits 8 +- pre_data 0xFE +- gap 180000 +- toggle_bit 0 +- +- begin codes +- Mute 0xB53C #Mute 0x000000000000003C +- Power 0x2D2F #Power 0x000000000000002F +- Chan+Play 0x173F #Chan+Play 0x000000000000003F +- Chan+Stop 0xC63E #Chan-Stop 0x000000000000003E +- Vol+FF 0xF13B #Vol+FF 0x000000000000003B +- Vol-Rew 0x643D #Vol-Rew 0x000000000000003D +- 1 0x9F31 #1 0x0000000000000031 +- 2 0x3D32 #2 0x0000000000000032 +- 3 0xEC33 #3 0x0000000000000033 +- 4 0xA834 #4 0x0000000000000034 +- 5 0x7935 #5 0x0000000000000035 +- 6 0xDB36 #6 0x0000000000000036 +- 7 0x0A37 #7 0x0000000000000037 +- 8 0x5338 #8 0x0000000000000038 +- 9 0x8239 #9 0x0000000000000039 +- Fullscreen 0x5E2D #Fullscreen 0x000000000000002D +- 0/AV 0x203A #0/AV 0x000000000000003A +- Info 0xCB2B #Info 0x000000000000002B +- Preview 0xFC2E #Preview 0x000000000000002E +- Record 0x3027 #Record 0x0000000000000027 +- Chan_Last 0x4325 #Chan_Last 0x0000000000000025 +- F_TV 0xE126 #F_TV 0x0000000000000026 +- F_TELETEXT 0xB829 #F_TELETEXT 0x0000000000000029 +- F_RADIO 0x1A2A #F_RADIO 0x000000000000002A +- +-# +-# here are some extra buttons a new version of the remote seems to have +-# +-# contributed by Robbert Monna <[EMAIL PROTECTED]> +-# +-# brand: Pinnacle Systems +-# model: PCTV Remote (newest version?) +-# supported devices: dongle on serial port (from TV-Card) +-# +- L 0x631F #L 0x000000000000001F +- Zoom 0xB21E #Zoom 0x000000000000001E +- vol+ 0x851B #vol+ 0x000000000000001B +- vol- 0x590F #vol- 0x000000000000000F +- channel+ 0x7E17 #channel+ 0x0000000000000017 +- channel- 0xC11C #channel- 0x000000000000001C +- middle 0x541A #middle 0x000000000000001A +- Menu 0x101D #Menu 0x000000000000001D +- next 0xF619 #next 0x0000000000000019 +- undo 0xAF16 #undo 0x0000000000000016 +- pause 0x0D15 #pause 0x0000000000000015 +- redo 0x9813 #redo 0x0000000000000013 +- Rewind 0x880E #Rewind 0x000000000000000E +- Play 0x2A0D #Play 0x000000000000000D +- Stop 0xBF0B #Stop 0x000000000000000B +- FForward 0x4407 #FForward 0x0000000000000007 +- EPG 0x2718 #EPG 0x0000000000000018 +- +-# here are some more buttons that seem to be mapped differently from +-# the ones above +- +-# contributed by InterCeptor [EMAIL PROTECTED] +-# +-# brand: Pinnacle Systems PCTV Pro Remote +-# model no. of remote control: (I can't find any numbers on it) +-# supported devices: serial +-# ++ bits 16 ++ eps 30 ++ aeps 100 + +- 9 0x0000000000000082 +- Zoom 0x00000000000000B2 +- middle 0x0000000000000014 ++ one 0 0 ++ zero 0 0 ++ pre_data_bits 8 ++ pre_data 0xFE ++ gap 183998 ++ min_repeat 2 ++ toggle_bit_mask 0x0 + ++ begin codes ++ 1 0x9F31 ++ 2 0x3D32 ++ 3 0xEC33 ++ Power 0x2D2F ++ 4 0xA834 ++ 5 0x7935 ++ 6 0xDB36 ++ Preview 0xFC2E ++ 7 0x0A37 ++ 8 0x5338 ++ 9 0x8239 ++ L 0x631F ++ Fullscreen 0x5E2D ++ 0/AV 0x203A ++ Zoom 0xB21E ++ Info 0xCB2B ++ vol+ 0x851B ++ Mute 0xB53C ++ Chan_Last 0x4325 ++ channel+ 0x7E17 ++ vol- 0x590F ++ Chan+Play 0x173F ++ channel- 0xC11C ++ Vol-Rew 0x643D ++ middle 0x541A ++ Vol+FF 0xF13B ++ Menu 0x101D ++ Chan-Stop 0xC63E ++ next 0xF619 ++ undo 0xAF16 ++ Record 0x3027 ++ pause 0x0D15 ++ redo 0x9813 ++ Rewind 0x880E ++ Play 0x2A0D ++ Stop 0xBF0B ++ FForward 0x4407 ++ F_TV 0xE126 ++ F_TELETEXT 0xB829 ++ F_RADIO 0x1A2A ++ EPG 0x2718 ++ end codes + +- end codes + end remote + + --- a/debian/patches/00list +++ b/debian/patches/00list @@ -8,3 +8,4 @@ 13_hurd_define_iotbase_u32.dpatch 16_kcompat-2.6.23.dpatch 17_kcompat-2.6.24.dpatch +18_pinsys-keycodes.dpatch
Packages should not directly create device nodes in their postinst, makedev has recently gained support for lirc's device nodes. Depend on udev | makedev (>= 2.3.1-85) to ensure the creation of the required device nodes. * remove custom mknod usage and depend on udev | makedev (>= 2.3.1-85) instead (Closes: #393575). Copyright: (C) 2008 Stefan Lippers-Hollmann <[EMAIL PROTECTED]> --- a/debian/control +++ b/debian/control @@ -26,7 +26,8 @@ Package: lirc Architecture: any Depends: ${shlibs:Depends}, - ${misc:Depends} + ${misc:Depends}, + udev | makedev (>= 2.3.1-85) Pre-Depends: dialog Suggests: lirc-modules-source, lirc-x, --- a/debian/lirc.postinst +++ b/debian/lirc.postinst @@ -3,20 +3,8 @@ make_devices () { - if [ ! -e /dev/lirc ]; then - mknod /dev/lirc c 61 0 - chown root:root /dev/lirc - chmod 660 /dev/lirc - fi - if [ ! -e /dev/lircd ]; then - mknod /dev/lircd p - chown root:root /dev/lircd - chmod 666 /dev/lircd - fi - if [ ! -e /dev/lircm ]; then - mknod /dev/lircm p - chown root:root /dev/lircm - chmod 666 /dev/lircm + if [ -x /dev/MAKEDEV ]; then + (cd /dev && ./MAKEDEV lirc) || true fi } DebconfLoad ()
Some minor indention changes to make debian/rules slightly more readable, based on svn://svn.debian.org/svn/pkg-lirc/lirc/branches/ubuntu-0.8.2/ * apply useful indention from Ubuntu to debian/rules. --- a/debian/rules +++ b/debian/rules @@ -1,7 +1,11 @@ #!/usr/bin/make -f +# dpatch support include /usr/share/dpatch/dpatch.make +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + ifneq ($(findstring debug,$(DEB_BUILD_OPTIONS)),) CFLAGS += -g endif @@ -57,12 +61,15 @@ dh_testroot dh_clean -k dh_installdirs + $(MAKE) install DESTDIR=$(CURDIR)/debian/tmp install --mode=755 contrib/irman2lirc debian/tmp/usr/bin/ + # allow building even if vgalib is not available if [ -e tools/smode2 ]; then \ install --mode=755 tools/smode2 debian/tmp/usr/bin/ ; \ fi + mkdir -p debian/tmp/etc/lirc/ mkdir -p debian/tmp/usr/share/lirc/ install --mode=644 debian/conf.placeholder \ @@ -76,6 +83,7 @@ cp -dpR drivers debian/tmp/usr/src/modules/lirc/ find debian/tmp/usr/src/modules/lirc -name "*.o" -o -name Makefile.in \ -o -name Makefile.am -o -name "*.ko"| xargs rm + for file in `find debian/tmp/usr/src/modules/lirc -name Makefile`; \ do \ awk '/^[^:]*Makefile[^:]*:/ \ @@ -87,6 +95,7 @@ { beg = 0; }' $$file >$$file.tmp && \ mv $$file.tmp $$file; \ done + sed -n \ -e'/define *DEV_LIRC\>/p' \ -e'/define *LIRC_MAJOR\>/p' \ @@ -97,6 +106,7 @@ debian/tmp/usr/src/modules/lirc/debian/ mkdir -p debian/liblircclient-dev/usr/share/aclocal cp contrib/lirc.m4 debian/liblircclient-dev/usr/share/aclocal/ + # install logcheck files install -d debian/tmp/etc/logcheck/ignore.d.paranoid install -o root -g root -m 644 debian/logcheck.ignore \ @@ -108,6 +118,7 @@ install -o root -g root -m 644 debian/logcheck.ignore \ debian/tmp/etc/logcheck/ignore.d.workstation/lirc +# Build architecture-independent files here. binary-indep: build install dh_installdocs -i dh_installchangelogs -i @@ -123,6 +134,7 @@ dh_md5sums -i dh_builddeb -i +# Build architecture-dependent files here. binary-arch: build install dh_testdir dh_testroot
01_lirc-0.8.2-svnr247_fix-make-kpkg.diff 02_lirc-0.8.2-svnr247_remove-devfs.diff 03_lirc-0.8.2-svnr247_add-lsb-header.diff 04_lirc-0.8.2-svnr247_fix-module-build.diff 05_lirc-0.8.2-svnr247_kcompat-2.6.24.diff 06_lirc-0.8.2-svnr247_fix-pinsys-lircd-template.diff 07_lirc-0.8.2-svnr247_fix-download-location.diff 08_lirc-0.8.2-svnr247_remove-mknod-usage.diff 09_lirc-0.8.2-svnr247_indent-rules.diff 10_lirc-0.8.2-svnr247_recommend-module-assistant.diff
module-assistant is the common way to build module packages for debian these days, prefer it over kernel-package for lirc-modules-source. * Recommend module-assistant | kernel-package for lirc-modules-source. Copyright: (C) 2008 Stefan Lippers-Hollmann --- a/debian/control +++ b/debian/control @@ -75,7 +75,7 @@ Recommends: make, dpkg-dev (>= 1.13), gcc | c-compiler, - kernel-package + module-assistant | kernel-package Suggests: kernel-source Conflicts: lirc (<<0.6.3-1) Description: infra-red remote control support - kernel modules
signature.asc
Description: This is a digitally signed message part.