Compare commits
41 Commits
| Author | SHA256 | Date | |
|---|---|---|---|
| 6b74115df2 | |||
|
|
0a40cb3389 | ||
| 9f2d033ac9 | |||
|
|
9846bb6ea7 | ||
| 3ab8a58ecb | |||
| 9db2ca2679 | |||
| f7db4f7422 | |||
| 72b7bedb97 | |||
| baccd004e1 | |||
| 8b32590755 | |||
| 23cbf8521e | |||
| e6e6015986 | |||
| a76fb6e1c8 | |||
| 2a00be5b57 | |||
| 37620b6815 | |||
| 9e8a9aa599 | |||
| 93e79527fd | |||
| 52dda9548b | |||
| 6377fb1450 | |||
| 109e480eb6 | |||
|
|
1e30d9e199 | ||
| ddad580e15 | |||
| 004c9a0634 | |||
|
|
af291e2875 | ||
| d656f3920c | |||
| af2cf01170 | |||
| c855c325ff | |||
|
|
14c9f2c4db | ||
|
|
da85a182b4 | ||
|
|
8dc92788ca | ||
|
|
741ec2a900 | ||
|
|
02a99bb2e1 | ||
|
|
5caab6acdd | ||
|
|
5083d6bae7 | ||
|
|
937d47a659 | ||
|
|
7b57346dc8 | ||
|
|
37996f5227 | ||
|
|
d2b3a19d51 | ||
|
|
fb4eafee9b | ||
|
|
316fd34b74 | ||
|
|
138a485a3e |
@@ -1,7 +1,7 @@
|
||||
Index: lirc-0.10.1/systemd/lircd.service
|
||||
Index: lirc-0.10.2/systemd/lircd.service
|
||||
===================================================================
|
||||
--- lirc-0.10.1.orig/systemd/lircd.service
|
||||
+++ lirc-0.10.1/systemd/lircd.service
|
||||
--- lirc-0.10.2.orig/systemd/lircd.service
|
||||
+++ lirc-0.10.2/systemd/lircd.service
|
||||
@@ -6,6 +6,16 @@ Wants=lircd-setup.service
|
||||
After=network.target lircd-setup.service
|
||||
|
||||
@@ -16,6 +16,6 @@ Index: lirc-0.10.1/systemd/lircd.service
|
||||
+RestrictRealtime=true
|
||||
+# end of automatic additions
|
||||
+#
|
||||
Type=simple
|
||||
Type=notify
|
||||
RuntimeDirectory=lirc
|
||||
ExecStart=/usr/sbin/lircd --nodaemon
|
||||
; User=lirc
|
||||
|
||||
BIN
lirc-0.10.1.tar.bz2
LFS
BIN
lirc-0.10.1.tar.bz2
LFS
Binary file not shown.
BIN
lirc-0.10.2.tar.bz2
LFS
Normal file
BIN
lirc-0.10.2.tar.bz2
LFS
Normal file
Binary file not shown.
File diff suppressed because it is too large
Load Diff
19
lirc-rpmlintfix.patch
Normal file
19
lirc-rpmlintfix.patch
Normal file
@@ -0,0 +1,19 @@
|
||||
diff --git a/doc/lirc-data2table b/doc/lirc-data2table
|
||||
index 14c492b..9f79327 100644
|
||||
--- a/doc/lirc-data2table
|
||||
+++ b/doc/lirc-data2table
|
||||
@@ -1,3 +1,4 @@
|
||||
+#!/usr/bin/python3
|
||||
''' Create the lirc Supported Devices Table using data in hardware.yaml '''
|
||||
|
||||
import glob
|
||||
diff --git a/tools/lirc-postinstall b/tools/lirc-postinstall
|
||||
index a0d0830..ccdd169 100755
|
||||
--- a/tools/lirc-postinstall
|
||||
+++ b/tools/lirc-postinstall
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/usr/bin/env bash
|
||||
+#!/bin/bash
|
||||
#
|
||||
# Perform post-install updates after lirc or externak driver install:
|
||||
# - Create the drivers.yaml list from the configs directory
|
||||
33
lirc.changes
33
lirc.changes
@@ -1,3 +1,36 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Jan 23 10:48:40 UTC 2026 - Bernhard Wiedemann <bwiedemann@suse.com>
|
||||
|
||||
- Add lirc.sysusers to replace useradd/groupadd/usermod for transactional
|
||||
updates (jsc#PED-14918)
|
||||
- Add lirc-rpmlintfix.patch to make rpmlint happy
|
||||
- Add %check from Fedora
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jan 29 15:21:16 UTC 2025 - Dominique Leuenberger <dimstar@opensuse.org>
|
||||
|
||||
- Update to version 0.10.2
|
||||
* Vendor latest linux/lirc.h and handle lirc overflows.
|
||||
* mode2: support lirc overflows, carrier reports, and timeouts
|
||||
* Lots of fixes for python 3.
|
||||
* irdroid: fix hang after transmit
|
||||
* The deprecated lircd --uinput option is dropped. Use
|
||||
lircd-uinput(8) instead.
|
||||
* The deprecated generation of lirc.hwdb is dropped. Use
|
||||
the configs/*.conf or the python database.py instead.
|
||||
* Added a new lirc-postinstall scripts which updates
|
||||
configuration and docs in final install destination (#286).
|
||||
* Using LIRC_IRDB_CACHE_ID lirc now supports reproducible
|
||||
builds. See #301 and updated irdb-get(1) manpage.
|
||||
* lircd: Support for the GOLDSTAR flag in lircd.conf(5) is dropped.
|
||||
* plugins: srm7500libusb: Major overhaul.
|
||||
* plugins:girs: Drop support for LIRC_SET_REC_TIMEOUT, add new
|
||||
driver option ending_timeout (#302).
|
||||
- Drop pyyaml-60-compatibility.patch: merged upstream.
|
||||
- Drop lirc-autoconf-py310.patch: no longer needed.
|
||||
- Rebase harden_lircd.service.patch and reproducible.patch.
|
||||
- Drop rcFOO symlinks.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Mar 26 08:47:23 UTC 2024 - pgajdos@suse.com
|
||||
|
||||
|
||||
57
lirc.spec
57
lirc.spec
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package lirc
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -23,7 +23,7 @@
|
||||
%define _rundir /run
|
||||
%endif
|
||||
Name: lirc
|
||||
Version: 0.10.1
|
||||
Version: 0.10.2
|
||||
Release: 0
|
||||
Summary: Tools for Infrared Receivers
|
||||
License: GPL-2.0-or-later
|
||||
@@ -31,16 +31,13 @@ Group: Hardware/Other
|
||||
URL: http://www.lirc.org/
|
||||
Source0: https://downloads.sourceforge.net/project/lirc/LIRC/%{version}/lirc-%{version}.tar.bz2
|
||||
Source1: baselibs.conf
|
||||
Source9: %{name}.sysusers
|
||||
Patch0: reproducible.patch
|
||||
Patch1: harden_irexec.service.patch
|
||||
Patch2: harden_lircd-uinput.service.patch
|
||||
Patch3: harden_lircd.service.patch
|
||||
Patch4: harden_lircmd.service.patch
|
||||
# PATCH-FIX-UPSTREAM pyyaml-60-compatibility.patch sht#lirc#365 mcepl@suse.com
|
||||
# Makes the package compatible with PyYAML 6.0+
|
||||
Patch5: pyyaml-60-compatibility.patch
|
||||
# PATCH-FIX-OPENSUSE lirc-autoconf-py310.patch, ran autoreconf for finding python 3.10
|
||||
Patch6: lirc-autoconf-py310.patch
|
||||
Patch5: lirc-rpmlintfix.patch
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: gobject-introspection
|
||||
@@ -64,6 +61,11 @@ BuildRequires: pkgconfig(sm)
|
||||
BuildRequires: pkgconfig(systemd)
|
||||
BuildRequires: pkgconfig(udev)
|
||||
BuildRequires: pkgconfig(x11)
|
||||
BuildRequires: sysuser-tools
|
||||
# for tests:
|
||||
BuildRequires: expect
|
||||
BuildRequires: socat
|
||||
%sysusers_requires
|
||||
Requires: udev
|
||||
Recommends: lirc-remotes
|
||||
Suggests: lirc-kmp
|
||||
@@ -164,6 +166,7 @@ License: GPL-2.0-or-later
|
||||
Group: Hardware/Other
|
||||
Requires: %{name}-core = %{version}-%{release}
|
||||
Recommends: lirc-core = %{version}
|
||||
BuildArch: noarch
|
||||
|
||||
%description disable-kernel-rc
|
||||
Udev rule which disables the kernel built-in handling of infrared devices
|
||||
@@ -219,13 +222,16 @@ sed -i -e "1{s|/usr/bin/env bash|$(which bash)|}" \
|
||||
%build
|
||||
%configure --enable-devinput
|
||||
make %{?_smp_mflags}
|
||||
%sysusers_generate_pre %{SOURCE9} %{name} %{name}.conf
|
||||
|
||||
%install
|
||||
%make_install
|
||||
chmod a+x %{buildroot}%{_bindir}/pronto2lirc
|
||||
%if 0%{?suse_version} < 1600
|
||||
# Create backward compatibility symlink
|
||||
ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name}d
|
||||
ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name}md
|
||||
%endif
|
||||
mkdir -p %{buildroot}%{_tmpfilesdir}
|
||||
echo "d /run/lirc 0755 root root 10d" \
|
||||
> %{buildroot}/%{_tmpfilesdir}/lirc.conf
|
||||
@@ -238,13 +244,14 @@ install -Dpm 644 contrib/60-lirc.rules \
|
||||
install -Dpm 644 contrib/99-remote-control-lirc.rules \
|
||||
%{buildroot}%{_udevrulesdir}/99-remote-control-lirc.rules
|
||||
# get rid of libtool file
|
||||
find %{buildroot} -type f -name "*.la" -delete -print
|
||||
find %{buildroot}%{_libdir} -type f -name "*.la" -delete -print
|
||||
#
|
||||
#
|
||||
# Don't install documentation in a non standard directory
|
||||
rm -rf %{buildroot}%{_datadir}/doc
|
||||
rm -rf %{buildroot}%{_datadir}/{,%{name}/}doc
|
||||
# hide python dependency
|
||||
chmod a+x %{buildroot}%{_bindir}/pronto2lirc
|
||||
install -D -m 0644 %{SOURCE9} %{buildroot}%{_sysusersdir}/%{name}.conf
|
||||
mkdir -p %{buildroot}%{_rundir}
|
||||
# Remove old %%{_rundir}; deprecated but still installed by lirc, which is not looking for it
|
||||
rm -rf %{buildroot}%{_localstatedir}
|
||||
@@ -263,6 +270,20 @@ rm -rf %{buildroot}/%{_datadir}/lirc/lirc-%{version}.tar.gz %{buildroot}/%{_data
|
||||
%python3_fix_shebang_path %{buildroot}%{python3_sitearch}/lirc-setup/*
|
||||
%endif
|
||||
|
||||
%check
|
||||
%if 0%{?suse_version} >= 1600
|
||||
if test -d python-pkg/tests; then
|
||||
cd python-pkg/tests; python3 -m unittest discover || exit 1
|
||||
cd $OLDPWD
|
||||
fi
|
||||
%endif
|
||||
|
||||
echo "Plugins: 34" > summary.ok
|
||||
echo "Drivers: 45" >> summary.ok
|
||||
echo "Errors: 0" >> summary.ok
|
||||
tools/lirc-lsplugins -U plugins/.libs -s > summary
|
||||
diff -w summary summary.ok || exit 1
|
||||
|
||||
%post -n liblirc_client0 -p /sbin/ldconfig
|
||||
%post -n liblirc_driver0 -p /sbin/ldconfig
|
||||
%post -n liblirc0 -p /sbin/ldconfig
|
||||
@@ -273,13 +294,6 @@ rm -rf %{buildroot}/%{_datadir}/lirc/lirc-%{version}.tar.gz %{buildroot}/%{_data
|
||||
%postun -n libirrecord0 -p /sbin/ldconfig
|
||||
|
||||
%pre core
|
||||
getent group lirc >/dev/null || groupadd -r lirc
|
||||
getent passwd lirc >/dev/null || \
|
||||
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 || :
|
||||
usermod -a -G input lirc &> /dev/null || :
|
||||
%service_add_pre lircd.service lircmd.service lircd-uinput.service lircd-setup.service lircd.socket irexec.service
|
||||
|
||||
%post core
|
||||
@@ -295,22 +309,20 @@ usermod -a -G input lirc &> /dev/null || :
|
||||
%files core
|
||||
%license COPYING
|
||||
%doc AUTHORS ChangeLog NEWS README
|
||||
%doc doc/html doc/lirc.hwdb doc/irxevent.keys
|
||||
%doc doc/irxevent.keys
|
||||
%doc contrib
|
||||
%dir %{_datadir}/%{name}
|
||||
%dir %{_libdir}/%{name}
|
||||
%dir %ghost %{_rundir}/lirc
|
||||
%ghost %{_rundir}/lirc/lircm
|
||||
%ghost %{_rundir}/lirc/lircd
|
||||
%dir %ghost %attr(0755,root,root) %{_rundir}/lirc
|
||||
%ghost %attr(0644,root,root) %{_rundir}/lirc/lircm
|
||||
%ghost %attr(0644,root,root) %{_rundir}/lirc/lircd
|
||||
%exclude %{_bindir}/irxevent
|
||||
%exclude %{_bindir}/xmode2
|
||||
%{_bindir}/*
|
||||
%{_datadir}/%{name}/lirc.hwdb
|
||||
%{_sbindir}/*
|
||||
%{_udevdir}/rules.d/60-%{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/*
|
||||
@@ -328,6 +340,7 @@ usermod -a -G input lirc &> /dev/null || :
|
||||
%config(noreplace,missingok) %{_sysconfdir}/%{name}/irexec.lircrc
|
||||
%{_unitdir}/lirc*
|
||||
%{_unitdir}/irexec.service
|
||||
%{_sysusersdir}/%{name}.conf
|
||||
%{_tmpfilesdir}/lirc.conf
|
||||
|
||||
%files devel
|
||||
|
||||
6
lirc.sysusers
Normal file
6
lirc.sysusers
Normal file
@@ -0,0 +1,6 @@
|
||||
#Type Name ID GECOS Home directory Shell
|
||||
g lirc - - - -
|
||||
u lirc - "LIRC daemon user, runs lircd" /log/lirc -
|
||||
m lirc dialout
|
||||
m lirc lock
|
||||
m lirc input
|
||||
@@ -1,53 +0,0 @@
|
||||
---
|
||||
python-pkg/lirc/database.py | 8 ++++----
|
||||
tools/check_configs.py | 2 +-
|
||||
2 files changed, 5 insertions(+), 5 deletions(-)
|
||||
|
||||
--- a/python-pkg/lirc/database.py
|
||||
+++ b/python-pkg/lirc/database.py
|
||||
@@ -66,7 +66,7 @@ def _load_kerneldrivers(configdir):
|
||||
'''
|
||||
|
||||
with open(os.path.join(configdir, "kernel-drivers.yaml")) as f:
|
||||
- cf = yaml.load(f.read())
|
||||
+ cf = yaml.load(f.read(), Loader=yaml.Loader)
|
||||
drivers = cf['drivers'].copy()
|
||||
for driver in cf['drivers']:
|
||||
if driver == 'default':
|
||||
@@ -132,14 +132,14 @@ class Database(object):
|
||||
yamlpath = configdir
|
||||
db = {}
|
||||
with open(os.path.join(yamlpath, "confs_by_driver.yaml")) as f:
|
||||
- cf = yaml.load(f.read())
|
||||
+ cf = yaml.load(f.read(), Loader=yaml.Loader)
|
||||
db['lircd_by_driver'] = cf['lircd_by_driver'].copy()
|
||||
db['lircmd_by_driver'] = cf['lircmd_by_driver'].copy()
|
||||
|
||||
db['kernel-drivers'] = _load_kerneldrivers(configdir)
|
||||
db['drivers'] = db['kernel-drivers'].copy()
|
||||
with open(os.path.join(yamlpath, "drivers.yaml")) as f:
|
||||
- cf = yaml.load(f.read())
|
||||
+ cf = yaml.load(f.read(), Loader=yaml.Loader)
|
||||
db['drivers'].update(cf['drivers'].copy())
|
||||
for key, d in db['drivers'].items():
|
||||
d['id'] = key
|
||||
@@ -158,7 +158,7 @@ class Database(object):
|
||||
configs = {}
|
||||
for path in sorted(glob.glob(configdir + '/*.conf')):
|
||||
with open(path) as f:
|
||||
- cf = yaml.load(f.read())
|
||||
+ cf = yaml.load(f.read(), Loader=yaml.Loader)
|
||||
configs[cf['config']['id']] = cf['config']
|
||||
db['configs'] = configs
|
||||
self.db = db
|
||||
--- a/tools/check_configs.py
|
||||
+++ b/tools/check_configs.py
|
||||
@@ -9,7 +9,7 @@ def main():
|
||||
configs = {}
|
||||
for path in glob.glob('*.conf'):
|
||||
with open(path) as f:
|
||||
- cf = yaml.load(f.read())
|
||||
+ cf = yaml.load(f.read(), Loader=yaml.Loader)
|
||||
if cf['config']['id'] + '.conf' != path:
|
||||
print( "Id: %s, path: %s" % (cf['config']['id'], path))
|
||||
configs[cf['config']['id']] = cf['config']
|
||||
@@ -3,11 +3,11 @@ https://sourceforge.net/p/lirc/git/merge-requests/33/
|
||||
https://sourceforge.net/p/lirc/git/merge-requests/34/
|
||||
https://sourceforge.net/p/lirc/git/merge-requests/36/
|
||||
|
||||
Index: lirc-0.10.1/tools/lirc-lsplugins.cpp
|
||||
Index: lirc-0.10.2/tools/lirc-lsplugins.cpp
|
||||
===================================================================
|
||||
--- lirc-0.10.1.orig/tools/lirc-lsplugins.cpp
|
||||
+++ lirc-0.10.1/tools/lirc-lsplugins.cpp
|
||||
@@ -415,10 +415,9 @@ static void print_header(void)
|
||||
--- lirc-0.10.2.orig/tools/lirc-lsplugins.cpp
|
||||
+++ lirc-0.10.2/tools/lirc-lsplugins.cpp
|
||||
@@ -413,10 +413,9 @@ static void print_header(void)
|
||||
static void print_yaml_header(void)
|
||||
{
|
||||
static const char* const YAML_HEADER =
|
||||
@@ -20,23 +20,23 @@ Index: lirc-0.10.1/tools/lirc-lsplugins.cpp
|
||||
printf("\ndrivers:\n");
|
||||
}
|
||||
|
||||
Index: lirc-0.10.1/python-pkg/lirc/database.py
|
||||
Index: lirc-0.10.2/python-pkg/lirc/database.py
|
||||
===================================================================
|
||||
--- lirc-0.10.1.orig/python-pkg/lirc/database.py
|
||||
+++ lirc-0.10.1/python-pkg/lirc/database.py
|
||||
@@ -156,7 +156,7 @@ class Database(object):
|
||||
--- lirc-0.10.2.orig/python-pkg/lirc/database.py
|
||||
+++ lirc-0.10.2/python-pkg/lirc/database.py
|
||||
@@ -160,7 +160,7 @@ class Database(object):
|
||||
d['device_hint'] = hint
|
||||
|
||||
configs = {}
|
||||
- for path in glob.glob(configdir + '/*.conf'):
|
||||
+ for path in sorted(glob.glob(configdir + '/*.conf')):
|
||||
with open(path) as f:
|
||||
cf = yaml.load(f.read())
|
||||
cf = yaml.load(f.read(), Loader = Loader)
|
||||
configs[cf['config']['id']] = cf['config']
|
||||
Index: lirc-0.10.1/tools/irdb-get
|
||||
Index: lirc-0.10.2/tools/irdb-get
|
||||
===================================================================
|
||||
--- lirc-0.10.1.orig/tools/irdb-get
|
||||
+++ lirc-0.10.1/tools/irdb-get
|
||||
--- lirc-0.10.2.orig/tools/irdb-get
|
||||
+++ lirc-0.10.2/tools/irdb-get
|
||||
@@ -9,7 +9,6 @@ import fnmatch
|
||||
import os
|
||||
import os.path
|
||||
@@ -45,26 +45,12 @@ Index: lirc-0.10.1/tools/irdb-get
|
||||
import urllib.error # pylint: disable=no-name-in-module,F0401,E0611
|
||||
import urllib.request # pylint: disable=no-name-in-module,F0401,E0611
|
||||
|
||||
@@ -193,7 +192,7 @@ def do_yaml_config():
|
||||
@@ -198,7 +197,7 @@ def do_yaml_config():
|
||||
lircmd_by_driver[driver].append("%s/%s" % (tokens[0], tokens[2]))
|
||||
|
||||
print("#")
|
||||
- print("# Created by 'irdb-get yaml-config' at " + time.ctime())
|
||||
- print("# Created by 'irdb-get yaml-config' as of " + CACHE_ID)
|
||||
+ print("# Created by 'irdb-get yaml-config'")
|
||||
print("#")
|
||||
print("\nlircd_by_driver:")
|
||||
print_yaml_dict(lircd_by_driver)
|
||||
Index: lirc-0.10.1/tools/lirc-make-devinput
|
||||
===================================================================
|
||||
--- lirc-0.10.1.orig/tools/lirc-make-devinput
|
||||
+++ lirc-0.10.1/tools/lirc-make-devinput
|
||||
@@ -61,8 +61,7 @@ if test -n "$lirc_map"; then
|
||||
fi
|
||||
|
||||
|
||||
-echo "# Generated by $(basename $0) on $(uname -r)"
|
||||
-echo "# Date: $(date)"
|
||||
+echo "# Generated by $(basename $0)"
|
||||
cat <<EOF
|
||||
|
||||
begin remote
|
||||
|
||||
Reference in New Issue
Block a user