From 1f162ed7d13b2680bbbef841bdd2188d08dcb174d43f002efd1e975e568fe951 Mon Sep 17 00:00:00 2001 From: Hendrik Vogelsang Date: Fri, 27 Feb 2015 10:29:35 +0000 Subject: [PATCH] Accepting request 288019 from home:posophe:branches:vdr Update OBS-URL: https://build.opensuse.org/request/show/288019 OBS-URL: https://build.opensuse.org/package/show/vdr/lirc?expand=0&rev=49 --- ...gfault-when-starting-lircd-AUR-41581.patch | 6 +- ...-0.9.2-Fix-bad-default-for-lircdfile.patch | 6 +- ...gfault-when-parsing-connect-in-confi.patch | 26 --- baselibs.conf | 2 + lirc-0.9.1a-fix-bashisms.patch | 12 - lirc-0.9.1a.tar.bz2 | 3 - lirc-0.9.2a.tar.bz2 | 3 + lirc.changes | 41 ++++ lirc.spec | 205 +++++++++++++----- 9 files changed, 207 insertions(+), 97 deletions(-) rename 0001-Fix-segfault-when-starting-lircd-AUR-41581.patch => 0001-lirc-0.9.2-Fix-segfault-when-starting-lircd-AUR-41581.patch (92%) rename 0002-lircd-Fix-bad-default-for-lircdfile.patch => 0002-lircd-0.9.2-Fix-bad-default-for-lircdfile.patch (83%) delete mode 100644 0003-0.9.1a-Bugfix-segfault-when-parsing-connect-in-confi.patch delete mode 100644 lirc-0.9.1a-fix-bashisms.patch delete mode 100644 lirc-0.9.1a.tar.bz2 create mode 100644 lirc-0.9.2a.tar.bz2 diff --git a/0001-Fix-segfault-when-starting-lircd-AUR-41581.patch b/0001-lirc-0.9.2-Fix-segfault-when-starting-lircd-AUR-41581.patch similarity index 92% rename from 0001-Fix-segfault-when-starting-lircd-AUR-41581.patch rename to 0001-lirc-0.9.2-Fix-segfault-when-starting-lircd-AUR-41581.patch index d32408f..74d750e 100644 --- a/0001-Fix-segfault-when-starting-lircd-AUR-41581.patch +++ b/0001-lirc-0.9.2-Fix-segfault-when-starting-lircd-AUR-41581.patch @@ -12,15 +12,15 @@ diff --git a/lirc_options.conf b/lirc_options.conf index d8ddedd..11293e2 100644 --- a/lirc_options.conf +++ b/lirc_options.conf -@@ -7,7 +7,7 @@ nodaemon = False - permission = 666 +@@ -6,7 +6,7 @@ + nodaemon = False driver = default device = /dev/lirc0 -output = /var/run/lirc/lircd +lircdfile = /var/run/lirc/lircd pidfile = /var/run/lirc/lircd.pid plugindir = /usr/lib/lirc/plugins - allow-simulate = No + permission = 666 -- 1.8.4.2 diff --git a/0002-lircd-Fix-bad-default-for-lircdfile.patch b/0002-lircd-0.9.2-Fix-bad-default-for-lircdfile.patch similarity index 83% rename from 0002-lircd-Fix-bad-default-for-lircdfile.patch rename to 0002-lircd-0.9.2-Fix-bad-default-for-lircdfile.patch index 5b69513..7351660 100644 --- a/0002-lircd-Fix-bad-default-for-lircdfile.patch +++ b/0002-lircd-0.9.2-Fix-bad-default-for-lircdfile.patch @@ -11,15 +11,15 @@ diff --git a/daemons/lircd.c b/daemons/lircd.c index db8ea13..fa8cf17 100644 --- a/daemons/lircd.c +++ b/daemons/lircd.c -@@ -2147,7 +2147,7 @@ static void lircd_add_defaults(void) +@@ -2230,7 +2230,7 @@ "lircd:device", LIRC_DRIVER_DEVICE, "lircd:listen", NULL , "lircd:connect", NULL, - "lircd:output", LIRCD, + "lircd:lircdfile", LIRCD, "lircd:pidfile", PIDFILE, - "lircd:logfile", LOGFILE, - "lircd:debug", "False", + "lircd:logfile", "syslog", + "lircd:debug", level, -- 1.8.4.2 diff --git a/0003-0.9.1a-Bugfix-segfault-when-parsing-connect-in-confi.patch b/0003-0.9.1a-Bugfix-segfault-when-parsing-connect-in-confi.patch deleted file mode 100644 index 445fe4e..0000000 --- a/0003-0.9.1a-Bugfix-segfault-when-parsing-connect-in-confi.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 3ebd89ac194279fb56d781d03a5368f4b0e76caa Mon Sep 17 00:00:00 2001 -From: Andreas Bader -Date: Tue, 19 Aug 2014 16:58:21 +0200 -Subject: [PATCH 3/3] 0.9.1a: Bugfix: segfault when parsing --connect in config - file. - ---- - daemons/lircd.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/daemons/lircd.c b/daemons/lircd.c -index fa8cf17..7af4265 100644 ---- a/daemons/lircd.c -+++ b/daemons/lircd.c -@@ -2311,7 +2311,7 @@ int main(int argc, char **argv) - } - opt = options_getstring("lircd:connect"); - if (opt != NULL) { -- if (!add_peer_connection(optarg)) -+ if (!add_peer_connection(opt)) - return(EXIT_FAILURE); - } - # ifdef DEBUG --- -1.8.4.2 - diff --git a/baselibs.conf b/baselibs.conf index 6c3cabe..3130185 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -1,2 +1,4 @@ liblirc_client0 obsoletes "lirc- < 0.8.5" +liblirc_driver0 +liblirc0 diff --git a/lirc-0.9.1a-fix-bashisms.patch b/lirc-0.9.1a-fix-bashisms.patch deleted file mode 100644 index b41e317..0000000 --- a/lirc-0.9.1a-fix-bashisms.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -Ndur lirc-0.9.1a/contrib/lirc-codecs-regression-test.sh lirc-0.9.1a-fix-bashisms/contrib/lirc-codecs-regression-test.sh ---- lirc-0.9.1a/contrib/lirc-codecs-regression-test.sh 2014-08-06 23:22:28.000000000 +0300 -+++ lirc-0.9.1a-fix-bashisms/contrib/lirc-codecs-regression-test.sh 2014-11-29 01:05:51.156914190 +0200 -@@ -17,7 +17,7 @@ - - REMOTES=remotes - --find -L $REMOTES -type f -print0|xargs -0 -n 1 echo|while read; -+find -L $REMOTES -type f -print0|xargs -0 -n 1 echo|while read REPLY; - do - # Skip invalid configs with 'one 0 0', see - # http://sourceforge.net/p/lirc/mailman/message/32297923 diff --git a/lirc-0.9.1a.tar.bz2 b/lirc-0.9.1a.tar.bz2 deleted file mode 100644 index 20d19ee..0000000 --- a/lirc-0.9.1a.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1961fe032c54630c9ac3d1c26230142864770b007245f9efcf4108ddf4833ba4 -size 945140 diff --git a/lirc-0.9.2a.tar.bz2 b/lirc-0.9.2a.tar.bz2 new file mode 100644 index 0000000..64e9e88 --- /dev/null +++ b/lirc-0.9.2a.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:357ed1270c664f8293797fb0fa2c9260bd9b9cbce3497a95ce22b452fbe53604 +size 1642734 diff --git a/lirc.changes b/lirc.changes index b8fff27..a1feae6 100644 --- a/lirc.changes +++ b/lirc.changes @@ -1,3 +1,44 @@ +------------------------------------------------------------------- +Tue Feb 17 23:44:16 UTC 2015 - p.drouand@gmail.com + +- Update to version 0.9.2a + * Maintenance release: bugfixes, no new features. + * Notably fixes #85, multiple --connect regression. + * Fixes bad bug for locating ~/.lircrc config file. + * Documentation and lirc.org updates. + * All in all 19 patches. +- Split each lirc module in his own package + * core : contains needed binaries to run basically lirc; it obsoletes + previous lirc package + * config: contains tools and data to ease the LIRC configuration process. + it provides and obsoletes the previous "remotes" packages as + remotes config files are not provided anymore and the config + package provides a tool to config a remote + * liblirc_driver0 : provides the driver library + * liblirc0 : the main library + * drv-ftdi: provides ftdi support + * drv-portaudio : provides portaudio support + * tools-gui : tools for debugging lirc +- Add pkgconfig(libftdi1) require for Factory; ftdi is only availables + on Factory +- Add pkgconfig(portaudio-2.0) require; build with portaudio support +- Add python3 build require instead of python; python3 is now the + default +- Add python3-PyYAML build require and requirement for lirc-config; + needed for generating table.html and lirc.hwdb, and is a direct + dependency of lirc-setup +- Remove help2man require; dropped by upstream +- Remove lirc-0.9.1a-fix-bashisms.patch; fixed on upstream release +- Remove 0003-0.9.1a-Bugfix-segfault-when-parsing-connect-in-confi.patch + fixed on upstream release +- Update patches + * 0001-Fix-segfault-when-starting-lircd-AUR-41581.patch > + 0001-lirc-0.9.2-Fix-segfault-when-starting-lircd-AUR-41581.patch + * 0003-0.9.1a-Bugfix-segfault-when-parsing-connect-in-confi.patch > + 0003-0.9.2-Bugfix-segfault-when-parsing-connect-in-confi.patch +- Remove old and not needed lirc-64bit obsoletion +- Add liblirc_driver0 and liblirc0 to baselibs.conf + ------------------------------------------------------------------- Fri Nov 28 23:08:00 UTC 2014 - Led diff --git a/lirc.spec b/lirc.spec index 16adb21..6b09727 100644 --- a/lirc.spec +++ b/lirc.spec @@ -1,7 +1,7 @@ # # spec file for package lirc # -# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -22,7 +22,7 @@ %endif Name: lirc # -Version: 0.9.1a +Version: 0.9.2a Release: 0 Summary: Tools for Infrared Receivers License: GPL-2.0+ @@ -33,28 +33,29 @@ Source1: baselibs.conf Source6: fix-remote-keys.pl Source8: README.SUSE Source9: 51-lirc.rules -# PATCH-FEATURE-UPSTREAM 0001-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 0001-lirc-0.9.2-Fix-segfault-when-starting-lircd-AUR-41581.patch --lircd fails to start ending in a segfault +Patch0: 0001-lirc-0.9.2-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 -# PATCH-FEATURE-UPSTREAM 0003-0.9.1a-Bugfix-segfault-when-parsing-connect-in-confi.patch --segfault when parsing -# --connect in config file -Patch2: 0003-0.9.1a-Bugfix-segfault-when-parsing-connect-in-confi.patch +Patch1: 0002-lircd-0.9.2-Fix-bad-default-for-lircdfile.patch # PATCH-FEATURE-UPSTREAM 0004-lircd-fix-compiler-error-format-security-error.patch --fix compiler error=format-security error Patch3: 0004-lircd-fix-compiler-error-format-security-error.patch -Patch4: lirc-0.9.1a-fix-bashisms.patch # PATCH-FEATURE-UPSTREAM -- lirc config for iMON-PAD remote Patch90: imon2_conf.patch BuildRequires: fdupes -BuildRequires: help2man BuildRequires: libtool # for hw_atilibusb driver BuildRequires: libusb-devel BuildRequires: pkgconfig BuildRequires: pkgconfig(alsa) +%if 0%{?suse_version} > 1320 +BuildRequires: pkgconfig(libftdi1) +%endif +BuildRequires: pkgconfig(portaudio-2.0) BuildRequires: pkgconfig(systemd) BuildRequires: pkgconfig(udev) BuildRequires: pkgconfig(x11) +BuildRequires: python3 +BuildRequires: python3-PyYAML Requires: udev Recommends: lirc-remotes Suggests: lirc-kmp @@ -66,10 +67,6 @@ BuildRequires: i2c-tools # for hw_i2cuser driver BuildRequires: linux-kernel-headers %endif -# bug437293 -%ifarch ppc64 -Obsoletes: lirc-64bit -%endif %description LIRC is a package that supports receiving and sending IR signals with @@ -78,10 +75,34 @@ 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. +%package core +Summary: LIRC core, always needed to run LIRC +Group: Hardware/Other + +%description core +The LIRC core contains the lircd daemons, the devinput and +default driver and most of the applications. + +%package config +Summary: LIRC Configuration Tools and Data +Group: Hardware/Other +Requires: lirc-core = %{version} +Provides: %{name}-remotes = %{version} +Obsoletes: %{name}-remotes < %{version} +Requires: python3-gobject +Requires: python3-PyYAML +BuildArch: noarch + +%description config +The LIRC config package contains tools and data to ease the +LIRC configuration process. + %package devel Summary: LIRC development files Group: Development/Libraries/C and C++ -Requires: %{name} = %{version} +Requires: liblirc_client0 = %{version} +Requires: liblirc_driver0 = %{version} +Requires: liblirc0 = %{version} # files were in lirc package previously Conflicts: lirc <= 0.8.4 @@ -92,19 +113,9 @@ 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. -%package remotes -Summary: LIRC remote definitions -Group: Hardware/Other -# files were in lirc package previously -Conflicts: lirc <= 0.8.4 - -%description remotes -Collection of LIRC configuration files for various remotes. - %package -n liblirc_client0 Summary: LIRC client library Group: Hardware/Other -Recommends: lirc = %{version} # files were in lirc package previously Conflicts: lirc <= 0.8.4 @@ -112,16 +123,60 @@ Conflicts: lirc <= 0.8.4 The LIRC client library. To actually use LIRC the lircd daemon from the 'lirc' package has to be configured and started. +%package -n liblirc_driver0 +Summary: LIRC driver library +Group: Hardware/Other + +%description -n liblirc_driver0 +The LIRC driver library. To actually use the lirc plugins. + +%package -n liblirc0 +Summary: LIRC driver library +Group: Hardware/Other + +%description -n liblirc0 +The LIRC library. LIRC is a package that supports receiving +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 Group: Hardware/Other Requires: %{name} = %{version}-%{release} -Recommends: lirc = %{version} +Recommends: lirc-core = %{version} %description disable-kernel-rc Udev rule which disables the kernel built-in handling of infrared devices (i. e., rc* ones) by making lirc the only used protocol. +%if 0%{?suse_version} > 1320 +%package drv-ftdi +Summary: Ftdi LIRC User-Space Driver +Group: Hardware/Other +Requires: lirc-core = %{version} + +%description drv-ftdi +LIRC user-space driver which works together with the kernel, providing +full support for the ftdi device. +%endif + +%package drv-portaudio +Summary: Portaudio LIRC User-Space Driver +Group: Hardware/Other +Requires: lirc-core = %{version} +License: LGPL-2.0 + +%description drv-portaudio +LIRC user space driver which supports a IR receiver in microphone input +using the portaudio library. + +%package tools-gui +Summary: LIRC GUI tools +Requires: lirc-core = %{version} +Requires: xorg-x11-fonts-core + +%description tools-gui +Some seldom used X11-based tools for debugging lirc configurations. + # Don't provide or require anything from _docdir, per policy. %global __provides_exclude_from ^%{_docdir}/.*$ %global __requires_exclude_from ^%{_docdir}/.*$ @@ -130,9 +185,7 @@ Udev rule which disables the kernel built-in handling of infrared devices %setup -q %patch0 -p1 %patch1 -p1 -%patch2 -p1 %patch3 -p1 -%patch4 -p1 %patch90 -p1 cp %{SOURCE8} . %if %{defined _rundir} @@ -144,26 +197,19 @@ sed -i 's|run|%{_localstatedir}/run|g' systemd/lircd.socket %endif %build -PYTHON=%{_bindir}/python \ CFLAGS="%{optflags} -fno-strict-aliasing" %configure \ --with-igor \ --with-transmitter \ - --with-driver=userspace \ --with-port=0x3f8 \ - --with-irq=4 \ - --with-syslog + --with-irq=4 \ + --enable-ipv6 # make %%{?_smp_mflags} # parallel makes are currently busted, do single-threaded for now make -chmod -R u+w remotes -chmod -R +r remotes -rm -rf remotes/*/.xvpics/ -perl %{SOURCE6} remotes +perl %{SOURCE6} configs %install make DESTDIR=%{buildroot} install %{?_smp_mflags} -# Put remote definitions in place -cp -ar remotes %{buildroot}%{_datadir}/lirc-remotes # Create backward compatibility symlink ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name} mkdir -p %{buildroot}%{_tmpfilesdir} @@ -177,7 +223,7 @@ install -m 644 %{SOURCE9} %{buildroot}/%{_udevdir}/rules.d install -Dpm 644 contrib/99-remote-control-lirc.rules \ %{buildroot}%{_udevrulesdir}/99-remote-control-lirc.rules # get rid of libtool file -rm -f %{buildroot}%{_libdir}/liblirc_client.la +find %{buildroot}%{_libdir} -type f -name "*.la" -print -delete # # get rid of useless contrib stuff rm contrib/lirc.* @@ -189,19 +235,25 @@ chmod 644 %{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} +# Remove contrib folder; we will copy it into doc directory +rm -rf %{buildroot}%{_datadir}/lirc/contrib # # %fdupes -s %{buildroot} %fdupes -s . %post -n liblirc_client0 -p /sbin/ldconfig +%post -n liblirc_driver0 -p /sbin/ldconfig +%post -n liblirc0 -p /sbin/ldconfig %postun -n liblirc_client0 -p /sbin/ldconfig +%postun -n liblirc_driver0 -p /sbin/ldconfig +%postun -n liblirc0 -p /sbin/ldconfig -%pre +%pre core %service_add_pre lircd.service lircmd.service lircd.socket -%post +%post core %service_add_post lircd.service lircmd.service lircd.socket systemd-tmpfiles --create %{_tmpfilesdir}/lirc.conf # config files moved to /etc/lirc in 0.8.6 @@ -216,49 +268,102 @@ for file in lircd.conf lircmd.conf lircrc; do fi done -%preun +%preun core %service_del_preun lircd.service lircmd.service lircd.socket -%postun +%postun core %service_del_postun lircd.service lircmd.service lircd.socket -%files +%files core %defattr (-,root,root) %doc AUTHORS COPYING ChangeLog NEWS README TODO %doc README.SUSE %doc doc/html doc/images doc/lirc.hwdb doc/lirc.css doc/irxevent.keys %doc contrib +%dir %{_datadir}/%{name} +%dir %{_libdir}/%{name} +%dir %{_sysconfdir}/%{name} +%dir %{_sysconfdir}/%{name}/lircd.conf.d %dir %ghost %{_rundir}/lirc %ghost %{_rundir}/lirc/lircm %ghost %{_rundir}/lirc/lircd -%attr(0755,root,root)%{_bindir}/* +%exclude %{_bindir}/irxevent +%exclude %{_bindir}/xmode2 +%{_bindir}/* +%{_datadir}/%{name}/lirc.hwdb %{_sbindir}/* -%{_udevdir}/rules.d/51-lirc.rules +%{_udevdir}/rules.d/51-%{name}.rules +%{_libdir}/%{name}/plugins +%exclude %{_libdir}/%{name}/plugins/ftdi.so +%exclude %{_libdir}/%{name}/plugins/audio.so +%exclude %{_mandir}/man1/irxevent.* +%exclude %{_mandir}/man1/xmode2.* %{_mandir}/man1/* +%{_mandir}/man5/* %{_mandir}/man8/* -%dir %{_sysconfdir}/lirc +%{python3_sitelib}/* +%dir %{_sysconfdir}/%{name} %config(noreplace,missingok) %{_sysconfdir}/lirc/lircd.conf %config(noreplace,missingok) %{_sysconfdir}/lirc/lircmd.conf %config(noreplace,missingok) %{_sysconfdir}/lirc/lirc_options.conf +%config(noreplace,missingok) %{_sysconfdir}/lirc/lircd.conf.d/README.conf.d %{_unitdir}/lirc* %{_tmpfilesdir}/lirc.conf %files devel %defattr (-,root,root) %dir %{_includedir}/lirc -%{_includedir}/lirc/lirc_client.h +%{_includedir}/lirc/* +%{_includedir}/lirc_client.h +%{_includedir}/lirc_driver.h +%{_includedir}/lirc_private.h +%{_libdir}/liblirc.so %{_libdir}/liblirc_client.so +%{_libdir}/liblirc_driver.so +%{_libdir}/pkgconfig/lirc-driver.pc +%{_libdir}/pkgconfig/lirc.pc -%files remotes +%files drv-portaudio %defattr (-,root,root) -%{_datadir}/lirc-remotes +%{_libdir}/lirc/plugins/audio.so +%{_datadir}/lirc/configs/audio.conf + +%if 0%{?suse_version} > 1320 +%files drv-ftdi +%defattr (-,root,root) +%{_libdir}/lirc/plugins/ftdi.so +%{_datadir}/lirc/configs/ftdi.conf +%endif + +%files config +%defattr (-,root,root) +%{_datadir}/lirc/configs +%if 0%{?suse_version} > 1320 +%exclude %{_datadir}/lirc/configs/ftdi.conf +%endif +%exclude %{_datadir}/lirc/configs/audio.conf + +%files -n liblirc0 +%defattr (-,root,root) +%{_libdir}/liblirc.so.* %files -n liblirc_client0 %defattr (-,root,root) %{_libdir}/liblirc_client.so.* +%files -n liblirc_driver0 +%defattr (-,root,root) +%{_libdir}/liblirc_driver.so.* + %files disable-kernel-rc %defattr (-,root,root) %{_udevrulesdir}/99-remote-control-lirc.rules +%files tools-gui +%defattr (-,root,root) +%{_bindir}/xmode2 +%{_bindir}/irxevent +%{_mandir}/man1/irxevent* +%{_mandir}/man1/xmode2* + %changelog