Accepting request 439256 from vdr
Final fix OBS-URL: https://build.opensuse.org/request/show/439256 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/lirc?expand=0&rev=65
This commit is contained in:
commit
52dda9548b
@ -1,26 +0,0 @@
|
|||||||
From 8459a881fd53525a47ae2f9180fa3644be5df343 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Alec Leamas <leamas@nowhere.net>
|
|
||||||
Date: Mon, 18 Aug 2014 10:00:49 +0200
|
|
||||||
Subject: [PATCH 1/3] Fix segfault when starting lircd (AUR 41581)
|
|
||||||
|
|
||||||
See https://bugs.archlinux.org/task/41581
|
|
||||||
---
|
|
||||||
lirc_options.conf | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/lirc_options.conf b/lirc_options.conf
|
|
||||||
index d8ddedd..11293e2 100644
|
|
||||||
--- a/lirc_options.conf
|
|
||||||
+++ b/lirc_options.conf
|
|
||||||
@@ -10,7 +10,7 @@
|
|
||||||
nodaemon = False
|
|
||||||
driver = devinput
|
|
||||||
device = auto
|
|
||||||
-output = /var/run/lirc/lircd
|
|
||||||
+lircdfile = /var/run/lirc/lircd
|
|
||||||
pidfile = /var/run/lirc/lircd.pid
|
|
||||||
plugindir = /usr/lib/lirc/plugins
|
|
||||||
permission = 666
|
|
||||||
--
|
|
||||||
1.8.4.2
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
|||||||
From 4a9b45822890f50c5ed36660468e0a99cd4531e0 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Alec Leamas <leamas@nowhere.net>
|
|
||||||
Date: Mon, 18 Aug 2014 10:05:44 +0200
|
|
||||||
Subject: [PATCH 2/3] lircd: Fix bad default for lircdfile.
|
|
||||||
|
|
||||||
---
|
|
||||||
daemons/lircd.c | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/daemons/lircd.cpp b/daemons/lircd.cpp
|
|
||||||
index db8ea13..fa8cf17 100644
|
|
||||||
--- a/daemons/lircd.cpp
|
|
||||||
+++ b/daemons/lircd.cpp
|
|
||||||
@@ -2179,7 +2179,7 @@
|
|
||||||
"lircd:device", NULL,
|
|
||||||
"lircd:listen", NULL,
|
|
||||||
"lircd:connect", NULL,
|
|
||||||
- "lircd:output", LIRCD,
|
|
||||||
+ "lircd:lircdfile", LIRCD,
|
|
||||||
"lircd:pidfile", PIDFILE,
|
|
||||||
"lircd:logfile", "syslog",
|
|
||||||
"lircd:debug", level,
|
|
||||||
--
|
|
||||||
1.8.4.2
|
|
||||||
|
|
@ -1,11 +0,0 @@
|
|||||||
#
|
|
||||||
# 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"
|
|
50
README.SUSE
50
README.SUSE
@ -1,50 +0,0 @@
|
|||||||
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/devinput/lircd.conf.devinput /etc/lircd.conf
|
|
||||||
|
|
||||||
- rclirc start; chkconfig lirc on
|
|
@ -1,128 +0,0 @@
|
|||||||
#!/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 <linux/input.h> for the key names.
|
|
||||||
#
|
|
||||||
# (c) 2003 Gerd Knorr <kraxel@suse.de>
|
|
||||||
#
|
|
||||||
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 = <FILE>; };
|
|
||||||
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);
|
|
||||||
}
|
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:386086a74c7d12e7e8f26f7dbc8f40d20b9968c9ad2a42599483a51dd2da03ba
|
|
||||||
size 2292119
|
|
3
lirc-0.9.4c.tar.bz2
Normal file
3
lirc-0.9.4c.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:8974fe5dc8eaa717daab6785d2aefeec27615f01ec24b96d31e3381b2f70726a
|
||||||
|
size 2311300
|
23
lirc-configure-libudev.patch
Normal file
23
lirc-configure-libudev.patch
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
--- a/configure.ac
|
||||||
|
+++ b/configure.ac
|
||||||
|
@@ -48,7 +48,7 @@
|
||||||
|
dnl Checks for header files.
|
||||||
|
AC_HEADER_STDC
|
||||||
|
AC_HEADER_TIME
|
||||||
|
-AC_CHECK_HEADERS([fcntl.h limits.h poll.h sys/ioctl.h sys/poll.h sys/time.h ])
|
||||||
|
+AC_CHECK_HEADERS([fcntl.h libudev.h limits.h poll.h sys/ioctl.h sys/poll.h sys/time.h ])
|
||||||
|
AC_CHECK_HEADERS([syslog.h unistd.h util.h libutil.h pty.h])
|
||||||
|
|
||||||
|
dnl Checks for typedefs, structures, and compiler characteristics.
|
||||||
|
@@ -390,6 +390,10 @@
|
||||||
|
AC_DEFINE(HAVE_SYSTEMD)
|
||||||
|
fi
|
||||||
|
|
||||||
|
+PKG_CHECK_MODULES([LIBUDEV],[libudev],,[true])
|
||||||
|
+CFLAGS="$CFLAGS $LIBUDEV_CFLAGS"
|
||||||
|
+LIBS="$LIBS $LIBUDEV_LIBS"
|
||||||
|
+
|
||||||
|
dnl Ubuntu's systemd pkg-config seems broken beyond repair. So:
|
||||||
|
kernelversion=`cat /proc/version || echo "non-linux"`
|
||||||
|
case $kernelversion in
|
||||||
|
|
@ -0,0 +1,35 @@
|
|||||||
|
From 33c40d127877179e0cba2f6595816377bb6bcda1 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Alec Leamas <leamas.alec@gmail.com>
|
||||||
|
Date: Tue, 25 Oct 2016 10:28:14 +0200
|
||||||
|
Subject: [PATCH 05/10] lib: curl_poll.h: Ensure build on unconfiguredclients.
|
||||||
|
|
||||||
|
---
|
||||||
|
lib/curl_poll.h | 4 +++-
|
||||||
|
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/lib/curl_poll.h b/lib/curl_poll.h
|
||||||
|
index 6144c42..af25381 100644
|
||||||
|
--- a/lib/curl_poll.h
|
||||||
|
+++ b/lib/curl_poll.h
|
||||||
|
@@ -21,7 +21,9 @@
|
||||||
|
* KIND, either express or implied.
|
||||||
|
*
|
||||||
|
***************************************************************************/
|
||||||
|
+#ifdef HAVE_CONFIG_H
|
||||||
|
#include "config.h"
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
@@ -29,7 +31,7 @@ extern "C" {
|
||||||
|
|
||||||
|
#ifdef HAVE_SYS_POLL_H
|
||||||
|
#include <sys/poll.h>
|
||||||
|
-#elif defined(HAVE_POLL_H)
|
||||||
|
+#else
|
||||||
|
#include <poll.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
--
|
||||||
|
2.5.5
|
||||||
|
|
57
lirc.changes
57
lirc.changes
@ -1,3 +1,60 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Nov 8 16:05:41 UTC 2016 - p.drouand@gmail.com
|
||||||
|
|
||||||
|
- Move workarounds to %prep section
|
||||||
|
- Add lirc-configure-libudev.patch (boo#1008764)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Nov 3 10:30:47 UTC 2016 - p.drouand@gmail.com
|
||||||
|
|
||||||
|
- Fix %pre script
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Nov 2 13:46:41 UTC 2016 - p.drouand@gmail.com
|
||||||
|
|
||||||
|
- Add lirc-lib-curl_poll.h-Ensure-build-on-unconfiguredclients.patch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Oct 21 18:14:41 UTC 2016 - p.drouand@gmail.com
|
||||||
|
|
||||||
|
- Update to version 0.9.4c
|
||||||
|
* New curl_poll files adds a new MIT license. Lirc now carries GPL,
|
||||||
|
BSD and MIT licenses.
|
||||||
|
* Several patches to make lirc work again on macos (#226, #227).
|
||||||
|
* New tool irtext2udp generates udp plugin data (#197).
|
||||||
|
* plugins: girs: Add udp/receive support (#201).
|
||||||
|
* mode2: Fix broken --raw option (#223).
|
||||||
|
* lirc-make-devinput: Fix that two remotes has the same name (#222).
|
||||||
|
* lircd: Warn for duplicate remote definitions (#222).
|
||||||
|
* lircd: Retry temporary unavailable write sockets (#221).
|
||||||
|
* contrib: Fix usb devices' acl permissions (rhbz #1364744).
|
||||||
|
* lirc-setup: Fix crasher bugfix (Fedora abort trace).
|
||||||
|
* contrib: disable udev /dev/uinput rule requiring lirc user.
|
||||||
|
* plugins: audio_alsa: Fix byte truncating in 16-bit data (#218):
|
||||||
|
* plugins: irtoy: improve error handling (#220).
|
||||||
|
* Minor documentation fixes.
|
||||||
|
- Changes from version 0.9.4b
|
||||||
|
* lircd-uinput: A multitude of fixes (#213, #211, #177). Adds new options.
|
||||||
|
* lirc_client: Fix "Can't redirect irsend output" (#207).
|
||||||
|
* lirc_client: Fix un-terminated buffer causing irsend crash (#216).
|
||||||
|
* irrecord: Fix under-sized buffer causing crash (#208).
|
||||||
|
* systemd: Add hardening options comments to services (#204).
|
||||||
|
* lircmd: Options, udev examples and manpage update.
|
||||||
|
* lib: Add missing Makefile.am dep, fixes parallel build failure (#210).
|
||||||
|
* Remove a single python2 dependency [4e3c97c].
|
||||||
|
* build: Don't define docdir - autoconf defines docdir (#215).
|
||||||
|
* build: support runstatedir configure option (#212).
|
||||||
|
* doc: Manpages and configuration guide fixes.
|
||||||
|
- Remove fix-remote-keys.pl, README.SUSE and 51-lirc.rules; not relevant
|
||||||
|
for a while already
|
||||||
|
- Remove 0001-Fix-segfault-when-starting-lircd-AUR-41581.patch and
|
||||||
|
0002-lircd-Fix-bad-default-for-lircdfile.patch; fixed on upstream
|
||||||
|
- Add missing dependency to systemd
|
||||||
|
- Global sweeping
|
||||||
|
- Add lirc nologgin user; now needed
|
||||||
|
- Add lircd-Remove-use-of-functions-killed-in-kernel-4.8.0.patch;
|
||||||
|
fix build on openSUSE > 42.2
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Wed Jun 29 14:24:22 UTC 2016 - mpluskal@suse.com
|
Wed Jun 29 14:24:22 UTC 2016 - mpluskal@suse.com
|
||||||
|
|
||||||
|
88
lirc.spec
88
lirc.spec
@ -22,7 +22,7 @@
|
|||||||
%endif
|
%endif
|
||||||
Name: lirc
|
Name: lirc
|
||||||
#
|
#
|
||||||
Version: 0.9.4a
|
Version: 0.9.4c
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: Tools for Infrared Receivers
|
Summary: Tools for Infrared Receivers
|
||||||
License: GPL-2.0+
|
License: GPL-2.0+
|
||||||
@ -30,13 +30,11 @@ Group: Hardware/Other
|
|||||||
Url: http://www.lirc.org/
|
Url: http://www.lirc.org/
|
||||||
Source0: http://downloads.sourceforge.net/project/lirc/LIRC/%{version}/lirc-%{version}.tar.bz2
|
Source0: http://downloads.sourceforge.net/project/lirc/LIRC/%{version}/lirc-%{version}.tar.bz2
|
||||||
Source1: baselibs.conf
|
Source1: baselibs.conf
|
||||||
Source6: fix-remote-keys.pl
|
Patch0: lircd-Remove-use-of-functions-killed-in-kernel-4.8.0.patch
|
||||||
Source8: README.SUSE
|
Patch1: lirc-lib-curl_poll.h-Ensure-build-on-unconfiguredclients.patch
|
||||||
Source9: 51-lirc.rules
|
Patch2: lirc-configure-libudev.patch
|
||||||
# PATCH-FEATURE-UPSTREAM 0001-lirc-Fix-segfault-when-starting-lircd-AUR-41581.patch --lircd fails to start ending in a segfault
|
BuildRequires: autoconf
|
||||||
Patch0: 0001-Fix-segfault-when-starting-lircd-AUR-41581.patch
|
BuildRequires: autogen
|
||||||
# PATCH-FEATURE-UPSTREAM 0002-lircd-Fix-bad-default-for-lircdfile.patch -- Fix bad default for lircdfile
|
|
||||||
Patch1: 0002-lircd-Fix-bad-default-for-lircdfile.patch
|
|
||||||
BuildRequires: doxygen
|
BuildRequires: doxygen
|
||||||
BuildRequires: fdupes
|
BuildRequires: fdupes
|
||||||
BuildRequires: gcc-c++
|
BuildRequires: gcc-c++
|
||||||
@ -53,6 +51,7 @@ BuildRequires: pkgconfig(libudev)
|
|||||||
%endif
|
%endif
|
||||||
BuildRequires: python3
|
BuildRequires: python3
|
||||||
BuildRequires: python3-PyYAML
|
BuildRequires: python3-PyYAML
|
||||||
|
BuildRequires: zypper
|
||||||
BuildRequires: pkgconfig(libusb)
|
BuildRequires: pkgconfig(libusb)
|
||||||
BuildRequires: pkgconfig(portaudio-2.0)
|
BuildRequires: pkgconfig(portaudio-2.0)
|
||||||
BuildRequires: pkgconfig(sm)
|
BuildRequires: pkgconfig(sm)
|
||||||
@ -83,6 +82,8 @@ License: GPL-2.0+
|
|||||||
Group: Hardware/Other
|
Group: Hardware/Other
|
||||||
Provides: %{name} = %{version}
|
Provides: %{name} = %{version}
|
||||||
Obsoletes: %{name} < %{version}
|
Obsoletes: %{name} < %{version}
|
||||||
|
Requires(pre): shadow
|
||||||
|
%{?systemd_requires}
|
||||||
|
|
||||||
%description core
|
%description core
|
||||||
The LIRC core contains the lircd daemons, the devinput and
|
The LIRC core contains the lircd daemons, the devinput and
|
||||||
@ -111,8 +112,6 @@ Requires: libirrecord0 = %{version}
|
|||||||
Requires: liblirc0 = %{version}
|
Requires: liblirc0 = %{version}
|
||||||
Requires: liblirc_client0 = %{version}
|
Requires: liblirc_client0 = %{version}
|
||||||
Requires: liblirc_driver0 = %{version}
|
Requires: liblirc_driver0 = %{version}
|
||||||
# files were in lirc package previously
|
|
||||||
Conflicts: lirc <= 0.8.4
|
|
||||||
|
|
||||||
%description devel
|
%description devel
|
||||||
LIRC is a package that supports receiving and sending IR signals with
|
LIRC is a package that supports receiving and sending IR signals with
|
||||||
@ -125,8 +124,6 @@ control your computer with a remote control.
|
|||||||
Summary: LIRC client library
|
Summary: LIRC client library
|
||||||
License: GPL-2.0+
|
License: GPL-2.0+
|
||||||
Group: Hardware/Other
|
Group: Hardware/Other
|
||||||
# files were in lirc package previously
|
|
||||||
Conflicts: lirc <= 0.8.4
|
|
||||||
|
|
||||||
%description -n liblirc_client0
|
%description -n liblirc_client0
|
||||||
The LIRC client library. To actually use LIRC the lircd daemon from
|
The LIRC client library. To actually use LIRC the lircd daemon from
|
||||||
@ -200,35 +197,31 @@ Requires: xorg-x11-fonts-core
|
|||||||
%description tools-gui
|
%description tools-gui
|
||||||
Some seldom used X11-based tools for debugging lirc configurations.
|
Some seldom used X11-based tools for debugging lirc configurations.
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%setup -q
|
||||||
# Don't provide or require anything from _docdir, per policy.
|
# Don't provide or require anything from _docdir, per policy.
|
||||||
%global __provides_exclude_from ^%{_docdir}/.*$
|
%global __provides_exclude_from ^%{_docdir}/.*$
|
||||||
%global __requires_exclude_from ^%{_docdir}/.*$
|
%global __requires_exclude_from ^%{_docdir}/.*$
|
||||||
|
|
||||||
%prep
|
sed -i -e 's|/usr/local/etc/|/etc/|' contrib/irman2lirc
|
||||||
%setup -q
|
sed -i -e 's/#effective-user/effective-user /' lirc_options.conf
|
||||||
|
sed -i -e '/^effective-user/s/=$/= lirc/' lirc_options.conf
|
||||||
|
if zypper vcmp $(rpm -qf "%%{version}" linux-glibc-devel) 4.8~ | grep
|
||||||
|
"is newer"; then
|
||||||
%patch0 -p1
|
%patch0 -p1
|
||||||
|
fi
|
||||||
%patch1 -p1
|
%patch1 -p1
|
||||||
cp %{SOURCE8} .
|
%patch2 -p1
|
||||||
%if %{defined _rundir}
|
|
||||||
# Fix rundir for openSUSE > 13.1
|
|
||||||
sed -i 's|${localstatedir}/run|run|g' configure
|
|
||||||
%else
|
|
||||||
# But fix systemd unit files for openSUSE <= 13.1
|
|
||||||
sed -i 's|run|%{_localstatedir}/run|g' systemd/lircd.socket
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
# we are using python3
|
# Run autogen; required by lirc-configure-libudev.patch, as it touches configure script
|
||||||
sed "s|python|python3|g" -i ./tools/make_rel_symlink.py
|
NOCONFIGURE=1 ./autogen.sh
|
||||||
%configure \
|
%configure
|
||||||
--enable-ipv6
|
make %{?_smp_mflags}
|
||||||
# make %%{?_smp_mflags}
|
|
||||||
# parallel makes are currently busted, do single-threaded for now
|
|
||||||
make
|
|
||||||
perl %{SOURCE6} configs
|
|
||||||
|
|
||||||
%install
|
%install
|
||||||
make DESTDIR=%{buildroot} install %{?_smp_mflags}
|
make DESTDIR=%{buildroot} install %{?_smp_mflags}
|
||||||
|
chmod a+x %{buildroot}%{_bindir}/pronto2lirc
|
||||||
# Create backward compatibility symlink
|
# Create backward compatibility symlink
|
||||||
ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name}d
|
ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name}d
|
||||||
ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name}md
|
ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name}md
|
||||||
@ -238,7 +231,8 @@ echo "d %{_localstatedir}/run/lirc 0755 root root 10d" \
|
|||||||
#
|
#
|
||||||
# udev stuff
|
# udev stuff
|
||||||
install -d -m 755 %{buildroot}/%{_udevdir}/rules.d
|
install -d -m 755 %{buildroot}/%{_udevdir}/rules.d
|
||||||
install -m 644 %{SOURCE9} %{buildroot}/%{_udevdir}/rules.d
|
install -Dpm 644 contrib/60-lirc.rules \
|
||||||
|
%{buildroot}%{_udevrulesdir}/60-lirc.rules
|
||||||
#
|
#
|
||||||
install -Dpm 644 contrib/99-remote-control-lirc.rules \
|
install -Dpm 644 contrib/99-remote-control-lirc.rules \
|
||||||
%{buildroot}%{_udevrulesdir}/99-remote-control-lirc.rules
|
%{buildroot}%{_udevrulesdir}/99-remote-control-lirc.rules
|
||||||
@ -249,7 +243,7 @@ find %{buildroot}%{_libdir} -type f -name "*.la" -print -delete
|
|||||||
# Don't install documentation in a non standard directory
|
# Don't install documentation in a non standard directory
|
||||||
rm -rf %{buildroot}%{_datadir}/doc
|
rm -rf %{buildroot}%{_datadir}/doc
|
||||||
# hide python dependency
|
# hide python dependency
|
||||||
chmod 644 %{buildroot}%{_bindir}/pronto2lirc
|
chmod a+x %{buildroot}%{_bindir}/pronto2lirc
|
||||||
mkdir -p %{buildroot}%{_rundir}
|
mkdir -p %{buildroot}%{_rundir}
|
||||||
# Remove old %{_rundir}; depreciated but still installed by lirc, which is not looking for it
|
# Remove old %{_rundir}; depreciated but still installed by lirc, which is not looking for it
|
||||||
rm -rf %{buildroot}%{_localstatedir}
|
rm -rf %{buildroot}%{_localstatedir}
|
||||||
@ -258,6 +252,7 @@ rm -rf %{buildroot}%{_datadir}/lirc/contrib
|
|||||||
#
|
#
|
||||||
rm -rf %{buildroot}%{_datadir}/lirc/plugindocs
|
rm -rf %{buildroot}%{_datadir}/lirc/plugindocs
|
||||||
#
|
#
|
||||||
|
rm -rf contrib/.release-process.txt.swp
|
||||||
%fdupes -s %{buildroot}
|
%fdupes -s %{buildroot}
|
||||||
%fdupes -s .
|
%fdupes -s .
|
||||||
|
|
||||||
@ -272,37 +267,32 @@ rm -rf %{buildroot}%{_datadir}/lirc/plugindocs
|
|||||||
%postun -n libirrecord0 -p /sbin/ldconfig
|
%postun -n libirrecord0 -p /sbin/ldconfig
|
||||||
|
|
||||||
%pre core
|
%pre core
|
||||||
%service_add_pre lircd.service lircmd.service lircd.socket irexec.service
|
getent group lirc >/dev/null || groupadd -r lirc
|
||||||
|
getent passwd lirc >/dev/null || \
|
||||||
|
useradd -r -g lirc -d /var/log/lirc -s /sbin/nologin \
|
||||||
|
-c "LIRC daemon user, runs lircd." lirc
|
||||||
|
usermod -a -G dialout lirc &> /dev/null || :
|
||||||
|
usermod -a -G lock lirc &> /dev/null || :
|
||||||
|
usermod -a -G input lirc &> /dev/null || :
|
||||||
|
%service_add_pre lircd.service lircmd.service lircd-uinput.service lircd.socket irexec.service
|
||||||
|
|
||||||
%post core
|
%post core
|
||||||
%service_add_post lircd.service lircmd.service lircd.socket irexec.service
|
%service_add_post lircd.service lircmd.service lircd-uinput.service lircd.socket irexec.service
|
||||||
%if 0%{?suse_version} <= 1320
|
%if 0%{?suse_version} <= 1320
|
||||||
systemd-tmpfiles --create %{_tmpfilesdir}/%{name}.conf >/dev/null 2>&1 || :
|
systemd-tmpfiles --create %{_tmpfilesdir}/%{name}.conf >/dev/null 2>&1 || :
|
||||||
%else
|
%else
|
||||||
%tmpfiles_create %{_tmpfilesdir}/%{name}.conf
|
%tmpfiles_create %{_tmpfilesdir}/%{name}.conf
|
||||||
%endif
|
%endif
|
||||||
# config files moved to /etc/lirc in 0.8.6
|
|
||||||
for file in lircd.conf lircmd.conf lircrc; do
|
|
||||||
if [ -e %{_sysconfdir}/$file -a ! -L %{_sysconfdir}/$file ]; then
|
|
||||||
if [ ! -e %{_sysconfdir}/lirc/$file ]; then
|
|
||||||
mv %{_sysconfdir}/$file %{_sysconfdir}/lirc/$file || true
|
|
||||||
ln -s lirc/$file %{_sysconfdir}/$file || true
|
|
||||||
else
|
|
||||||
echo "Warning: lirc ignores %{_sysconfdir}/$file, use %{_sysconfdir}/lirc/$file instead" >&2
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
%preun core
|
%preun core
|
||||||
%service_del_preun lircd.service lircmd.service lircd.socket irexec.service
|
%service_del_preun lircd.service lircmd.service lircd-uinput.service lircd.socket irexec.service
|
||||||
|
|
||||||
%postun core
|
%postun core
|
||||||
%service_del_postun lircd.service lircmd.service lircd.socket irexec.service
|
%service_del_postun lircd.service lircmd.service lircd-uinput.service lircd.socket irexec.service
|
||||||
|
|
||||||
%files core
|
%files core
|
||||||
%defattr (-,root,root)
|
%defattr (-,root,root)
|
||||||
%doc AUTHORS COPYING ChangeLog NEWS README
|
%doc AUTHORS COPYING ChangeLog NEWS README
|
||||||
%doc README.SUSE
|
|
||||||
%doc doc/html doc/lirc.hwdb doc/irxevent.keys
|
%doc doc/html doc/lirc.hwdb doc/irxevent.keys
|
||||||
%doc contrib
|
%doc contrib
|
||||||
%dir %{_datadir}/%{name}
|
%dir %{_datadir}/%{name}
|
||||||
@ -317,7 +307,7 @@ done
|
|||||||
%{_bindir}/*
|
%{_bindir}/*
|
||||||
%{_datadir}/%{name}/lirc.hwdb
|
%{_datadir}/%{name}/lirc.hwdb
|
||||||
%{_sbindir}/*
|
%{_sbindir}/*
|
||||||
%{_udevdir}/rules.d/51-%{name}.rules
|
%{_udevdir}/rules.d/60-%{name}.rules
|
||||||
%{_libdir}/%{name}/plugins
|
%{_libdir}/%{name}/plugins
|
||||||
%exclude %{_libdir}/%{name}/plugins/ftdi.so
|
%exclude %{_libdir}/%{name}/plugins/ftdi.so
|
||||||
%exclude %{_libdir}/%{name}/plugins/audio.so
|
%exclude %{_libdir}/%{name}/plugins/audio.so
|
||||||
|
110
lircd-Remove-use-of-functions-killed-in-kernel-4.8.0.patch
Normal file
110
lircd-Remove-use-of-functions-killed-in-kernel-4.8.0.patch
Normal file
@ -0,0 +1,110 @@
|
|||||||
|
From 6a57d48e1a233dfc55d436e8d064509cb03973d1 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Alec Leamas <leamas.alec@gmail.com>
|
||||||
|
Date: Fri, 19 Aug 2016 04:48:02 +0200
|
||||||
|
Subject: [PATCH 7/7] lircd: Remove use of functions killed in kernel 4.8.0
|
||||||
|
|
||||||
|
From 4.8.0 the kernel no longer supports LIRC_NOTIFY_DECODE,
|
||||||
|
LIRC_SETUP_START/LIRC_SETUP_END and several constants related
|
||||||
|
to initiating filters. Remove corresponding calls from lircd.
|
||||||
|
---
|
||||||
|
daemons/lircd.cpp | 51 ++-------------------------------------------------
|
||||||
|
lib/driver.h | 7 +++++++
|
||||||
|
2 files changed, 9 insertions(+), 49 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/daemons/lircd.cpp b/daemons/lircd.cpp
|
||||||
|
index a7dbc94..a50d11f 100644
|
||||||
|
--- a/daemons/lircd.cpp
|
||||||
|
+++ b/daemons/lircd.cpp
|
||||||
|
@@ -464,50 +464,6 @@ static int setup_timeout(void)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
-static int setup_filter(void)
|
||||||
|
-{
|
||||||
|
- int ret1, ret2;
|
||||||
|
- lirc_t min_pulse_supported = 0, max_pulse_supported = 0;
|
||||||
|
- lirc_t min_space_supported = 0, max_space_supported = 0;
|
||||||
|
-
|
||||||
|
- if (!(curr_driver->features & LIRC_CAN_SET_REC_FILTER))
|
||||||
|
- return 1;
|
||||||
|
- if (curr_driver->drvctl_func(LIRC_GET_MIN_FILTER_PULSE,
|
||||||
|
- &min_pulse_supported) == -1 ||
|
||||||
|
- curr_driver->drvctl_func(LIRC_GET_MAX_FILTER_PULSE, &max_pulse_supported) == -1
|
||||||
|
- || curr_driver->drvctl_func(LIRC_GET_MIN_FILTER_SPACE, &min_space_supported) == -1
|
||||||
|
- || curr_driver->drvctl_func(LIRC_GET_MAX_FILTER_SPACE, &max_space_supported) == -1) {
|
||||||
|
- log_error("could not get filter range");
|
||||||
|
- log_perror_err(__func__);
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- if (setup_min_pulse > max_pulse_supported)
|
||||||
|
- setup_min_pulse = max_pulse_supported;
|
||||||
|
- else if (setup_min_pulse < min_pulse_supported)
|
||||||
|
- setup_min_pulse = 0; /* disable filtering */
|
||||||
|
-
|
||||||
|
- if (setup_min_space > max_space_supported)
|
||||||
|
- setup_min_space = max_space_supported;
|
||||||
|
- else if (setup_min_space < min_space_supported)
|
||||||
|
- setup_min_space = 0; /* disable filtering */
|
||||||
|
-
|
||||||
|
- ret1 = curr_driver->drvctl_func(LIRC_SET_REC_FILTER_PULSE, &setup_min_pulse);
|
||||||
|
- ret2 = curr_driver->drvctl_func(LIRC_SET_REC_FILTER_SPACE, &setup_min_space);
|
||||||
|
- if (ret1 == -1 || ret2 == -1) {
|
||||||
|
- if (curr_driver->
|
||||||
|
- drvctl_func(LIRC_SET_REC_FILTER,
|
||||||
|
- setup_min_pulse < setup_min_space ? &setup_min_pulse : &setup_min_space) == -1) {
|
||||||
|
- log_error("could not set filter");
|
||||||
|
- log_perror_err(__func__);
|
||||||
|
- return 0;
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
- return 1;
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-
|
||||||
|
-
|
||||||
|
-
|
||||||
|
static int setup_hardware(void)
|
||||||
|
{
|
||||||
|
int ret = 1;
|
||||||
|
@@ -516,10 +472,7 @@ static int setup_hardware(void)
|
||||||
|
if ((curr_driver->features & LIRC_CAN_SET_REC_CARRIER)
|
||||||
|
|| (curr_driver->features & LIRC_CAN_SET_REC_TIMEOUT)
|
||||||
|
|| (curr_driver->features & LIRC_CAN_SET_REC_FILTER)) {
|
||||||
|
- (void)curr_driver->drvctl_func(LIRC_SETUP_START, NULL);
|
||||||
|
- ret = setup_frequency() && setup_timeout()
|
||||||
|
- && setup_filter();
|
||||||
|
- (void)curr_driver->drvctl_func(LIRC_SETUP_END, NULL);
|
||||||
|
+ ret = setup_frequency() && setup_timeout();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
|
@@ -2162,7 +2115,7 @@ void loop(void)
|
||||||
|
int reps;
|
||||||
|
|
||||||
|
if (curr_driver->drvctl_func && (curr_driver->features & LIRC_CAN_NOTIFY_DECODE))
|
||||||
|
- curr_driver->drvctl_func(LIRC_NOTIFY_DECODE, NULL);
|
||||||
|
+ curr_driver->drvctl_func(DRVCTL_NOTIFY_DECODE, NULL);
|
||||||
|
|
||||||
|
get_release_data(&remote_name, &button_name, &reps);
|
||||||
|
|
||||||
|
diff --git a/lib/driver.h b/lib/driver.h
|
||||||
|
index c7c4a6a..fc7318e 100644
|
||||||
|
--- a/lib/driver.h
|
||||||
|
+++ b/lib/driver.h
|
||||||
|
@@ -97,6 +97,13 @@ int drv_handle_options(const char* options);
|
||||||
|
/** drvctl cmd: Free memory in argument obtained using DRVCTL_GET_DEVICES. */
|
||||||
|
#define DRVCTL_FREE_DEVICES 6
|
||||||
|
|
||||||
|
+/**
|
||||||
|
+ * The former LIRC_NOTIFY_DECODE, informs drier that signal is successfully
|
||||||
|
+ * decoded e. g., to initiate some visual feedback through a LED.
|
||||||
|
+ */
|
||||||
|
+
|
||||||
|
+#define DRVCTL_NOTIFY_DECODE 7
|
||||||
|
+
|
||||||
|
/** Last well-known command. Remaining is used in driver-specific controls.*/
|
||||||
|
#define DRVCTL_MAX 128
|
||||||
|
|
||||||
|
--
|
||||||
|
2.5.5
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user