commit 20b654b13463ff99b90054c690fcaf98954020b0a7c5e359d19ce2b420badb4c Author: OBS User unknown Date: Tue Feb 27 15:50:06 2007 +0000 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/lirc?expand=0&rev=1 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/51-lirc.rules b/51-lirc.rules new file mode 100644 index 0000000..eba54ed --- /dev/null +++ b/51-lirc.rules @@ -0,0 +1,11 @@ +# +# This is a hack since /sys info for event devices is incomplete +# +# Check if the name of the event device contains the string IR and +# create the /dev/input/ir symlink. +KERNEL=="event*", SUBSYSTEM=="input", ATTRS{name}=="*IR*", SYMLINK+="input/ir" + +# If your remote does not have 'IR' in it's name add a line like the +# following (this one is for the Cinergy T2). You can look up the +# name of the device in /proc/bus/input/devices +KERNEL=="event*", SUBSYSTEM=="input", ATTRS{name}=="TerraTec/qanu USB2.0 Highspeed DVB-T Receiver remote control", SYMLINK+="input/ir" diff --git a/Makefile.modsub b/Makefile.modsub new file mode 100644 index 0000000..c6052f1 --- /dev/null +++ b/Makefile.modsub @@ -0,0 +1,10 @@ +EXTRA_CFLAGS := -I$(src)/.. \ + -DLIRC_MAJOR=61 \ + -DIRCTL_DEV_MAJOR=61 \ + -DDEV_LIRC='"lirc"' \ + -I$(srctree)/drivers/media/video + +lirc_src = $(wildcard $(src)/*.c) +obj-m := $(lirc_src:$(src)%.c=%.o) + +# vim: syntax=make diff --git a/Makefile.module b/Makefile.module new file mode 100644 index 0000000..35886d2 --- /dev/null +++ b/Makefile.module @@ -0,0 +1,24 @@ +DIRS := $(wildcard $(src)/lirc_*) +DIRS := $(DIRS:$(src)/lirc_%=lirc_%/) +SKIP = +ARCH=$(shell uname -m) + +ifneq ($(CONFIG_SMP),) + SKIP += lirc_parallel/ +endif +ifeq ($(ARCH),ppc) + SKIP += lirc_serial/ lirc_sir/ +endif +ifeq ($(ARCH),ppc64) + SKIP += lirc_serial/ lirc_sir/ +endif +ifeq ($(ARCH),s390) + SKIP += lirc_bt829/ lirc_it87/ lirc_parallel/ +endif +ifeq ($(ARCH),s390x) + SKIP += lirc_bt829/ lirc_it87/ lirc_parallel/ +endif + +obj-m := $(filter-out $(SKIP),$(DIRS)) + +# vim: syntax=make diff --git a/README.SUSE b/README.SUSE new file mode 100644 index 0000000..6ec1412 --- /dev/null +++ b/README.SUSE @@ -0,0 +1,51 @@ +Quickstart guide for self made serial receivers +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Please read /usr/share/doc/packages/lirc/html/install.html for +details. + +Suppose you have a self made serial receiver as described in +http://www.lirc.org/receivers.html connected to the first serial +port serial port: + +Ensure that the following values are set in /etc/sysconfig/lirc: + + LIRCD_DEVICE="/dev/lirc" + LIRCD_DRIVER="default" + LIRC_MODULE="lirc_serial" + +Run the following command and add it at the end of +/etc/init.d/boot.local: + + setserial /dev/ttyS0 uart none + +Load the kernel module for the serial receiver: + + modprobe lirc_serial + + +Run irrecord to assign names to keys on your remote. Move the +resulting config file to /etc/lircd.conf. Start lircd: + + rclirc start + +If everything works (check with 'irw'), add lirc to the boot +process: + + chkconfig lirc on + + +Quickstart guide for remotes that show up as event devices +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +The remotes of most DVB devices show up as event devices in +/dev/input/. If you have one of those + +- check whether udev already created /dev/input/ir for you when you + plugged in the device. Edit /etc/udev/rules.d/51-lirc.rules if it + didn't. Unplug the device and plug it in again to make + /dev/input/ir appear. + +- cp /usr/share/lirc/remotes/linux-input-layer-lircd.conf + /etc/lircd.conf + +- rclirc start; chkconfig lirc on diff --git a/fix-remote-keys.pl b/fix-remote-keys.pl new file mode 100644 index 0000000..9d8e21a --- /dev/null +++ b/fix-remote-keys.pl @@ -0,0 +1,128 @@ +#!/usr/bin/perl -w +# +# This is a perl script to unify the key names in lircd config files. +# +# Going to use the KEY_* #defines (without KEY_ prefix) +# from #include for the key names. +# +# (c) 2003 Gerd Knorr +# +use strict; +use POSIX; +use File::Find; + +############################################################################# +# translation table + +my %table = ( + # volume keys + 'vol(ume)?[-_]?(\+|up|plus)' => 'VOLUMEUP', + 'vol(ume)?[-_]?(\-|down|dn|minus)' => 'VOLUMEDOWN', + + # switch channels + 'ch(annel|n|an)?[-_]?(\+|up|plus)' => 'CHANNELUP', + 'ch(annel|n|an)?[-_]?(\-|down|dn|minus)' => 'CHANNELDOWN', + + # dummy + 'dummy' => 'dummy' +); +my %keys; + + +############################################################################# +# helpers + +sub readfile { + my $filename = shift; + my $content; + + open FILE, "< $filename" or die "open $filename: $!"; + { local $/; undef $/; $content = ; }; + close FILE; + return $content; +} + +sub writefile { + my $filename = shift; + my $content = shift; + + open FILE, "> $filename" or die "open $filename: $!"; + print FILE $content; + close FILE; +} + +sub fix_key { + my $name = shift; + + $name =~ s/´//g; + for my $regex (keys %table) { + $name =~ s/^$regex$/$table{$regex}/i; + } + $name = POSIX::toupper($name); + + $keys{$name}++; + $name = "'$name'"; + return $name; +} + +sub replacer { + my $old = shift; + my $new = ""; + my $codes = 0; + my $raw_codes = 0; + my ($orig,$name,$code); + + foreach my $line (split /\n/,$old) { + if ($line =~ m/begin\s+codes/) { + $codes = 1; + } elsif ($line =~ m/end\s+codes/) { + $codes = 0; + } elsif ($line =~ m/begin\s+raw_codes/) { + $raw_codes = 1; + } elsif ($line =~ m/end\s+raw_codes/) { + $raw_codes = 0; + + } elsif ($codes == 1 && $line =~ m/^\s*(\S+)\s+(\S+)\s*$/) { + $orig = $1; + $code = $2; + $name = fix_key($orig); + $line = sprintf("\t%-20s %-20s # %s", + $name,$code,$orig); + + } elsif ($raw_codes == 1 && $line =~ m/^\s*name\s+(\S+)\s*$/) { + $orig = $1; + $name = fix_key($orig); + $line = sprintf("\tname %-20s # %s", + $name,$orig); + } + $new .= $line . "\n"; + } + return $new; +} + +sub wanted { + my $content; + + return unless -f $_; # regular files + + print "fixup $File::Find::name\n"; + $content = readfile($_); + if ($content =~ m/begin\s+remote/s) { + # is a lircd config file + $content = replacer($content); + writefile($_,$content); + } +} + +############################################################################# +# main + +# handle files +my $dir = shift; +find(\&wanted, $dir); + +# print key stats (for building %table ...). +exit; +foreach my $key (sort { $keys{$a} <=> $keys{$b} } keys %keys) { + printf("%3d %s\n",$keys{$key},$key); +} diff --git a/linux-input-layer-lircd.conf b/linux-input-layer-lircd.conf new file mode 100644 index 0000000..b269855 --- /dev/null +++ b/linux-input-layer-lircd.conf @@ -0,0 +1,364 @@ +begin remote + name linux-input-layer + bits 32 + begin codes + ESC 0x10001 + 1 0x10002 + 2 0x10003 + 3 0x10004 + 4 0x10005 + 5 0x10006 + 6 0x10007 + 7 0x10008 + 8 0x10009 + 9 0x1000a + 0 0x1000b + MINUS 0x1000c + EQUAL 0x1000d + BACKSPACE 0x1000e + TAB 0x1000f + Q 0x10010 + W 0x10011 + E 0x10012 + R 0x10013 + T 0x10014 + Y 0x10015 + U 0x10016 + I 0x10017 + O 0x10018 + P 0x10019 + LEFTBRACE 0x1001a + RIGHTBRACE 0x1001b + ENTER 0x1001c + LEFTCTRL 0x1001d + A 0x1001e + S 0x1001f + D 0x10020 + F 0x10021 + G 0x10022 + H 0x10023 + J 0x10024 + K 0x10025 + L 0x10026 + SEMICOLON 0x10027 + APOSTROPHE 0x10028 + GRAVE 0x10029 + LEFTSHIFT 0x1002a + BACKSLASH 0x1002b + Z 0x1002c + X 0x1002d + C 0x1002e + V 0x1002f + B 0x10030 + N 0x10031 + M 0x10032 + COMMA 0x10033 + DOT 0x10034 + SLASH 0x10035 + RIGHTSHIFT 0x10036 + KPASTERISK 0x10037 + LEFTALT 0x10038 + SPACE 0x10039 + CAPSLOCK 0x1003a + F1 0x1003b + F2 0x1003c + F3 0x1003d + F4 0x1003e + F5 0x1003f + F6 0x10040 + F7 0x10041 + F8 0x10042 + F9 0x10043 + F10 0x10044 + NUMLOCK 0x10045 + SCROLLLOCK 0x10046 + KP7 0x10047 + KP8 0x10048 + KP9 0x10049 + KPMINUS 0x1004a + KP4 0x1004b + KP5 0x1004c + KP6 0x1004d + KPPLUS 0x1004e + KP1 0x1004f + KP2 0x10050 + KP3 0x10051 + KP0 0x10052 + KPDOT 0x10053 + 103RD 0x10054 + F13 0x10055 + 102ND 0x10056 + F11 0x10057 + F12 0x10058 + F14 0x10059 + F15 0x1005a + F16 0x1005b + F17 0x1005c + F18 0x1005d + F19 0x1005e + F20 0x1005f + KPENTER 0x10060 + RIGHTCTRL 0x10061 + KPSLASH 0x10062 + SYSRQ 0x10063 + RIGHTALT 0x10064 + LINEFEED 0x10065 + HOME 0x10066 + UP 0x10067 + PAGEUP 0x10068 + LEFT 0x10069 + RIGHT 0x1006a + END 0x1006b + DOWN 0x1006c + PAGEDOWN 0x1006d + INSERT 0x1006e + DELETE 0x1006f + MACRO 0x10070 + MUTE 0x10071 + VOLUMEDOWN 0x10072 + VOLUMEUP 0x10073 + POWER 0x10074 + KPEQUAL 0x10075 + KPPLUSMINUS 0x10076 + PAUSE 0x10077 + F21 0x10078 + F22 0x10079 + F23 0x1007a + F24 0x1007b + KPCOMMA 0x1007c + LEFTMETA 0x1007d + RIGHTMETA 0x1007e + COMPOSE 0x1007f + STOP 0x10080 + AGAIN 0x10081 + PROPS 0x10082 + UNDO 0x10083 + FRONT 0x10084 + COPY 0x10085 + OPEN 0x10086 + PASTE 0x10087 + FIND 0x10088 + CUT 0x10089 + HELP 0x1008a + MENU 0x1008b + CALC 0x1008c + SETUP 0x1008d + SLEEP 0x1008e + WAKEUP 0x1008f + FILE 0x10090 + SENDFILE 0x10091 + DELETEFILE 0x10092 + XFER 0x10093 + PROG1 0x10094 + PROG2 0x10095 + WWW 0x10096 + MSDOS 0x10097 + COFFEE 0x10098 + DIRECTION 0x10099 + CYCLEWINDOWS 0x1009a + MAIL 0x1009b + BOOKMARKS 0x1009c + COMPUTER 0x1009d + BACK 0x1009e + FORWARD 0x1009f + CLOSECD 0x100a0 + EJECTCD 0x100a1 + EJECTCLOSECD 0x100a2 + NEXTSONG 0x100a3 + PLAYPAUSE 0x100a4 + PREVIOUSSONG 0x100a5 + STOPCD 0x100a6 + RECORD 0x100a7 + REWIND 0x100a8 + PHONE 0x100a9 + ISO 0x100aa + CONFIG 0x100ab + HOMEPAGE 0x100ac + REFRESH 0x100ad + EXIT 0x100ae + MOVE 0x100af + EDIT 0x100b0 + SCROLLUP 0x100b1 + SCROLLDOWN 0x100b2 + KPLEFTPAREN 0x100b3 + KPRIGHTPAREN 0x100b4 + INTL1 0x100b5 + INTL2 0x100b6 + INTL3 0x100b7 + INTL4 0x100b8 + INTL5 0x100b9 + INTL6 0x100ba + INTL7 0x100bb + INTL8 0x100bc + INTL9 0x100bd + LANG1 0x100be + LANG2 0x100bf + LANG3 0x100c0 + LANG4 0x100c1 + LANG5 0x100c2 + LANG6 0x100c3 + LANG7 0x100c4 + LANG8 0x100c5 + LANG9 0x100c6 + PLAYCD 0x100c8 + PAUSECD 0x100c9 + PROG3 0x100ca + PROG4 0x100cb + SUSPEND 0x100cd + CLOSE 0x100ce + PLAY 0x100cf + FASTFORWARD 0x100d0 + BASSBOOST 0x100d1 + PRINT 0x100d2 + HP 0x100d3 + CAMERA 0x100d4 + SOUND 0x100d5 + QUESTION 0x100d6 + EMAIL 0x100d7 + CHAT 0x100d8 + SEARCH 0x100d9 + CONNECT 0x100da + FINANCE 0x100db + SPORT 0x100dc + SHOP 0x100dd + ALTERASE 0x100de + CANCEL 0x100df + BRIGHTNESSDOWN 0x100e0 + BRIGHTNESSUP 0x100e1 + MEDIA 0x100e2 + UNKNOWN 0x100f0 + BTN_MISC 0x10100 + BTN_0 0x10100 + BTN_1 0x10101 + BTN_2 0x10102 + BTN_3 0x10103 + BTN_4 0x10104 + BTN_5 0x10105 + BTN_6 0x10106 + BTN_7 0x10107 + BTN_8 0x10108 + BTN_9 0x10109 + BTN_MOUSE 0x10110 + BTN_LEFT 0x10110 + BTN_RIGHT 0x10111 + BTN_MIDDLE 0x10112 + BTN_SIDE 0x10113 + BTN_EXTRA 0x10114 + BTN_FORWARD 0x10115 + BTN_BACK 0x10116 + BTN_TASK 0x10117 + BTN_JOYSTICK 0x10120 + BTN_TRIGGER 0x10120 + BTN_THUMB 0x10121 + BTN_THUMB2 0x10122 + BTN_TOP 0x10123 + BTN_TOP2 0x10124 + BTN_PINKIE 0x10125 + BTN_BASE 0x10126 + BTN_BASE2 0x10127 + BTN_BASE3 0x10128 + BTN_BASE4 0x10129 + BTN_BASE5 0x1012a + BTN_BASE6 0x1012b + BTN_DEAD 0x1012f + BTN_GAMEPAD 0x10130 + BTN_A 0x10130 + BTN_B 0x10131 + BTN_C 0x10132 + BTN_X 0x10133 + BTN_Y 0x10134 + BTN_Z 0x10135 + BTN_TL 0x10136 + BTN_TR 0x10137 + BTN_TL2 0x10138 + BTN_TR2 0x10139 + BTN_SELECT 0x1013a + BTN_START 0x1013b + BTN_MODE 0x1013c + BTN_THUMBL 0x1013d + BTN_THUMBR 0x1013e + BTN_DIGI 0x10140 + BTN_TOOL_PEN 0x10140 + BTN_TOOL_RUBBER 0x10141 + BTN_TOOL_BRUSH 0x10142 + BTN_TOOL_PENCIL 0x10143 + BTN_TOOL_AIRBRUSH 0x10144 + BTN_TOOL_FINGER 0x10145 + BTN_TOOL_MOUSE 0x10146 + BTN_TOOL_LENS 0x10147 + BTN_TOUCH 0x1014a + BTN_STYLUS 0x1014b + BTN_STYLUS2 0x1014c + BTN_WHEEL 0x10150 + BTN_GEAR_DOWN 0x10150 + BTN_GEAR_UP 0x10151 + OK 0x10160 + SELECT 0x10161 + GOTO 0x10162 + CLEAR 0x10163 + POWER2 0x10164 + OPTION 0x10165 + INFO 0x10166 + TIME 0x10167 + VENDOR 0x10168 + ARCHIVE 0x10169 + PROGRAM 0x1016a + CHANNEL 0x1016b + FAVORITES 0x1016c + EPG 0x1016d + PVR 0x1016e + MHP 0x1016f + LANGUAGE 0x10170 + TITLE 0x10171 + SUBTITLE 0x10172 + ANGLE 0x10173 + ZOOM 0x10174 + MODE 0x10175 + KEYBOARD 0x10176 + SCREEN 0x10177 + PC 0x10178 + TV 0x10179 + TV2 0x1017a + VCR 0x1017b + VCR2 0x1017c + SAT 0x1017d + SAT2 0x1017e + CD 0x1017f + TAPE 0x10180 + RADIO 0x10181 + TUNER 0x10182 + PLAYER 0x10183 + TEXT 0x10184 + DVD 0x10185 + AUX 0x10186 + MP3 0x10187 + AUDIO 0x10188 + VIDEO 0x10189 + DIRECTORY 0x1018a + LIST 0x1018b + MEMO 0x1018c + CALENDAR 0x1018d + RED 0x1018e + GREEN 0x1018f + YELLOW 0x10190 + BLUE 0x10191 + CHANNELUP 0x10192 + CHANNELDOWN 0x10193 + FIRST 0x10194 + LAST 0x10195 + AB 0x10196 + NEXT 0x10197 + RESTART 0x10198 + SLOW 0x10199 + SHUFFLE 0x1019a + BREAK 0x1019b + PREVIOUS 0x1019c + DIGITS 0x1019d + TEEN 0x1019e + TWEN 0x1019f + DEL_EOL 0x101c0 + DEL_EOS 0x101c1 + INS_LINE 0x101c2 + DEL_LINE 0x101c3 + end codes +end remote diff --git a/lirc-0.8.0-k2.6.18.diff b/lirc-0.8.0-k2.6.18.diff new file mode 100644 index 0000000..3af6d2d --- /dev/null +++ b/lirc-0.8.0-k2.6.18.diff @@ -0,0 +1,84 @@ +--- drivers/kcompat.h ++++ drivers/kcompat.h +@@ -8,9 +8,10 @@ + #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) + + #include +- ++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,18) + #define LIRC_HAVE_DEVFS + #define LIRC_HAVE_DEVFS_26 ++#endif + #define LIRC_HAVE_SYSFS + + #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,13) +--- drivers/lirc_dev/lirc_dev.c ++++ drivers/lirc_dev/lirc_dev.c +@@ -49,16 +49,16 @@ + #endif + #define __KERNEL_SYSCALLS__ + #include ++#include "drivers/kcompat.h" + /* DevFS header */ +-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) ++#if defined(LIRC_HAVE_DEVFS) + #include + #endif + /* SysFS header */ +-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) ++#if defined(LIRC_HAVE_SYSFS) + #include + #endif + +-#include "drivers/kcompat.h" + #include "drivers/lirc.h" + #include "lirc_dev.h" + +--- drivers/lirc_gpio/lirc_gpio.c ++++ drivers/lirc_gpio/lirc_gpio.c +@@ -48,9 +48,12 @@ + #if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,0) + #include "../drivers/char/bttv.h" + #include "../drivers/char/bttvp.h" +-#else ++#elif LINUX_VERSION_CODE < KERNEL_VERSION(2,6,17) + #include "../drivers/media/video/bttv.h" + #include "../drivers/media/video/bttvp.h" ++#else ++#include "../drivers/media/video/bt8xx/bttv.h" ++#include "../drivers/media/video/bt8xx/bttvp.h" + #endif + + #if BTTV_VERSION_CODE < KERNEL_VERSION(0,7,45) +--- drivers/lirc_imon/lirc_imon.c ++++ drivers/lirc_imon/lirc_imon.c +@@ -58,10 +58,12 @@ + #include + #include + #include ++#include "drivers/kcompat.h" ++#if defined(LIRC_HAVE_DEVFS) + #include ++#endif + + #include "drivers/lirc.h" +-#include "drivers/kcompat.h" + #include "drivers/lirc_dev/lirc_dev.h" + + +--- drivers/lirc_sasem/lirc_sasem.c ++++ drivers/lirc_sasem/lirc_sasem.c +@@ -67,10 +67,12 @@ + #include + #include + #include ++#include "drivers/kcompat.h" ++#if defined(LIRC_HAVE_DEVFS) + #include ++#endif + + #include "drivers/lirc.h" +-#include "drivers/kcompat.h" + #include "drivers/lirc_dev/lirc_dev.h" + + diff --git a/lirc-0.8.1-kernel_SLAB_ATOMIC.diff b/lirc-0.8.1-kernel_SLAB_ATOMIC.diff new file mode 100644 index 0000000..fc152e3 --- /dev/null +++ b/lirc-0.8.1-kernel_SLAB_ATOMIC.diff @@ -0,0 +1,155 @@ +Index: lirc-0.8.1/drivers/lirc_atiusb/lirc_atiusb.c +=================================================================== +--- lirc-0.8.1.orig/drivers/lirc_atiusb/lirc_atiusb.c ++++ lirc-0.8.1/drivers/lirc_atiusb/lirc_atiusb.c +@@ -251,7 +251,7 @@ static void send_packet(struct out_endpt + add_wait_queue(&oep->wait, &wait); + + #ifdef KERNEL_2_5 +- if (usb_submit_urb(oep->urb, SLAB_ATOMIC)) { ++ if (usb_submit_urb(oep->urb, GFP_ATOMIC)) { + #else + if (usb_submit_urb(oep->urb)) { + #endif +@@ -323,7 +323,7 @@ static int set_use_inc(void *data) + iep->urb->dev = ir->usbdev; + dprintk(DRIVER_NAME "[%d]: linking iep 0x%02x (%p)\n", ir->devnum, iep->ep->bEndpointAddress, iep); + #ifdef KERNEL_2_5 +- if ((rtn = usb_submit_urb(iep->urb, SLAB_ATOMIC)) < 0) { ++ if ((rtn = usb_submit_urb(iep->urb, GFP_ATOMIC)) < 0) { + #else + if ((rtn = usb_submit_urb(iep->urb)) < 0) { + #endif +@@ -659,7 +659,7 @@ static void usb_remote_recv(struct urb * + + /* resubmit urb */ + #ifdef KERNEL_2_5 +- usb_submit_urb(urb, SLAB_ATOMIC); ++ usb_submit_urb(urb, GFP_ATOMIC); + #endif + } + +@@ -775,7 +775,7 @@ static struct in_endpt *new_in_endpt(str + iep->len = len; + + #ifdef KERNEL_2_5 +- if ( !(iep->buf = usb_buffer_alloc(dev, len, SLAB_ATOMIC, &iep->dma)) ) { ++ if ( !(iep->buf = usb_buffer_alloc(dev, len, GFP_ATOMIC, &iep->dma)) ) { + mem_failure = 2; + } else if ( !(iep->urb = usb_alloc_urb(0, GFP_KERNEL)) ) { + mem_failure = 3; +@@ -856,7 +856,7 @@ static struct out_endpt *new_out_endpt(s + init_waitqueue_head(&oep->wait); + + #ifdef KERNEL_2_5 +- if ( !(oep->buf = usb_buffer_alloc(dev, USB_OUTLEN, SLAB_ATOMIC, &oep->dma)) ) { ++ if ( !(oep->buf = usb_buffer_alloc(dev, USB_OUTLEN, GFP_ATOMIC, &oep->dma)) ) { + mem_failure = 2; + } else if ( !(oep->urb = usb_alloc_urb(0, GFP_KERNEL)) ) { + mem_failure = 3; +Index: lirc-0.8.1/drivers/lirc_igorplugusb/lirc_igorplugusb.c +=================================================================== +--- lirc-0.8.1.orig/drivers/lirc_igorplugusb/lirc_igorplugusb.c ++++ lirc-0.8.1/drivers/lirc_igorplugusb/lirc_igorplugusb.c +@@ -484,7 +484,7 @@ static void *usb_remote_probe(struct usb + #if defined(KERNEL_2_5) + } else if (!(ir->buf_in = usb_buffer_alloc(dev, + DEVICE_BUFLEN+DEVICE_HEADERLEN, +- SLAB_ATOMIC, &ir->dma_in))) { ++ GFP_ATOMIC, &ir->dma_in))) { + mem_failure = 5; + #else + } else if (!(ir->buf_in = kmalloc( +Index: lirc-0.8.1/drivers/lirc_mceusb/lirc_mceusb.c +=================================================================== +--- lirc-0.8.1.orig/drivers/lirc_mceusb/lirc_mceusb.c ++++ lirc-0.8.1/drivers/lirc_mceusb/lirc_mceusb.c +@@ -768,7 +768,7 @@ static void * mceusb_probe(struct usb_de + dev->bulk_in_endpointAddr = endpoint->bEndpointAddress; + #ifdef KERNEL_2_5 + dev->bulk_in_buffer = usb_buffer_alloc +- (udev, buffer_size, SLAB_ATOMIC, &dev->dma_in); ++ (udev, buffer_size, GFP_ATOMIC, &dev->dma_in); + #else + dev->bulk_in_buffer = kmalloc(buffer_size, GFP_KERNEL); + #endif +@@ -795,7 +795,7 @@ static void * mceusb_probe(struct usb_de + dev->bulk_out_size = buffer_size; + dev->bulk_out_endpointAddr = endpoint->bEndpointAddress; + #ifdef KERNEL_2_5 +- dev->bulk_out_buffer = usb_buffer_alloc(udev, buffer_size, SLAB_ATOMIC, &dev->dma_out); ++ dev->bulk_out_buffer = usb_buffer_alloc(udev, buffer_size, GFP_ATOMIC, &dev->dma_out); + #else + dev->bulk_out_buffer = kmalloc (buffer_size, GFP_KERNEL); + #endif +Index: lirc-0.8.1/drivers/lirc_mceusb2/lirc_mceusb2.c +=================================================================== +--- lirc-0.8.1.orig/drivers/lirc_mceusb2/lirc_mceusb2.c ++++ lirc-0.8.1/drivers/lirc_mceusb2/lirc_mceusb2.c +@@ -263,7 +263,7 @@ static void request_packet_async(struct + async_urb->transfer_buffer_length = size; + async_urb->dev = ir->usbdev; + +- if ((res=usb_submit_urb(async_urb, SLAB_ATOMIC))) { ++ if ((res=usb_submit_urb(async_urb, GFP_ATOMIC))) { + dprintk(DRIVER_NAME "[%d]: receive request FAILED! (res=%d)\n", ir->devnum, res); + return; + } +@@ -466,7 +466,7 @@ static void usb_remote_recv(struct urb * + } + + /* resubmit urb */ +- usb_submit_urb(urb, SLAB_ATOMIC); ++ usb_submit_urb(urb, GFP_ATOMIC); + } + + +@@ -702,7 +702,7 @@ static int usb_remote_probe(struct usb_i + mem_failure = 3; + } else if (lirc_buffer_init(rbuf, sizeof(lirc_t), LIRCBUF_SIZE)) { + mem_failure = 4; +- } else if (!(ir->buf_in = usb_buffer_alloc(dev, maxp, SLAB_ATOMIC, &ir->dma_in))) { ++ } else if (!(ir->buf_in = usb_buffer_alloc(dev, maxp, GFP_ATOMIC, &ir->dma_in))) { + mem_failure = 5; + } else if (!(ir->urb_in = usb_alloc_urb(0, GFP_KERNEL))) { + mem_failure = 7; +Index: lirc-0.8.1/drivers/lirc_streamzap/lirc_streamzap.c +=================================================================== +--- lirc-0.8.1.orig/drivers/lirc_streamzap/lirc_streamzap.c ++++ lirc-0.8.1/drivers/lirc_streamzap/lirc_streamzap.c +@@ -458,7 +458,7 @@ static void usb_streamzap_irq(struct urb + + #ifdef KERNEL_2_5 + /* resubmit only for 2.6 */ +- usb_submit_urb( urb, SLAB_ATOMIC ); ++ usb_submit_urb( urb, GFP_ATOMIC ); + #endif + + return; +@@ -556,7 +556,7 @@ static void *streamzap_probe(struct usb_ + sz->buf_in_len = sz->endpoint->wMaxPacketSize; + #ifdef KERNEL_2_5 + if((sz->buf_in = usb_buffer_alloc(sz->udev, sz->buf_in_len, +- SLAB_ATOMIC, &sz->dma_in)) == NULL ) ++ GFP_ATOMIC, &sz->dma_in)) == NULL ) + { + goto error; + } +@@ -715,7 +715,7 @@ static int streamzap_use_inc(void *data) + + sz->urb_in->dev = sz->udev; + #ifdef KERNEL_2_5 +- if (usb_submit_urb(sz->urb_in, SLAB_ATOMIC)) ++ if (usb_submit_urb(sz->urb_in, GFP_ATOMIC)) + #else + if (usb_submit_urb(sz->urb_in)) + #endif +@@ -866,7 +866,7 @@ static int streamzap_resume(struct usb_i + + sz->urb_in->dev = sz->udev; + #ifdef KERNEL_2_5 +- if (usb_submit_urb(sz->urb_in, SLAB_ATOMIC)) ++ if (usb_submit_urb(sz->urb_in, GFP_ATOMIC)) + #else + if (usb_submit_urb(sz->urb_in)) + #endif diff --git a/lirc-0.8.1.tar.bz2 b/lirc-0.8.1.tar.bz2 new file mode 100644 index 0000000..efdf8cd --- /dev/null +++ b/lirc-0.8.1.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:86ea19a768e8b8a9ac19daf403ac8b017f7a20d2764e6e78267099094e4f9a1b +size 604524 diff --git a/lirc-kernel.changes b/lirc-kernel.changes new file mode 100644 index 0000000..d652c67 --- /dev/null +++ b/lirc-kernel.changes @@ -0,0 +1,52 @@ +------------------------------------------------------------------- +Tue Feb 27 16:47:09 CET 2007 - ro@suse.de + +- specfile: lirc-kernel-KMP should be lirc-KMP +- remove NoSource from specfile + +------------------------------------------------------------------- +Mon Jan 15 11:22:03 CET 2007 - lnussel@suse.de + +- also build xen kernel module (#233999) + +------------------------------------------------------------------- +Fri Jan 12 15:53:22 CET 2007 - lnussel@suse.de + +- fix kernel module build: SLAB_ATOMIC -> GFP_ATOMIC + +------------------------------------------------------------------- +Thu Jan 11 15:09:28 CET 2007 - lnussel@suse.de + +- new version 0.8.1 + * added support for USB-UIRT + * added transmitter support for new version of Windows Media + Center transceiver + * added support for Iguanaworks USB IR Transceiver + +------------------------------------------------------------------- +Mon Aug 21 16:11:22 CEST 2006 - ro@suse.de + +- fix build with 2.6.18 (from cvs) + +------------------------------------------------------------------- +Thu Feb 16 10:33:18 CET 2006 - lnussel@suse.de + +- remove redundant vermagic line from igorplugusb as it apparently + confuses some magic kernel package script + +------------------------------------------------------------------- +Wed Feb 8 15:31:43 CET 2006 - agruen@suse.de + +- Rename lirc-kernel-kmp-* to lirc-kmp-*. + +------------------------------------------------------------------- +Tue Feb 7 10:46:47 CET 2006 - lnussel@suse.de + +- serial and sir fail on ppc, skip them +- bt829, it87 and parallel fail on s390, skip them + +------------------------------------------------------------------- +Thu Feb 2 12:16:19 CET 2006 - lnussel@suse.de + +- initial kernel module package + diff --git a/lirc-kernel.spec b/lirc-kernel.spec new file mode 100644 index 0000000..b9a589a --- /dev/null +++ b/lirc-kernel.spec @@ -0,0 +1,97 @@ +# +# spec file for package lirc-kernel (Version 0.8.1) +# +# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany. +# This file and all modifications and additions to the pristine +# package are under the same license as the package itself. +# +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + +# norootforbuild +# icecream 0 + +Name: lirc-kernel +BuildRequires: kernel-source kernel-syms +License: GNU General Public License (GPL) +Group: System/Kernel +Summary: LIRC kernel modules +Version: 0.8.1 +Release: 5 +Source0: lirc-0.8.1.tar.bz2 +Source1: Makefile.module +Source2: Makefile.modsub +Patch: lirc-0.8.1-kernel_SLAB_ATOMIC.diff +BuildRoot: %{_tmppath}/%{name}-%{version}-build +%suse_kernel_module_package -n lirc kdump um debug + +%description +this package is just a placeholder + + + +%package -n lirc-KMP +Summary: LIRC kernel modules +Group: System/Kernel + +%description -n lirc-KMP +LIRC kernel modules are required to support certain hardware such as +receivers for the serial port. + + + +%prep +%setup -q -n lirc-%{version} +%patch -p1 +./configure --with-driver=all +cp -a drivers source +find source -name 'Makefile*'|xargs rm +ln -s . source/drivers +for i in source/lirc_*; do + cp %{SOURCE2} $i/Makefile +done +cp %{SOURCE1} source/Makefile +mkdir obj + +%build +export EXTRA_CFLAGS='-DVERSION=\"%version\"' +for flavor in %flavors_to_build; do + rm -rf obj/$flavor + cp -r source obj/$flavor + make -C /usr/src/linux-obj/%_target_cpu/$flavor modules \ + M=$PWD/obj/$flavor +done + +%install +export INSTALL_MOD_PATH=$RPM_BUILD_ROOT +export INSTALL_MOD_DIR=updates +for flavor in %flavors_to_build; do + make -C /usr/src/linux-obj/%_target_cpu/$flavor modules_install \ + M=$PWD/obj/$flavor +done + +%changelog +* Tue Feb 27 2007 - ro@suse.de +- specfile: lirc-kernel-KMP should be lirc-KMP +* Mon Jan 15 2007 - lnussel@suse.de +- also build xen kernel module (#233999) +* Fri Jan 12 2007 - lnussel@suse.de +- fix kernel module build: SLAB_ATOMIC -> GFP_ATOMIC +* Thu Jan 11 2007 - lnussel@suse.de +- new version 0.8.1 + * added support for USB-UIRT + * added transmitter support for new version of Windows Media + Center transceiver + * added support for Iguanaworks USB IR Transceiver +* Mon Aug 21 2006 - ro@suse.de +- fix build with 2.6.18 (from cvs) +* Thu Feb 16 2006 - lnussel@suse.de +- remove redundant vermagic line from igorplugusb as it apparently + confuses some magic kernel package script +* Wed Feb 08 2006 - agruen@suse.de +- Rename lirc-kernel-kmp-* to lirc-kmp-*. +* Tue Feb 07 2006 - lnussel@suse.de +- serial and sir fail on ppc, skip them +- bt829, it87 and parallel fail on s390, skip them +* Thu Feb 02 2006 - lnussel@suse.de +- initial kernel module package diff --git a/lirc-sockets-in-var.diff b/lirc-sockets-in-var.diff new file mode 100644 index 0000000..30b2093 --- /dev/null +++ b/lirc-sockets-in-var.diff @@ -0,0 +1,13 @@ +--- lirc-0.7.0/acconfig.h.var 2005-01-18 11:52:17.695675277 +0100 ++++ lirc-0.7.0/acconfig.h 2005-01-18 11:53:12.681024243 +0100 +@@ -279,8 +279,8 @@ + /* Set the default tty used by the irman/remotemaster driver */ + #define LIRC_IRTTY DEVDIR "/" "ttyS0" + +-#define LIRCD DEVDIR "/" DEV_LIRCD +-#define LIRCM DEVDIR "/" DEV_LIRCM ++#define LIRCD "/var/run/lirc/" DEV_LIRCD ++#define LIRCM "/var/run/lirc/" DEV_LIRCM + + #define LIRCDCFGFILE SYSCONFDIR "/" CFG_LIRCD + #define LIRCMDCFGFILE SYSCONFDIR "/" CFG_LIRCM diff --git a/lirc.changes b/lirc.changes new file mode 100644 index 0000000..a856a77 --- /dev/null +++ b/lirc.changes @@ -0,0 +1,326 @@ +------------------------------------------------------------------- +Tue Jan 16 16:37:14 CET 2007 - lnussel@suse.de + +- use optflags + +------------------------------------------------------------------- +Thu Jan 11 15:09:28 CET 2007 - lnussel@suse.de + +- new version 0.8.1 + * added support for USB-UIRT + * added transmitter support for new version of Windows Media + Center transceiver + * added support for Iguanaworks USB IR Transceiver + +------------------------------------------------------------------- +Tue Nov 14 17:33:37 CET 2006 - lnussel@suse.de + +- fix excessive logging in devinput driver, use syslog (#218286) + +------------------------------------------------------------------- +Fri Nov 10 12:58:28 CET 2006 - ro@suse.de + +- fix docu permissions + +------------------------------------------------------------------- +Thu Aug 24 11:58:31 CEST 2006 - lnussel@suse.de + +- SYSFS{../name} is deprecated, use ATTRS{name} instead + +------------------------------------------------------------------- +Thu Aug 17 23:04:16 CEST 2006 - ro@suse.de + +- fix build with 2.6.18 (from cvs) + +------------------------------------------------------------------- +Tue Feb 7 16:58:56 CET 2006 - lnussel@suse.de + +- remove CFT2000 config file as it contains a strange proprietary + notice (#148744) + +------------------------------------------------------------------- +Thu Feb 2 13:56:47 CET 2006 - lnussel@suse.de + +- update to version 0.8.0 + * included kernel modules build with minor modifications (#147601) + +------------------------------------------------------------------- +Wed Jan 25 21:37:57 CET 2006 - mls@suse.de + +- converted neededforbuild to BuildRequires + +------------------------------------------------------------------- +Mon Jan 23 16:04:43 CET 2006 - ro@suse.de + +- added (empty) rest of LSB init script header + +------------------------------------------------------------------- +Wed Nov 30 10:01:16 CET 2005 - lnussel@suse.de + +- use different way for matching *IR* in 51-lirc.rules to get rid of + udev.get_input_lirc.sh + +------------------------------------------------------------------- +Thu Sep 1 15:25:13 CEST 2005 - lnussel@suse.de + +- move lirc related udev stuff into lirc package (#114656) +- improve checks for device presence in init script to avoid + starting an unconfigured lircd that just silently quits later. + (#106055) +- remove dependencies from initscript to allow vdr to start earlier + +------------------------------------------------------------------- +Mon Aug 29 15:31:33 CEST 2005 - lnussel@suse.de + +- update input layer config file (#113852) + +------------------------------------------------------------------- +Tue Aug 16 17:53:39 CEST 2005 - lnussel@suse.de + +- don't fail if evdev is not available as module (#104558) + +------------------------------------------------------------------- +Wed Aug 10 13:11:33 CEST 2005 - kraxel@suse.de + +- fix quoting bug in init script (#102540). + +------------------------------------------------------------------- +Tue May 31 14:04:17 CEST 2005 - kraxel@suse.de + +- fix init script (#86271). +- updfate to version 0.7.1 + +------------------------------------------------------------------- +Fri Mar 11 16:38:45 CET 2005 - lnussel@suse.de + +- check if /dev/lircd is already a symlink before creating it (#71063) +- don't unload module when stopping lirc (#71063) + +------------------------------------------------------------------- +Tue Mar 1 18:28:58 CET 2005 - kraxel@suse.de + +- add compatibility symlink (bug #67039). + +------------------------------------------------------------------- +Mon Jan 24 15:40:19 CET 2005 - kraxel@suse.de + +- update to 0.7.0 final. +- move lircd sockets from /dev to /var/run/lirc (bug #44254). + +------------------------------------------------------------------- +Fri Aug 20 12:04:29 CEST 2004 - kraxel@suse.de + +- update to cvs [2004-08-20] + +------------------------------------------------------------------- +Tue Mar 30 19:26:55 CEST 2004 - kraxel@suse.de + +- add README.SUSE file (by lnussel) +- remove some files non-text files from documentation (bug #36349). + +------------------------------------------------------------------- +Fri Mar 12 14:22:55 CET 2004 - kraxel@suse.de + +- fix lirc start script. + +------------------------------------------------------------------- +Mon Mar 8 13:59:10 CET 2004 - kraxel@suse.de + +- update to cvs [2004-03-08] +- dropped global config file patch (merged into cvs). + +------------------------------------------------------------------- +Fri Mar 5 17:31:55 CET 2004 - kraxel@suse.de + +- update to cvs [2004-03-05] +- init script fixes. + +------------------------------------------------------------------- +Mon Mar 1 13:06:18 CET 2004 - kraxel@suse.de + +- update to cvs [2004-03-01] +- added input-layer-lircd.conf +- added global config file patch (by msvec@suse.cz). + +------------------------------------------------------------------- +Thu Feb 5 12:43:14 CET 2004 - kraxel@suse.de + +- drop km_lirc. + +------------------------------------------------------------------- +Mon Jan 19 14:13:37 CET 2004 - kraxel@suse.de + +- updated to cvs snapshot again [2004-01-16]. + +------------------------------------------------------------------- +Tue Oct 21 18:21:36 CEST 2003 - kraxel@suse.de + +- updated to 0.7.0 cvs snapshot. + +------------------------------------------------------------------- +Thu Aug 14 17:26:16 CEST 2003 - kraxel@suse.de + +- Respect INSTALL_MOD_PATH. + +------------------------------------------------------------------- +Thu Aug 14 15:41:51 CEST 2003 - kraxel@suse.de + +- added ServiceRestart to sysconfig.lirc (#28893). + +------------------------------------------------------------------- +Thu Aug 14 10:02:09 CEST 2003 - kraxel@suse.de + +- fix i2c kernel module build failure. + +------------------------------------------------------------------- +Fri Jun 13 08:56:50 CEST 2003 - kukuk@suse.de + +- Add missing directory to filelist + +------------------------------------------------------------------- +Wed Mar 12 12:21:55 CET 2003 - kraxel@suse.de + +- added metadata to sysconfig template [bugzilla #25077] + +------------------------------------------------------------------- +Mon Mar 10 17:28:24 CET 2003 - kraxel@suse.de + +- added init script for lircd [bugzilla #24787] + +------------------------------------------------------------------- +Thu Mar 6 14:38:39 CET 2003 - schwab@suse.de + +- Fix invalid use of floating point in kernel. + +------------------------------------------------------------------- +Mon Mar 3 16:10:46 CET 2003 - kraxel@suse.de + +- fixed module install failure (bug #24512). + +------------------------------------------------------------------- +Wed Dec 11 17:52:32 CET 2002 - kraxel@suse.de + +- splitted up the patch. +- minor specfile tweaks. + +------------------------------------------------------------------- +Tue Oct 22 13:48:53 CEST 2002 - uli@suse.de + +- update -> 0.6.6 (rc tool for sending IR commands, bugfix for + Winfast TV2000 card, SIR support for Actisys Act200L dongle, + support for hardware connected to soundcard input, added support + for Tekram M230 Mach64) + +------------------------------------------------------------------- +Mon Jun 3 10:31:39 CEST 2002 - uli@suse.de + +- added fix for drivers using std serial device by werner@suse.de +- touch all files to same date to avoid automake rerun + +------------------------------------------------------------------- +Sun Apr 28 02:41:52 CEST 2002 - schwab@suse.de + +- Fix to build with 2.4.19-pre7. + +------------------------------------------------------------------- +Fri Feb 22 14:22:16 CET 2002 - uli@suse.de + +- removed many unnecessary files from km_lirc (fixes bug #13733) + +------------------------------------------------------------------- +Mon Jan 28 11:59:17 CET 2002 - uli@suse.de + +- update -> 0.6.5 (support for additional IR reveivers, bugfixes) + +------------------------------------------------------------------- +Tue Sep 4 11:28:44 CEST 2001 - uli@suse.de + +- added remotes tarball from lirc.org containing configs for a few + hundred remote controls + +------------------------------------------------------------------- +Tue Aug 21 15:48:06 CEST 2001 - lnussel@suse.de + +- new version 0.6.4 (bugfix release) +- cleaned up spec file, now uses buildroot +- added example config files for remotes to %doc +- re-enabled parallel port driver +- changed --with-driver=none to =any to make lircd actually use + remote hardware instead of switching into network only mode + (fixes Bug #9655) + +------------------------------------------------------------------- +Sat May 12 17:21:07 CEST 2001 - schwab@suse.de + +- Fix missing declarations. + +------------------------------------------------------------------- +Wed May 9 18:53:10 CEST 2001 - uli@suse.de + +- building lirc_dev module in Makefile.module (reqd. by lirc_i2c) + +------------------------------------------------------------------- +Thu Apr 26 15:31:07 CEST 2001 - uli@suse.de + +- fixed Makefile.module, configure call for building with + "--with-driver=none" +- disabled parport module (no go with 2.4.3) + +------------------------------------------------------------------- +Thu Apr 5 18:17:06 CEST 2001 - uli@suse.de + +- kernel sources not needed any more + +------------------------------------------------------------------- +Mon Mar 19 15:39:28 CET 2001 - uli@suse.de + +- building lirc_i2c module in Makefile.module + +------------------------------------------------------------------- +Mon Mar 19 11:48:25 CET 2001 - uli@suse.de + +- update -> 0.6.3 final +- added suse_update_config before configure (fixes IA64) +- disabled useless building of drivers +- fixed building of shared libs + +------------------------------------------------------------------- +Thu Feb 22 12:19:06 CET 2001 - uli@suse.de + +- added -I/usr/src/linux/include to kernel module Makefiles + +------------------------------------------------------------------- +Wed Feb 7 11:57:42 CET 2001 - uli@suse.de + +- added lx_suse to neededforbuild + +------------------------------------------------------------------- +Fri Jan 12 14:23:44 CET 2001 - uli@suse.de + +- update -> 0.6.3pre3 (needed for kernels 2.2.18 and 2.4.0) + +------------------------------------------------------------------- +Tue Oct 10 10:02:41 CEST 2000 - ro@suse.de + +- fixed oldconfig + +------------------------------------------------------------------- +Mon Oct 9 11:09:11 CEST 2000 - kukuk@suse.de + +- Use default values for make oldconfig + +------------------------------------------------------------------- +Fri Sep 15 16:41:27 CEST 2000 - uli@suse.de + +- fixed location of config file (/usr/etc -> /etc) + +------------------------------------------------------------------- +Fri Sep 15 15:41:59 CEST 2000 - uli@suse.de + +- fixed Makefile.module + +------------------------------------------------------------------- +Wed Sep 13 18:48:48 CEST 2000 - uli@suse.de + +- initial package + diff --git a/lirc.spec b/lirc.spec new file mode 100644 index 0000000..0666dc5 --- /dev/null +++ b/lirc.spec @@ -0,0 +1,286 @@ +# +# spec file for package lirc (Version 0.8.1) +# +# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany. +# This file and all modifications and additions to the pristine +# package are under the same license as the package itself. +# +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + +# norootforbuild + +Name: lirc +BuildRequires: alsa-devel xorg-x11-devel +URL: http://www.lirc.org/ +License: GNU General Public License (GPL) +Group: Hardware/Other +Autoreqprov: on +Version: 0.8.1 +Release: 7 +PreReq: %fillup_prereq +Summary: Tools for Infrared Receivers +Source0: lirc-0.8.1.tar.bz2 +Source1: remotes.tar.bz2 +Source4: rc.lirc +Source5: sysconfig.lirc +Source6: fix-remote-keys.pl +Source7: http://linux.bytesex.org/v4l2/linux-input-layer-lircd.conf +Source8: README.SUSE +Source9: 51-lirc.rules +#Patch0: lirc-hw.diff +Patch1: lirc-sockets-in-var.diff +Patch2: lirc-0.8.0-k2.6.18.diff +BuildRoot: %{_tmppath}/%{name}-%{version}-build +Requires: udev + +%description +LIRC is a package that supports receiving and sending IR signals with +the most common IR remote controls. It contains a daemon that decodes +and sends IR signals, a mouse daemon that translates IR signals to +mouse movements, and a couple of user programs that allow you to +control your computer with a remote control. + + + +%prep +%setup -q -a 1 -q +#%patch0 -p1 -b .hw +%patch1 -p1 -b .var +#%patch2 +cp %{SOURCE8} . +#find . -type d -name CVS -print0 | xargs -0 -- rm -rf +#find . -name .cvsignore -print0 | xargs -0 -- rm -rf + +%build +%{?suse_update_config:%{suse_update_config -fl}} +autoreconf -vfi +CFLAGS="%{optflags}" ./configure \ + --prefix=%{_prefix} \ + --mandir=%{_mandir} \ + --libdir=%{_libdir} \ + --sysconfdir=/etc \ + --with-driver=userspace \ + --with-port=0x3f8 \ + --with-irq=4 \ + --with-syslog +make -C daemons +make -C tools +make -C doc +chmod -R u+w remotes +chmod -R +r remotes +rm -rf remotes/*/.xvpics/ +perl %{SOURCE6} remotes + +%install +# lirc +test "%{buildroot}" != "" -a "%{buildroot}" != "/" &&\ + rm -rf "%{buildroot}" +make -C daemons DESTDIR=%{buildroot} install +make -C tools DESTDIR=%{buildroot} install +make -C doc DESTDIR=%{buildroot} install +mkdir -p %{buildroot}/usr/share/lirc +cp -a remotes %{buildroot}/usr/share/lirc +cp -a %{SOURCE7} %{buildroot}/usr/share/lirc/remotes +install -d -m 755 %{buildroot}/dev +mkdir -p %{buildroot}/var/run/lirc +mkfifo %{buildroot}/var/run/lirc/lircd +mkfifo %{buildroot}/var/run/lirc/lircm +chmod 600 %{buildroot}/var/run/lirc/* +# lircd init scripts +install -d -m 755 %{buildroot}/etc/init.d \ + %{buildroot}/usr/sbin \ + %{buildroot}/var/adm/fillup-templates +install -m 0755 %{SOURCE4} %{buildroot}/etc/init.d/lirc +ln -sf ../../etc/init.d/lirc %{buildroot}/usr/sbin/rclirc +install -m 0644 %{SOURCE5} %{buildroot}/var/adm/fillup-templates +# remove build tools from doc before copying it as-is +rm -f doc/Makefile* +rm -f doc/release-* +rm -f doc/man2html* +# +# udev stuff +install -d -m 755 %{buildroot}/etc/udev/rules.d +install -d -m 755 %{buildroot}/sbin +install -m 644 %{SOURCE9} %{buildroot}/etc/udev/rules.d +find %{buildroot}/usr/share/lirc -perm +111 -type f -print0 | xargs -r -0 chmod a-x + +%files +%defattr (-,root,root) +%doc ANNOUNCE AUTHORS COPYING ChangeLog INSTALL NEWS README TODO +%doc README.SUSE +%doc doc/[a-z]* contrib +%dir /usr/include/lirc +/usr/include/lirc/lirc_client.h +%{_libdir}/liblirc_client.* +#%attr (600,root,root) %dev(c,61,0) /dev/lirc # => udev +%dir /var/run/lirc +%attr(660,root,video) /var/run/lirc/lircd +/var/run/lirc/lircm +/usr/bin/* +/usr/sbin/* +/usr/share/lirc +/etc/init.d/lirc +/var/adm/fillup-templates/sysconfig.lirc +%dir /etc/udev +%dir /etc/udev/rules.d +/etc/udev/rules.d/51-lirc.rules +%doc %_mandir/man1/* +%doc %_mandir/man8/* + +%post +%{fillup_only} + +%changelog +* Tue Jan 16 2007 - lnussel@suse.de +- use optflags +* Thu Jan 11 2007 - lnussel@suse.de +- new version 0.8.1 + * added support for USB-UIRT + * added transmitter support for new version of Windows Media + Center transceiver + * added support for Iguanaworks USB IR Transceiver +* Tue Nov 14 2006 - lnussel@suse.de +- fix excessive logging in devinput driver, use syslog (#218286) +* Fri Nov 10 2006 - ro@suse.de +- fix docu permissions +* Thu Aug 24 2006 - lnussel@suse.de +- SYSFS{../name} is deprecated, use ATTRS{name} instead +* Thu Aug 17 2006 - ro@suse.de +- fix build with 2.6.18 (from cvs) +* Tue Feb 07 2006 - lnussel@suse.de +- remove CFT2000 config file as it contains a strange proprietary + notice (#148744) +* Thu Feb 02 2006 - lnussel@suse.de +- update to version 0.8.0 + * included kernel modules build with minor modifications (#147601) +* Wed Jan 25 2006 - mls@suse.de +- converted neededforbuild to BuildRequires +* Mon Jan 23 2006 - ro@suse.de +- added (empty) rest of LSB init script header +* Wed Nov 30 2005 - lnussel@suse.de +- use different way for matching *IR* in 51-lirc.rules to get rid of + udev.get_input_lirc.sh +* Thu Sep 01 2005 - lnussel@suse.de +- move lirc related udev stuff into lirc package (#114656) +- improve checks for device presence in init script to avoid + starting an unconfigured lircd that just silently quits later. + (#106055) +- remove dependencies from initscript to allow vdr to start earlier +* Mon Aug 29 2005 - lnussel@suse.de +- update input layer config file (#113852) +* Tue Aug 16 2005 - lnussel@suse.de +- don't fail if evdev is not available as module (#104558) +* Wed Aug 10 2005 - kraxel@suse.de +- fix quoting bug in init script (#102540). +* Tue May 31 2005 - kraxel@suse.de +- fix init script (#86271). +- updfate to version 0.7.1 +* Fri Mar 11 2005 - lnussel@suse.de +- check if /dev/lircd is already a symlink before creating it (#71063) +- don't unload module when stopping lirc (#71063) +* Tue Mar 01 2005 - kraxel@suse.de +- add compatibility symlink (bug #67039). +* Mon Jan 24 2005 - kraxel@suse.de +- update to 0.7.0 final. +- move lircd sockets from /dev to /var/run/lirc (bug #44254). +* Fri Aug 20 2004 - kraxel@suse.de +- update to cvs [2004-08-20] +* Tue Mar 30 2004 - kraxel@suse.de +- add README.SUSE file (by lnussel) +- remove some files non-text files from documentation (bug #36349). +* Fri Mar 12 2004 - kraxel@suse.de +- fix lirc start script. +* Mon Mar 08 2004 - kraxel@suse.de +- update to cvs [2004-03-08] +- dropped global config file patch (merged into cvs). +* Fri Mar 05 2004 - kraxel@suse.de +- update to cvs [2004-03-05] +- init script fixes. +* Mon Mar 01 2004 - kraxel@suse.de +- update to cvs [2004-03-01] +- added input-layer-lircd.conf +- added global config file patch (by msvec@suse.cz). +* Thu Feb 05 2004 - kraxel@suse.de +- drop km_lirc. +* Mon Jan 19 2004 - kraxel@suse.de +- updated to cvs snapshot again [2004-01-16]. +* Tue Oct 21 2003 - kraxel@suse.de +- updated to 0.7.0 cvs snapshot. +* Thu Aug 14 2003 - kraxel@suse.de +- Respect INSTALL_MOD_PATH. +* Thu Aug 14 2003 - kraxel@suse.de +- added ServiceRestart to sysconfig.lirc (#28893). +* Thu Aug 14 2003 - kraxel@suse.de +- fix i2c kernel module build failure. +* Fri Jun 13 2003 - kukuk@suse.de +- Add missing directory to filelist +* Wed Mar 12 2003 - kraxel@suse.de +- added metadata to sysconfig template [bugzilla #25077] +* Mon Mar 10 2003 - kraxel@suse.de +- added init script for lircd [bugzilla #24787] +* Thu Mar 06 2003 - schwab@suse.de +- Fix invalid use of floating point in kernel. +* Mon Mar 03 2003 - kraxel@suse.de +- fixed module install failure (bug #24512). +* Wed Dec 11 2002 - kraxel@suse.de +- splitted up the patch. +- minor specfile tweaks. +* Tue Oct 22 2002 - uli@suse.de +- update -> 0.6.6 (rc tool for sending IR commands, bugfix for + Winfast TV2000 card, SIR support for Actisys Act200L dongle, + support for hardware connected to soundcard input, added support + for Tekram M230 Mach64) +* Mon Jun 03 2002 - uli@suse.de +- added fix for drivers using std serial device by werner@suse.de +- touch all files to same date to avoid automake rerun +* Sun Apr 28 2002 - schwab@suse.de +- Fix to build with 2.4.19-pre7. +* Fri Feb 22 2002 - uli@suse.de +- removed many unnecessary files from km_lirc (fixes bug #13733) +* Mon Jan 28 2002 - uli@suse.de +- update -> 0.6.5 (support for additional IR reveivers, bugfixes) +* Tue Sep 04 2001 - uli@suse.de +- added remotes tarball from lirc.org containing configs for a few + hundred remote controls +* Tue Aug 21 2001 - lnussel@suse.de +- new version 0.6.4 (bugfix release) +- cleaned up spec file, now uses buildroot +- added example config files for remotes to %%doc +- re-enabled parallel port driver +- changed --with-driver=none to =any to make lircd actually use + remote hardware instead of switching into network only mode + (fixes Bug #9655) +* Sat May 12 2001 - schwab@suse.de +- Fix missing declarations. +* Wed May 09 2001 - uli@suse.de +- building lirc_dev module in Makefile.module (reqd. by lirc_i2c) +* Thu Apr 26 2001 - uli@suse.de +- fixed Makefile.module, configure call for building with + "--with-driver=none" +- disabled parport module (no go with 2.4.3) +* Thu Apr 05 2001 - uli@suse.de +- kernel sources not needed any more +* Mon Mar 19 2001 - uli@suse.de +- building lirc_i2c module in Makefile.module +* Mon Mar 19 2001 - uli@suse.de +- update -> 0.6.3 final +- added suse_update_config before configure (fixes IA64) +- disabled useless building of drivers +- fixed building of shared libs +* Thu Feb 22 2001 - uli@suse.de +- added -I/usr/src/linux/include to kernel module Makefiles +* Wed Feb 07 2001 - uli@suse.de +- added lx_suse to neededforbuild +* Fri Jan 12 2001 - uli@suse.de +- update -> 0.6.3pre3 (needed for kernels 2.2.18 and 2.4.0) +* Tue Oct 10 2000 - ro@suse.de +- fixed oldconfig +* Mon Oct 09 2000 - kukuk@suse.de +- Use default values for make oldconfig +* Fri Sep 15 2000 - uli@suse.de +- fixed location of config file (/usr/etc -> /etc) +* Fri Sep 15 2000 - uli@suse.de +- fixed Makefile.module +* Wed Sep 13 2000 - uli@suse.de +- initial package diff --git a/rc.lirc b/rc.lirc new file mode 100644 index 0000000..daccdf7 --- /dev/null +++ b/rc.lirc @@ -0,0 +1,238 @@ +#! /bin/sh +# Copyright (c) 1995-2002 SuSE Linux AG, Nuernberg, Germany. +# All rights reserved. +# +# Author: Kurt Garloff +# Author: Ludwig Nussel +# +# /etc/init.d/lirc +# and its symbolic link +# /usr/sbin/rclirc +# +# LSB compatible service control script; see http://www.linuxbase.org/spec/ +# +### BEGIN INIT INFO +# Provides: lirc +# Required-Start: +# Should-Start: +# Required-Stop: +# Should-Stop: +# Default-Start: 3 5 +# Default-Stop: 0 1 2 6 +# Short-Description: lirc daemon +# Description: The main task of lircd is to decode the infrared +# signals and provide an uniform interface for client applications +### END INIT INFO + +# Check for missing binaries (stale symlinks should not happen) +lircd_BIN=/usr/sbin/lircd +test -x $lircd_BIN || exit 5 + +# Check for existence of needed config file and read it +lircd_CONFIG=/etc/sysconfig/lirc +test -r $lircd_CONFIG || exit 6 +. $lircd_CONFIG + +# Source LSB init functions +# providing start_daemon, killproc, pidofproc, +# log_success_msg, log_failure_msg and log_warning_msg. +# This is currently not used by UnitedLinux based distributions and +# not needed for init scripts for UnitedLinux only. If it is used, +# the functions from rc.status should not be sourced or used. +#. /lib/lsb/init-functions + +# Shell functions sourced from /etc/rc.status: +# rc_check check and set local and overall rc status +# rc_status check and set local and overall rc status +# rc_status -v ditto but be verbose in local rc status +# rc_status -v -r ditto and clear the local rc status +# rc_status -s display "skipped" and exit with status 3 +# rc_status -u display "unused" and exit with status 3 +# rc_failed set local and overall rc status to failed +# rc_failed set local and overall rc status to +# rc_reset clear local rc status (overall remains) +# rc_exit exit appropriate to overall rc status +# rc_active checks whether a service is activated by symlinks +# rc_splash arg sets the boot splash screen to arg (if active) +. /etc/rc.status + +# Reset status of this service +rc_reset + +# Return values acc. to LSB for all commands but status: +# 0 - success +# 1 - generic or unspecified error +# 2 - invalid or excess argument(s) +# 3 - unimplemented feature (e.g. "reload") +# 4 - user had insufficient privileges +# 5 - program is not installed +# 6 - program is not configured +# 7 - program is not running +# 8--199 - reserved (8--99 LSB, 100--149 distrib, 150--199 appl) +# +# Note that starting an already running service, stopping +# or restarting a not-running service as well as the restart +# with force-reload (in case signaling is not supported) are +# considered a success. + +setdefaults() +{ + # set LIRCD_DEVICE default if unset + for retries in 1 2 3 4 5; do + if test "$LIRCD_DEVICE" != ""; then + break; + fi + if test -L "/dev/input/ir"; then + # have input driver + LIRCD_DEVICE="/dev/input/ir" + elif grep -q BaseRemoteCtl /proc/devices && [ -e /dev/lirc ]; then + # have lirc driver + LIRCD_DEVICE="/dev/lirc" + else + # hotplug not finished yet? + echo -n . + sleep 1 + fi + done + + # set LIRCD_DRIVER default if unset + if test "$LIRCD_DRIVER" = "" -a "$LIRCD_DEVICE" = "/dev/input/ir"; then + LIRCD_DRIVER="dev/input" + fi +} + +makeargs() +{ + # print args + [ -n "$LIRCD_DRIVER" ] && echo "-H" "\"$LIRCD_DRIVER\"" + [ -n "$LIRCD_DEVICE" ] && echo "-d" "\"$LIRCD_DEVICE\"" + [ -n "$LIRCD_LISTENPORT" ] && echo "\"-l$LIRCD_LISTENPORT\"" + [ -n "$LIRCD_CONNECT" ] && echo "\"-c$LIRCD_CONNECT\"" +} + +case "$1" in + start) + echo -n "Starting lircd " + if [ ! -e /etc/lircd.conf ]; then + echo -n "Error: please create /etc/lircd.conf" + rc_failed 6 + rc_status -v + rc_exit + fi + modinfo evdev > /dev/null 2>&1 && modprobe evdev || : + if test "$LIRC_MODULE" != ""; then + modprobe "$LIRC_MODULE" + fi + setdefaults + if [ -z "$LIRCD_DRIVER" -a -z "$LIRCD_DEVICE" -a ! -e /dev/lirc ]; then + echo -n "Error: no device found" + rc_failed 6 + rc_status -v + rc_exit + fi + [ -n "$LIRCD_DEVICE" ] && echo -n "($LIRCD_DEVICE)" + chown "$LIRCD_DEV_OWNER" /var/run/lirc/lircd + chmod "$LIRCD_DEV_PERMISSIONS" /var/run/lirc/lircd + if [ ! -L /dev/lircd ]; then + rm -f /dev/lircd + ln -s /var/run/lirc/lircd /dev/lircd + fi + ## Start daemon with startproc(8). If this fails + ## the return value is set appropriately by startproc. + eval startproc $lircd_BIN $(makeargs) + + # Remember status and be verbose + rc_status -v + ;; + stop) + echo -n "Shutting down lircd " + ## Stop daemon with killproc(8) and if this fails + ## killproc sets the return value according to LSB. + + killproc -TERM $lircd_BIN + + # Remember status and be verbose + rc_status -v + ;; + try-restart) + ## Do a restart only if the service was active before. + ## Note: try-restart is not (yet) part of LSB (as of 1.2) + $0 status >/dev/null && $0 restart + + # Remember status and be quiet + rc_status + ;; + restart) + ## Stop the service and regardless of whether it was + ## running or not, start it again. + $0 stop + $0 start + + # Remember status and be quiet + rc_status + ;; + force-reload) + ## Signal the daemon to reload its config. Most daemons + ## do this on signal 1 (SIGHUP). + ## If it does not support it, restart. + + echo -n "Reload service lircd " + ## if it supports it: + killproc -HUP $lircd_BIN + #touch /var/run/lircd.pid + rc_status -v + + ## Otherwise: + #$0 stop && $0 start + #rc_status + ;; + reload) + ## Like force-reload, but if daemon does not support + ## signaling, do nothing (!) + + # If it supports signaling: + echo -n "Reload service lircd " + killproc -HUP $lircd_BIN + #touch /var/run/lircd.pid + rc_status -v + + ## Otherwise if it does not support reload: + #rc_failed 3 + #rc_status -v + ;; + status) + echo -n "Checking for service lircd " + ## Check status with checkproc(8), if process is running + ## checkproc will return with exit status 0. + + # Return value is slightly different for the status command: + # 0 - service up and running + # 1 - service dead, but /var/run/ pid file exists + # 2 - service dead, but /var/lock/ lock file exists + # 3 - service not running (unused) + # 4 - service status unknown :-( + # 5--199 reserved (5--99 LSB, 100--149 distro, 150--199 appl.) + + # NOTE: checkproc returns LSB compliant status values. + checkproc $lircd_BIN + # NOTE: rc_status knows that we called this init script with + # "status" option and adapts its messages accordingly. + rc_status -v + ;; + probe) + ## Optional: Probe for the necessity of a reload, print out the + ## argument to this init script which is required for a reload. + ## Note: probe is not (yet) part of LSB (as of 1.2) + + if test /etc/sysconfig/lirc -nt /var/run/lircd.pid; then + echo reload + elif test /etc/lircd.conf -nt /var/run/lircd.pid; then + echo reload + fi + ;; + *) + echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload|probe}" + exit 1 + ;; +esac +rc_exit diff --git a/ready b/ready new file mode 100644 index 0000000..473a0f4 diff --git a/remotes.tar.bz2 b/remotes.tar.bz2 new file mode 100644 index 0000000..382b3da --- /dev/null +++ b/remotes.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:15a0145620eab52cb7768307ff90be348be8907497f44be3758af6ef219eed72 +size 2624062 diff --git a/sysconfig.lirc b/sysconfig.lirc new file mode 100644 index 0000000..bbfef75 --- /dev/null +++ b/sysconfig.lirc @@ -0,0 +1,55 @@ +## Path: Hardware/Lirc +## Description: lirc (infrared remote control) configuration +## ServiceRestart: lirc + +## Type: string +## Default: "660" +# +# permissions for /dev/lircd +# +LIRCD_DEV_PERMISSIONS="660" + +## Type: string +## Default: "root:video" +# +# owner and group for /dev/lircd +# +LIRCD_DEV_OWNER="root:video" + +## Type: string +## Default: "" +# +# use given driver +# +LIRCD_DRIVER="" + +## Type: string +## Default: "" +# +# read from given device +# +LIRCD_DEVICE="" + +## Type: string(lirc_bt829,lirc_gpio,lirc_i2c,lirc_it87,lirc_parallel,lirc_sir,ir-kbd-i2c,ir-kbd-gpio) +## Default: "" +# +# load given lirc driver module +# +LIRC_MODULE= + +## Type: string +## Default: "" +# +# listen for network connections on specified port. +# WARNING: don't use this on a machine with an internet +# connection as lircd is running as root! +# +LIRCD_LISTENPORT= + +## Type: string +## Default: "" +# +# connect lircd to specified host +# +LIRCD_CONNECT= +