Hello community, here is the log from the commit of package lirc for openSUSE:Factory checked in at 2016-11-09 11:37:30 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/lirc (Old) and /work/SRC/openSUSE:Factory/.lirc.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "lirc" Changes: -------- --- /work/SRC/openSUSE:Factory/lirc/lirc.changes 2016-07-01 09:52:13.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.lirc.new/lirc.changes 2016-11-09 11:37:31.000000000 +0100 @@ -1,0 +2,57 @@ +Tue Nov 8 16:05:41 UTC 2016 - [email protected] + +- Move workarounds to %prep section +- Add lirc-configure-libudev.patch (boo#1008764) + +------------------------------------------------------------------- +Thu Nov 3 10:30:47 UTC 2016 - [email protected] + +- Fix %pre script + +------------------------------------------------------------------- +Wed Nov 2 13:46:41 UTC 2016 - [email protected] + +- Add lirc-lib-curl_poll.h-Ensure-build-on-unconfiguredclients.patch + +------------------------------------------------------------------- +Fri Oct 21 18:14:41 UTC 2016 - [email protected] + +- 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 + +------------------------------------------------------------------- Old: ---- 0001-Fix-segfault-when-starting-lircd-AUR-41581.patch 0002-lircd-Fix-bad-default-for-lircdfile.patch 51-lirc.rules README.SUSE fix-remote-keys.pl lirc-0.9.4a.tar.bz2 New: ---- lirc-0.9.4c.tar.bz2 lirc-configure-libudev.patch lirc-lib-curl_poll.h-Ensure-build-on-unconfiguredclients.patch lircd-Remove-use-of-functions-killed-in-kernel-4.8.0.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ lirc.spec ++++++ --- /var/tmp/diff_new_pack.wBRWIt/_old 2016-11-09 11:37:32.000000000 +0100 +++ /var/tmp/diff_new_pack.wBRWIt/_new 2016-11-09 11:37:32.000000000 +0100 @@ -22,7 +22,7 @@ %endif Name: lirc # -Version: 0.9.4a +Version: 0.9.4c Release: 0 Summary: Tools for Infrared Receivers License: GPL-2.0+ @@ -30,13 +30,11 @@ Url: http://www.lirc.org/ Source0: http://downloads.sourceforge.net/project/lirc/LIRC/%{version}/lirc-%{version}.tar.bz2 Source1: baselibs.conf -Source6: fix-remote-keys.pl -Source8: README.SUSE -Source9: 51-lirc.rules -# PATCH-FEATURE-UPSTREAM 0001-lirc-Fix-segfault-when-starting-lircd-AUR-41581.patch --lircd fails to start ending in a segfault -Patch0: 0001-Fix-segfault-when-starting-lircd-AUR-41581.patch -# 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 +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 +BuildRequires: autogen BuildRequires: doxygen BuildRequires: fdupes BuildRequires: gcc-c++ @@ -53,6 +51,7 @@ %endif BuildRequires: python3 BuildRequires: python3-PyYAML +BuildRequires: zypper BuildRequires: pkgconfig(libusb) BuildRequires: pkgconfig(portaudio-2.0) BuildRequires: pkgconfig(sm) @@ -83,6 +82,8 @@ Group: Hardware/Other Provides: %{name} = %{version} Obsoletes: %{name} < %{version} +Requires(pre): shadow +%{?systemd_requires} %description core The LIRC core contains the lircd daemons, the devinput and @@ -111,8 +112,6 @@ Requires: liblirc0 = %{version} Requires: liblirc_client0 = %{version} Requires: liblirc_driver0 = %{version} -# files were in lirc package previously -Conflicts: lirc <= 0.8.4 %description devel LIRC is a package that supports receiving and sending IR signals with @@ -125,8 +124,6 @@ Summary: LIRC client library License: GPL-2.0+ Group: Hardware/Other -# files were in lirc package previously -Conflicts: lirc <= 0.8.4 %description -n liblirc_client0 The LIRC client library. To actually use LIRC the lircd daemon from @@ -200,35 +197,31 @@ %description tools-gui Some seldom used X11-based tools for debugging lirc configurations. +%prep +%setup -q # Don't provide or require anything from _docdir, per policy. %global __provides_exclude_from ^%{_docdir}/.*$ %global __requires_exclude_from ^%{_docdir}/.*$ -%prep -%setup -q +sed -i -e 's|/usr/local/etc/|/etc/|' 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 -cp %{SOURCE8} . -%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 +%patch2 -p1 %build -# we are using python3 -sed "s|python|python3|g" -i ./tools/make_rel_symlink.py -%configure \ - --enable-ipv6 -# make %%{?_smp_mflags} -# parallel makes are currently busted, do single-threaded for now -make -perl %{SOURCE6} configs +# Run autogen; required by lirc-configure-libudev.patch, as it touches configure script +NOCONFIGURE=1 ./autogen.sh +%configure +make %{?_smp_mflags} %install make DESTDIR=%{buildroot} install %{?_smp_mflags} +chmod a+x %{buildroot}%{_bindir}/pronto2lirc # Create backward compatibility symlink ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name}d ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name}md @@ -238,7 +231,8 @@ # # udev stuff 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 \ %{buildroot}%{_udevrulesdir}/99-remote-control-lirc.rules @@ -249,7 +243,7 @@ # Don't install documentation in a non standard directory rm -rf %{buildroot}%{_datadir}/doc # hide python dependency -chmod 644 %{buildroot}%{_bindir}/pronto2lirc +chmod a+x %{buildroot}%{_bindir}/pronto2lirc mkdir -p %{buildroot}%{_rundir} # Remove old %{_rundir}; depreciated but still installed by lirc, which is not looking for it rm -rf %{buildroot}%{_localstatedir} @@ -258,6 +252,7 @@ # rm -rf %{buildroot}%{_datadir}/lirc/plugindocs # +rm -rf contrib/.release-process.txt.swp %fdupes -s %{buildroot} %fdupes -s . @@ -272,37 +267,32 @@ %postun -n libirrecord0 -p /sbin/ldconfig %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 -%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 systemd-tmpfiles --create %{_tmpfilesdir}/%{name}.conf >/dev/null 2>&1 || : %else %tmpfiles_create %{_tmpfilesdir}/%{name}.conf %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 -%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 -%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 %defattr (-,root,root) %doc AUTHORS COPYING ChangeLog NEWS README -%doc README.SUSE %doc doc/html doc/lirc.hwdb doc/irxevent.keys %doc contrib %dir %{_datadir}/%{name} @@ -317,7 +307,7 @@ %{_bindir}/* %{_datadir}/%{name}/lirc.hwdb %{_sbindir}/* -%{_udevdir}/rules.d/51-%{name}.rules +%{_udevdir}/rules.d/60-%{name}.rules %{_libdir}/%{name}/plugins %exclude %{_libdir}/%{name}/plugins/ftdi.so %exclude %{_libdir}/%{name}/plugins/audio.so ++++++ lirc-0.9.4a.tar.bz2 -> lirc-0.9.4c.tar.bz2 ++++++ ++++ 6444 lines of diff (skipped) ++++++ lirc-configure-libudev.patch ++++++ --- 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 ++++++ lirc-lib-curl_poll.h-Ensure-build-on-unconfiguredclients.patch ++++++ >From 33c40d127877179e0cba2f6595816377bb6bcda1 Mon Sep 17 00:00:00 2001 From: Alec Leamas <[email protected]> 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 ++++++ lircd-Remove-use-of-functions-killed-in-kernel-4.8.0.patch ++++++ >From 6a57d48e1a233dfc55d436e8d064509cb03973d1 Mon Sep 17 00:00:00 2001 From: Alec Leamas <[email protected]> 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
