diff --git a/lirc-0.8.6-ioctl-portability.patch b/lirc-0.8.6-ioctl-portability.patch new file mode 100644 index 0000000..abca510 --- /dev/null +++ b/lirc-0.8.6-ioctl-portability.patch @@ -0,0 +1,59 @@ +Index: lirc-0.8.6/drivers/lirc.h +=================================================================== +--- lirc-0.8.6.orig/drivers/lirc.h ++++ lirc-0.8.6/drivers/lirc.h +@@ -68,27 +68,27 @@ typedef int lirc_t; + + /*** IOCTL commands for lirc driver ***/ + +-#define LIRC_GET_FEATURES _IOR('i', 0x00000000, unsigned long) ++#define LIRC_GET_FEATURES _IOR('i', 0x00000000, uint64_t) + +-#define LIRC_GET_SEND_MODE _IOR('i', 0x00000001, unsigned long) +-#define LIRC_GET_REC_MODE _IOR('i', 0x00000002, unsigned long) +-#define LIRC_GET_SEND_CARRIER _IOR('i', 0x00000003, unsigned int) +-#define LIRC_GET_REC_CARRIER _IOR('i', 0x00000004, unsigned int) +-#define LIRC_GET_SEND_DUTY_CYCLE _IOR('i', 0x00000005, unsigned int) +-#define LIRC_GET_REC_DUTY_CYCLE _IOR('i', 0x00000006, unsigned int) +-#define LIRC_GET_REC_RESOLUTION _IOR('i', 0x00000007, unsigned int) ++#define LIRC_GET_SEND_MODE _IOR('i', 0x00000001, uint64_t) ++#define LIRC_GET_REC_MODE _IOR('i', 0x00000002, uint64_t) ++#define LIRC_GET_SEND_CARRIER _IOR('i', 0x00000003, uint32_t) ++#define LIRC_GET_REC_CARRIER _IOR('i', 0x00000004, uint32_t) ++#define LIRC_GET_SEND_DUTY_CYCLE _IOR('i', 0x00000005, uint32_t) ++#define LIRC_GET_REC_DUTY_CYCLE _IOR('i', 0x00000006, uint32_t) ++#define LIRC_GET_REC_RESOLUTION _IOR('i', 0x00000007, uint32_t) + + /* code length in bits, currently only for LIRC_MODE_LIRCCODE */ +-#define LIRC_GET_LENGTH _IOR('i', 0x0000000f, unsigned long) ++#define LIRC_GET_LENGTH _IOR('i', 0x0000000f, uint64_t) + +-#define LIRC_SET_SEND_MODE _IOW('i', 0x00000011, unsigned long) +-#define LIRC_SET_REC_MODE _IOW('i', 0x00000012, unsigned long) ++#define LIRC_SET_SEND_MODE _IOW('i', 0x00000011, uint64_t) ++#define LIRC_SET_REC_MODE _IOW('i', 0x00000012, uint64_t) + /* Note: these can reset the according pulse_width */ +-#define LIRC_SET_SEND_CARRIER _IOW('i', 0x00000013, unsigned int) +-#define LIRC_SET_REC_CARRIER _IOW('i', 0x00000014, unsigned int) +-#define LIRC_SET_SEND_DUTY_CYCLE _IOW('i', 0x00000015, unsigned int) +-#define LIRC_SET_REC_DUTY_CYCLE _IOW('i', 0x00000016, unsigned int) +-#define LIRC_SET_TRANSMITTER_MASK _IOW('i', 0x00000017, unsigned int) ++#define LIRC_SET_SEND_CARRIER _IOW('i', 0x00000013, uint32_t) ++#define LIRC_SET_REC_CARRIER _IOW('i', 0x00000014, uint32_t) ++#define LIRC_SET_SEND_DUTY_CYCLE _IOW('i', 0x00000015, uint32_t) ++#define LIRC_SET_REC_DUTY_CYCLE _IOW('i', 0x00000016, uint32_t) ++#define LIRC_SET_TRANSMITTER_MASK _IOW('i', 0x00000017, uint32_t) + + /* + * to set a range use +@@ -97,8 +97,8 @@ typedef int lirc_t; + * LIRC_SET_REC_DUTY_CYCLE/LIRC_SET_REC_CARRIER with the upper bound + */ + +-#define LIRC_SET_REC_DUTY_CYCLE_RANGE _IOW('i', 0x0000001e, unsigned int) +-#define LIRC_SET_REC_CARRIER_RANGE _IOW('i', 0x0000001f, unsigned int) ++#define LIRC_SET_REC_DUTY_CYCLE_RANGE _IOW('i', 0x0000001e, uint32_t) ++#define LIRC_SET_REC_CARRIER_RANGE _IOW('i', 0x0000001f, uint32_t) + + #define LIRC_NOTIFY_DECODE _IO('i', 0x00000020) + diff --git a/lirc-0.8.6-remove-obsolete-modes.patch b/lirc-0.8.6-remove-obsolete-modes.patch new file mode 100644 index 0000000..ca25341 --- /dev/null +++ b/lirc-0.8.6-remove-obsolete-modes.patch @@ -0,0 +1,32 @@ +Index: lirc-0.8.6/drivers/lirc.h +=================================================================== +--- lirc-0.8.6.orig/drivers/lirc.h ++++ lirc-0.8.6/drivers/lirc.h +@@ -27,17 +27,13 @@ typedef int lirc_t; + #define LIRC_MODE_RAW 0x00000001 + #define LIRC_MODE_PULSE 0x00000002 + #define LIRC_MODE_MODE2 0x00000004 +-#define LIRC_MODE_CODE 0x00000008 + #define LIRC_MODE_LIRCCODE 0x00000010 +-#define LIRC_MODE_STRING 0x00000020 + + + #define LIRC_CAN_SEND_RAW LIRC_MODE2SEND(LIRC_MODE_RAW) + #define LIRC_CAN_SEND_PULSE LIRC_MODE2SEND(LIRC_MODE_PULSE) + #define LIRC_CAN_SEND_MODE2 LIRC_MODE2SEND(LIRC_MODE_MODE2) +-#define LIRC_CAN_SEND_CODE LIRC_MODE2SEND(LIRC_MODE_CODE) + #define LIRC_CAN_SEND_LIRCCODE LIRC_MODE2SEND(LIRC_MODE_LIRCCODE) +-#define LIRC_CAN_SEND_STRING LIRC_MODE2SEND(LIRC_MODE_STRING) + + #define LIRC_CAN_SEND_MASK 0x0000003f + +@@ -48,9 +44,7 @@ typedef int lirc_t; + #define LIRC_CAN_REC_RAW LIRC_MODE2REC(LIRC_MODE_RAW) + #define LIRC_CAN_REC_PULSE LIRC_MODE2REC(LIRC_MODE_PULSE) + #define LIRC_CAN_REC_MODE2 LIRC_MODE2REC(LIRC_MODE_MODE2) +-#define LIRC_CAN_REC_CODE LIRC_MODE2REC(LIRC_MODE_CODE) + #define LIRC_CAN_REC_LIRCCODE LIRC_MODE2REC(LIRC_MODE_LIRCCODE) +-#define LIRC_CAN_REC_STRING LIRC_MODE2REC(LIRC_MODE_STRING) + + #define LIRC_CAN_REC_MASK LIRC_MODE2REC(LIRC_CAN_SEND_MASK) + diff --git a/lirc.spec b/lirc.spec index 4d793f0..14bb277 100644 --- a/lirc.spec +++ b/lirc.spec @@ -18,7 +18,7 @@ Name: lirc Version: 0.8.6 -Release: 2%{?pre:.%{pre}}%{?dist} +Release: 3%{?pre:.%{pre}}%{?dist} Summary: The Linux Infrared Remote Control package Group: System Environment/Daemons @@ -34,6 +34,8 @@ Patch1: lirc-0.8.6-devinput-pass-mouse-events.patch # http://thread.gmane.org/gmane.comp.hardware.lirc/6884 Patch2: lirc-0.8.6-standardized-remote-keycodes.patch Patch3: lirc-0.8.4-make-remote-names-all-unique.patch +Patch4: lirc-0.8.6-ioctl-portability.patch +Patch5: lirc-0.8.6-remove-obsolete-modes.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: %{__perl} @@ -163,6 +165,8 @@ touch -r aclocal.m4 configure.ac # avoid autofoo re-run # Don't create a backup, or the original definitions will get installed %patch2 -p1 %patch3 -p1 +%patch4 -p1 +%patch5 -p1 # Re-run autofoo for new cvs features #autoreconf -i -f #automake @@ -285,6 +289,9 @@ fi %changelog +* Mon Feb 15 2010 Jarod Wilson 0.8.6-3 +- Fix up ioctl portability between 32-bit and 64-bit + * Thu Nov 12 2009 Jarod Wilson 0.8.6-2 - Add devinput mouse event passthru to uinput support from lirc cvs