Accepting request 586172 from home:dimstar:Factory

Resubmit lirc sans zypper, this time actually building. This entire zypper construct was broken to begin with

OBS-URL: https://build.opensuse.org/request/show/586172
OBS-URL: https://build.opensuse.org/package/show/vdr/lirc?expand=0&rev=90
This commit is contained in:
Ludwig Nussel 2018-03-13 09:59:21 +00:00 committed by Git OBS Bridge
parent b94917b613
commit 56fe7e9f57
3 changed files with 38 additions and 142 deletions

View File

@ -1,3 +1,14 @@
-------------------------------------------------------------------
Sat Mar 10 12:54:00 UTC 2018 - dimstar@opensuse.org
- Drop lircd-Remove-use-of-functions-killed-in-kernel-4.8.0.patch:
the guarding zypper call was wrong (-qf vs --qf) and resulted in
the patch never being applied. So it is obviously not used.
- Remove dependency on zypper: libzypp just gets a new dependency
on libgpgme, which happens to result in a cycle: since the sole
usage of zypper was to 'detect if the patch was needed' is no
longer given, we have no feature loss.
-------------------------------------------------------------------
Tue Nov 8 16:05:41 UTC 2016 - p.drouand@gmail.com

View File

@ -1,7 +1,7 @@
#
# spec file for package lirc
#
# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -25,12 +25,11 @@ Name: lirc
Version: 0.9.4c
Release: 0
Summary: Tools for Infrared Receivers
License: GPL-2.0+
License: GPL-2.0-or-later
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
Source1: baselibs.conf
Patch0: lircd-Remove-use-of-functions-killed-in-kernel-4.8.0.patch
Patch1: lirc-lib-curl_poll.h-Ensure-build-on-unconfiguredclients.patch
Patch2: lirc-configure-libudev.patch
BuildRequires: autoconf
@ -43,15 +42,9 @@ BuildRequires: libtool
BuildRequires: libxslt-tools
# for hw_atilibusb driver
BuildRequires: pkgconfig
BuildRequires: pkgconfig(alsa)
%if 0%{?suse_version} > 1320
BuildRequires: pkgconfig(libftdi1)
BuildRequires: pkgconfig(libirman)
BuildRequires: pkgconfig(libudev)
%endif
BuildRequires: python3
BuildRequires: python3-PyYAML
BuildRequires: zypper
BuildRequires: pkgconfig(alsa)
BuildRequires: pkgconfig(libusb)
BuildRequires: pkgconfig(portaudio-2.0)
BuildRequires: pkgconfig(sm)
@ -62,6 +55,11 @@ Requires: udev
Recommends: lirc-remotes
Suggests: lirc-kmp
Supplements: lirc-kmp
%if 0%{?suse_version} > 1320
BuildRequires: pkgconfig(libftdi1)
BuildRequires: pkgconfig(libirman)
BuildRequires: pkgconfig(libudev)
%endif
%ifnarch s390 s390x
# i2c-dev.h now moved to that package
BuildRequires: i2c-tools
@ -78,11 +76,11 @@ control your computer with a remote control.
%package core
Summary: LIRC core, always needed to run LIRC
License: GPL-2.0+
License: GPL-2.0-or-later
Group: Hardware/Other
Requires(pre): shadow
Provides: %{name} = %{version}
Obsoletes: %{name} < %{version}
Requires(pre): shadow
%{?systemd_requires}
%description core
@ -91,13 +89,13 @@ default driver and most of the applications.
%package config
Summary: LIRC Configuration Tools and Data
License: GPL-2.0+
License: GPL-2.0-or-later
Group: Hardware/Other
Requires: lirc-core = %{version}
Provides: %{name}-remotes = %{version}
Obsoletes: %{name}-remotes < %{version}
Requires: python3-PyYAML
Requires: python3-gobject
Provides: %{name}-remotes = %{version}
Obsoletes: %{name}-remotes < %{version}
BuildArch: noarch
%description config
@ -106,7 +104,7 @@ LIRC configuration process.
%package devel
Summary: LIRC development files
License: GPL-2.0+
License: GPL-2.0-or-later
Group: Development/Libraries/C and C++
Requires: libirrecord0 = %{version}
Requires: liblirc0 = %{version}
@ -122,7 +120,7 @@ control your computer with a remote control.
%package -n liblirc_client0
Summary: LIRC client library
License: GPL-2.0+
License: GPL-2.0-or-later
Group: Hardware/Other
%description -n liblirc_client0
@ -131,7 +129,7 @@ the 'lirc' package has to be configured and started.
%package -n liblirc_driver0
Summary: LIRC driver library
License: GPL-2.0+
License: GPL-2.0-or-later
Group: Hardware/Other
%description -n liblirc_driver0
@ -139,7 +137,7 @@ The LIRC driver library. To actually use the lirc plugins.
%package -n libirrecord0
Summary: LIRC record library
License: GPL-2.0+
License: GPL-2.0-or-later
Group: Hardware/Other
%description -n libirrecord0
@ -147,7 +145,7 @@ The LIRC record library. To actually use the lirc plugins.
%package -n liblirc0
Summary: LIRC driver library
License: GPL-2.0+
License: GPL-2.0-or-later
Group: Hardware/Other
%description -n liblirc0
@ -156,7 +154,7 @@ and sending IR signals with the most common IR remote controls.
%package disable-kernel-rc
Summary: Disable kernel ir device handling in favor of lirc
License: GPL-2.0+
License: GPL-2.0-or-later
Group: Hardware/Other
Requires: %{name}-core = %{version}-%{release}
Recommends: lirc-core = %{version}
@ -168,7 +166,7 @@ Udev rule which disables the kernel built-in handling of infrared devices
%if 0%{?suse_version} > 1320
%package drv-ftdi
Summary: Ftdi LIRC User-Space Driver
License: GPL-2.0+
License: GPL-2.0-or-later
Group: Hardware/Other
Requires: lirc-core = %{version}
@ -179,7 +177,7 @@ full support for the ftdi device.
%package drv-portaudio
Summary: Portaudio LIRC User-Space Driver
License: LGPL-2.0
License: LGPL-2.0-only
Group: Hardware/Other
Requires: lirc-core = %{version}
@ -189,7 +187,7 @@ using the portaudio library.
%package tools-gui
Summary: LIRC GUI tools
License: GPL-2.0+
License: GPL-2.0-or-later
Group: Hardware/Other
Requires: lirc-core = %{version}
Requires: xorg-x11-fonts-core
@ -203,13 +201,9 @@ Some seldom used X11-based tools for debugging lirc configurations.
%global __provides_exclude_from ^%{_docdir}/.*$
%global __requires_exclude_from ^%{_docdir}/.*$
sed -i -e 's|/usr/local/etc/|/etc/|' contrib/irman2lirc
sed -i -e 's|%{_prefix}/local%{_sysconfdir}/|%{_sysconfdir}/|' contrib/irman2lirc
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
fi
%patch1 -p1
%patch2 -p1
@ -269,7 +263,7 @@ rm -rf contrib/.release-process.txt.swp
%pre core
getent group lirc >/dev/null || groupadd -r lirc
getent passwd lirc >/dev/null || \
useradd -r -g lirc -d /var/log/lirc -s /sbin/nologin \
useradd -r -g lirc -d %{_localstatedir}/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 || :
@ -292,7 +286,8 @@ usermod -a -G input lirc &> /dev/null || :
%files core
%defattr (-,root,root)
%doc AUTHORS COPYING ChangeLog NEWS README
%license COPYING
%doc AUTHORS ChangeLog NEWS README
%doc doc/html doc/lirc.hwdb doc/irxevent.keys
%doc contrib
%dir %{_datadir}/%{name}

View File

@ -1,110 +0,0 @@
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