2022-10-04 Sean Young <sean@mess.org>
Update for 0.10.2
2022-10-03 Sean Young <sean@mess.org>
On Fedora 36, PYTHON_LIBS is empty. Use PYTHON_CFLAGS instead
Fix make distcheck
HAVE_KERNEL_LIRC_H is unused
Make run-tests work again
2022-10-02 Sean Young <sean@mess.org>
always disable all kernel decoding protocols
2022-10-01 Sean Young <sean@mess.org>
lircd cpu usage may jump to 100%
If the release time is set from a previous button press, then tv
will be updated accordingly. If the release time has already
passed, then tv might be 0, in which case poll gets a timeout of
0 milliseconds and the loop is executed again (eating all available
cpu).
Next version will be 0.10.2
2022-09-26 Sean Young <sean@mess.org>
Update NEWS
2022-09-19 Sean Young <sean@mess.org>
reguire_version needed before import
2022-09-18 Thomas Uhle <thomas.uhle@mailbox.tu-dresden.de>
SafeConfigParser class has been renamed to ConfigParser in Python 3.2
The current version of LIRC produces a warning message with more or less
up-to-date versions of Python 3. You can find such messages in syslog for
instance (date and hostname stripped):
lircd-setup[828]: /usr/sbin/lircd-setup:37: DeprecationWarning: The SafeConfigParser class has been renamed to ConfigParser in Python 3.2. This alias will be removed in future versions. Use ConfigParser directly instead.
2022-09-05 Thomas Betker <thomas.betker@freenet.de>
visit_rc() leaks file descriptor
visit_rc() opens /sys/class/rc/rc1/protocols O_RDONLY, but never closes it, so
the file stays open forever. [fd is overwritten by another O_WRONLY open a few
lines later; that one is closed correctly, though.]
In my case (lirc-0.10.1 on openSUSE Leap 15.4, 'irw' running, 'lircd' failing
to open /dev/lirc1 due to permission issues), this means that 'lircd' creates
a new /sys/class/rc/rc1/protocols file descriptor every second, sometimes
resulting in hundreds of /proc/$PID/fd/ entries.
Apparently, this was introduced by commit 06bd6d "plugins/default: Just check
lirc protocol if read-only access (#133)." on 17-Sep-2015.
2022-06-26 Sean Young <sean@mess.org>
Support lirc overflows
Sync lirc.h with linux 5.18
Always use bundled lirc.h header file
This ensure less breakage if the system header changes, and allows us
to use a newer version of lirc.h than is available on all distributions.
Update download link and remove merge conflict
2022-06-26 Alec Leamas <leamas.alec@gmail.com>
contrib: release-process: update.
build: Mute libtool when V=0.
plugins: Update driver_version.
2022-06-03 Alec Leamas <leamas.alec@nowhere.net>
python 3.10: Fix new Queue interface
2022-06-03 Debian Lirc Team <team+debian-lirc@tracker.debian.org>
python3.8
===================================================================
2022-06-03 Alec Leamas <leamas.alec@gmail.com>
logging: Don't use broken LOG_CONS syslog flag.
2022-06-03 Alec Leamas <leamas.alec@nowhere.net>
database.py: Handle new PyYAML interface.
2022-05-30 Sean Young <sean@mess.org>
Only enable the lirc protocol if present
linux kernel 4.16 and newer no longer have the lirc chardev connected as
a protocol decoder, but it is baked into rc-core. So, it is not necessary
to enable the lirc protocol any more if lirc is not present in the
protocols file.
Note that lirc is still in the protocols file in current versions of the
kernel (at the time of writing), but it would be nice to be able to remove
this in the distant future.
2022-05-30 Sean Young <sean@mess.org>
Ensure LIRC_MODE2_TIMEOUT and LIRC_MODE2_FREQUENCY are handled correctly
Based on https://github.com/neuralassembly/raspi/blob/master/lirc-gpio-ir-0.10.patch
Bug-Debian: bugs.debian.org/931078
2022-05-29 Matej Drobnič <matejdro@gmail.com>
plugins: irtoy: gracefully handle buffer overflow error
2022-05-29 Sean Young <sean@mess.org>
The Irdroid hangs after transmit intermittently
When this occurs, the device led remains on and does not respond to any
command. It has to unplugged and lirc has to be restarted.
See https://gist.github.com/Irdroid/384d5144d24cba7c94e58dde75388968
2022-05-29 b'Sean Young <allura@localhost>
Merge /u/craigandrews/lirc/ branch RuntimeDirectory into master
https://sourceforge.net/p/lirc/git/merge-requests/42/
Merge /u/greenbird/lirc/ branch uname into master
https://sourceforge.net/p/lirc/git/merge-requests/36/
2022-05-25 Sergei Trofimovich <slyich@gmail.com>
lircd: drop support for LIRC_CAN_SET_REC_FILTER and LIRC_CAN_NOTIFY_DECODE features
linux-headers-5.18 dropped LIRC_CAN_SET_REC_FILTER and
LIRC_CAN_NOTIFY_DECODE define in
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b2a90f4fcb146d0e033203ab646f0fd22cfa947f
as no drivers implement it.
Without the change lircd build fails on linux-headers-5.18 as:
lircd.cpp: In function 'int setup_hardware()':
lircd.cpp:492:49: error: 'LIRC_CAN_SET_REC_FILTER' was not declared in this scope; did you mean 'LIRC_CAN_SET_REC_CARRIER'?
492 | || (curr_driver->features & LIRC_CAN_SET_REC_FILTER)) {
| ^~~~~~~~~~~~~~~~~~~~~~~
| LIRC_CAN_SET_REC_CARRIER
2019-09-15 Craig Andrews <candrews@integralblue.com>
systemd: ensure lirc runtime directory exists
2019-05-05 Cédric Schieli <cschieli@gmail.com>
python-pkg: fix: async iterator should stop if an exception occurs in the select loop
python-pkg: test: async iterator should stop if an exception occurs in the select loop
python-pkg: fix: async readline should reraise if an exception occurs during select loop
python-pkg: async_client: enqueue exceptions that occur during the select loop so they can be handled
python-pkg: test: async readline should reraise if an exception occurs during select loop
python-pkg: test: if the connection is lost while using sync code, a ConnectionResetError should be raised
python-pkg: suppress ConnectionResetError and TimeoutException in testReceiveAsyncDisconnectDontBlock
python-pkg: selectively suppress captured exceptions
python-pkg: capture uncaught async exception in event_loop context manager
python-pkg: fix: if the connection is lost while using async code, the loop should not block infinitely
python-pkg: test: if the connection is lost while using async code, the loop should not block infinitely
python-pkg: ensure testing code cannot run infinitely
The assertCompletedBeforeTimeout context manager can be used to prevent
a test case from blocking the whole run.
python-pkg: prepare for multiple async code test cases
Each async code test case should run on its own newly created loop and
the loop should be closed after each test.
The event_loop context manager can be used to ensure that.
2019-01-01 William Manley <will@williammanley.net>
systemd support: Notify systemd on successful startup
This allows systemd to detect the case where we've failed to startup
due to a failure to parse our config files.
2018-12-30 Alec Leamas <leamas.alec@gmail.com>
lircd: Fix --connect option parsing error (#343).
2018-11-18 Bernhard M. Wiedemann <bwiedemann@suse.de>
Do not store build date and kernel ver [#301]
See https://reproducible-builds.org/ for why this is good.
2018-02-23 Alec Leamas <leamas.alec@gmail.com>
lircd.conf: Update <pre> documentation (#319).
2018-02-12 Alec Leamas <leamas.alec@gmail.com>
configure: Clean up man2html test.
2018-02-11 Alec Leamas <leamas.alec@gmail.com>
configure: Enhance test for usable man2html (#316).
2018-02-11 Felix Schmidt <https://sourceforge.net/u/fesc2000/>
irexec: Handle non-working shells gracefully (#314).
2018-01-16 jrie <u/jrie@sf.net>
repeat in lircd-uinput by using reps instead of is_release
2017-09-27 Alec Leamas <leamas.alec@gmail.com>
lircd: Help message polish.
2017-09-14 Baruch Siach <baruch@tkos.co.il>
lirc.org: fix Buildroot link
Busybox is not a Linux distro. Commit bd6f04e0ddda most likely meant to
add a reference to Buildroot, a Linux system generator that shares some
of its history with Busybox. Fix this.
2017-09-12 Alec Leamas <leamas.alec@gmail.com>
doc: lirc.org: Add busybox link.
2017-09-12 Baruch Siach <baruch@tkos.co.il>
build: Fix python client cross compile
The setup.py setuptools wrapper needs to use a version of python built
specifically for cross compiling to cross compile successfully. Allow
setting that in the environment using the SETUPTOOLS_ENV variable.
Fixes the following build failure:
/usr/bin/ld: skipping incompatible \
.../lirc-tools-0.10.0/lib/.libs/liblirc_client.so \
when searching for -llirc_client
/usr/bin/ld: cannot find -llirc_client
collect2: error: ld returned 1 exit status
2017-09-12 Alec Leamas <leamas.alec@gmail.com>
NEWS: update.
2017-09-10 Alec Leamas <leamas.alec@gmail.com>
plugins: srm7500: Fix device enumeration.
plugins: srm7500: Split some long lines.
2017-09-10 Henning Glawe <glaweh@debian.org>
plugins: srm7500: Add timeout to args of philipsrf_output().
plugins: srm7500: Add timeout to args of philipsrf_input().
plugins: srm7500: move usb_init() back to find_usb_device()
calling 'usb_find_devices' a second time (e.g. restarting irw)
caused a exception 'corrupted double-linked list', which is fixed by
this revert.
plugins: srm7500: Add macro SLEEP_NANO_500_us.
plugins: srm7500: Add macro SLEEP_NANO_20_ms.
plugins: srm7500: Fix whitespace/indent.
plugins: srm7500: Explicitly close pipe on child exit.
Explicitly close sending end of pipe before child exit
plugins: srm7500: Debug-log exit of child.
plugins: srm7500: Close receiving pipe as early as possible.
Close receiving end of pipe as early as possible in child process
plugins: srm7500: Deinitialize srm7500 receiver in main loop.
plugins: srm7500: Move usb_init to before the srm7500 main loop.
plugins: srm7500: Wait for usb receiver being available.
wait for presence of usb receiver instead of repeatedly failing
plugins: srm7500: deinit() error handling and nanosleep.
uadd error handling and nanosleep to srm7500_deinitialize_usbdongle
plugins: srm7500: Improve logging for 802.15.4 MAC initialization.
plugins: srm7500: Replace wait-for-mac by generic queue-flush
most probably due to the fixed low-level initialization code, there is
no MLME_SET_confirm.PIB_ATTR_macExtendedAddress packet observed
anymore.
Just in case, read all packets before setting up 802.15.4 mac layer
plugins: srm7500: Add philipsrf_output error* logging.
Add error logging to philipsrf_input and philipsrf_output wrapper functions
plugins: srm7500: Log usb_close on level debug.
plugins: srm7500: Clean up logging in first device init phase.
plugins: srm7500: Close dev_handle at error_label, if necessary.
plugins: srm7500: Introduce 'error_label' goto target.
introduce goto label 'error_label' to srm7500_initialize_usbdongle
plugins: srm7500: Add 500 us sleep (usb_control_msg fix).
Add some 500 microsecond sleeps in the hope to resolve the
usb_control_msg issue
plugins: srm7500: Explicitly initialize dev_handle to NULL.
plugins: srm7500: log_perror_err() -> log_error().
Use log_error instead of log_perror_err when detaching kernel driver
plugins: srm7500: Device reset: sleep 1s -> 20 ms.
sleep for 20ms instead of 1s after usb device reset
plugins: srm7500: Read loop sleep: 2s -> 20 us.
sleep for 20 microseconds instead of 2 seconds after usb_read_loop
plugins: srm7500: Add SLEEP_NANO wrapper around nanosleep.
plugins: srm7500: Add log msgs to usb device init.
plugins: srm7500: add usb_reset call (undef state cleanup).
clean up undefined state of usb dongle
plugins: srm7500: Add log messages.
Åre-initialization phase of SRM7500 usb dongle
plugins: srm7500: Add error messages
Messages for dongle and 802.15.4 initialization failure
plugins: srm7500: Fix typo in warning log msg.
2017-09-10 Alec Leamas <leamas.alec@gmail.com>
build: configure.ac and lirc-postinstall cleanup.
2017-09-10 Alec Leamas <leamas.alec@gmail.com>
build: Fix build without Python.
Don't define HAVE_PYTHON35 when PYTHON_LIBS is empty.
Also, don't build Python dependent code when HAVE_PYTHON35 is not
defined.
This fixes build failures like:
Makefile:1616: recipe for target 'python-pkg/dist/lirc-0.10.0.tar.gz' failed
make[3]: *** [python-pkg/dist/lirc-0.10.0.tar.gz] Error 1
python-pkg/lirc/_client.c:1:20: fatal error: Python.h: \
No such file or directory
2017-09-10 Bengt Martensson <barf@bengt-martensson.de>
lircd: Silly driver options to lircd should be fatal (#304).
2017-09-07 Baruch Siach <baruch@tkos.co.il>
build: Fix lirc version detection when cross compiling.
The setup.py script that runs on the host can't use the client library
built for target. So setup.py falls back to a wrong hard-coded VERSION
value.
Instead of importing the target library, use exec() to read
lirc/config.py directly for its VERSION value.
Fixes build failure:
/usr/bin/install -c -m 644 ./python-pkg/dist/lirc-0.10.0.tar.gz \
'.../output/host/arm-buildroot-linux-musleabihf/sysroot/usr/share/lirc'
/usr/bin/install: cannot stat './python-pkg/dist/lirc-0.10.0.tar.gz': \
No such file or directory
2017-09-05 Alec Leamas <leamas.alec@gmail.com>
build: Mute automake warning.
2017-09-03 Alec Leamas <leamas.alec@gmail.com>
build: Don't drop user CFLAGS (#306).
mode2: Fix inconsistent loglevel/debug option (#307).
2017-09-02 Alec Leamas <leamas.alec@gmail.com>
python-pkg: pylint indentation fic.
NEWS: update.
2017-09-02 Bengt Martensson <barf@bengt-martensson.de>
girs.c: Implemented Removed LIRC_SET_REC_TIMEOUT support (#302).
Removed LIRC_SET_REC_TIMEOUT support, and similar. Doc update.
Instead new driver option: ending_timeout. Cleaned logging.
2017-08-31 Alec Leamas <leamas.alec@gmail.com>
build: Fix make "always build all" error.
2017-08-26 Alec Leamas <leamas.alec@gmail.com>
lib: Drop support for the GOLDSTAR flag in lircd.conf.
NEWS: update
2017-08-24 Alec Leamas <leamas.alec@gmail.com>
irdb-get: Support reproducible builds [#301].
2017-08-24 Ayke van Laethem <aykevanlaethem@gmail.com>
plugins: devinput: Fix glob "no match" error [#285].
See [63e041cc] and LIRC issue #285 (Debian: #860551).
2017-08-23 Alec Leamas <leamas.alec@gmail.com>
Update for 0.11.0
build: Don't generate table.html in build - #286 part 2.
2017-08-22 Alec Leamas <leamas.alec@gmail.com>
lirc-postinstall: Update external driver docs.
2017-08-21 Alec Leamas <leamas.alec@gmail.com>
build: Add lirc-postinstall - #286 part 1.
2017-08-19 Alec Leamas <leamas.alec@gmail.com>
doc: Remove lirc.hwdb support.
doc: build typo.
build: Fix missing media/lirc.h (BTS #872074).
2017-06-30 Alec Leamas <leamas.alec@gmail.com>
doc: lirc.org: Update packaging linux distro list.
Build: walk-around autoconf bug 19964 (#297).
Build breaks if lirc top-level dir parent contains files like
install.sh. This is the knownn and open autoconf bug
https://lists.gnu.org/archive/html/bug-automake/2015-02/msg00003.html
with this work-around provided by upstream.
2017-06-28 Alec Leamas <leamas.alec@gmail.com>
build: Makefile.am: kill duplicated line.
2017-06-24 Alec Leamas <leamas.alec@gmail.com>
build: Align with release-0.10 branch.
2017-06-24 Baruch Siach <baruch@tkos.co.il>
lib/curl_poll.h: fix header guard collision with musl libc
The musl libc uses the _POLL_H macro as a double include guard for the poll.h
header. This breaks compilation of files the include curl_poll.h:
In file included from driver.h:32:0,
from driver.c:12:
lirc/curl_poll.h:38:29: error: array type has incomplete element type ‘struct pollfd’
int curl_poll(struct pollfd ufds[], unsigned int nfds, int timeout_ms);
^~~~
Rename the curl_poll.h header guard macro to avoid collision. Don't use a name
that starts with an underscore and a capital letter since these names are
reserved according to the ANSI C standard.
https://www.gnu.org/software/libc/manual/html_node/Reserved-Names.html
2017-06-24 Alec Leamas <leamas.alec@gmail.com>
build: Missing dep, repeated builds and clean fixes.
python-pkg: Don't distribute test if python < 3.5.
build: Update ABI version info for 0.10.0.
doc: Updates.
lircmd: Don't write on non-existing socket (#295).
Don't distribute generated config.h, config.py and paths.h (#294).
build: Fix VPATHS builds (#294).
doc: Fix python document generation.
Add missing python filters to distribution, and ensure it works
with alternative python interpreters.
build: Don't hardcode python3 interpreter name.
Fixes build errors on hosts where python3 is invoked e. g.,
as python3.5.
Build: fix bad link tools/lirc-setup/config.py
Build: Fix timestamps in generated tarball.
The debian buildchain requires generated tarballs to have the
same timestamps to be considered equal. So, set the timestamps
of generated files to the git commit date.
Build: fix linking issue.
Build: Use correct python interpreter.
doc: Mute annoying build error message.
doc: Deprecate lirc.hwdb, NEWS update.
2017-06-24 Alec leamas <al@mageia.localdomain>
build: Mageia fixes
2017-06-24 Alec Leamas <leamas.alec@gmail.com>
build: Let configure update also lib/lirc/config.h
lib: Fix missing #include config.h
doc: Update.
build: Make it more quiet.
2017-06-16 Alec Leamas <leamas@nowhere.net>
tests: Overall portability fixes.
- Use correct lircrcd binary from development tree.
- Use explicit /bin/bash shebang, don't trust /bin/sh to be bash.
- Use lirc_set_verbose() to kill silly output.
lib:lirc_client: Add lirc_set_verbose() function.
There has been no way to dynamically set the output flag defined
by lirc_init. The tests are a simple usecase requiring this, but it
aseems general enough to motivate a new function.
2017-06-16 Alec Leamas <leamas.alec@gmail.com>
lircd: Reformat long lines
lib, lircd: Remove --release support.
irlog: enhance logging.
2017-06-16 Alec Leamas <al@localhost>
Build: Disable non-linkable plugins on kfreebsd.
2017-06-16 Alec Leamas <leamas.alec@gmail.com>
python-pkg: tests: Don't hardcode socat and expect paths.
Build: more distcheck.
Build: distribute python test files.
Build: fix "make clean".
Build: Revert timestamp fix.
Update for 0.10.0-rc2
Build: distcheck fixes.
Build: non-linux FTBS fixes.
Build: More python installation clean-up.
- Move and install lirctool wrapper (but no link).
- Don't hardcode python3 shebang
attic: Remove attic from release branch.
build: Rectify "make clean"
python-pkg: tests: Use socat instead of ncat (#289).
Turns out that ncat exists in several version on Debian, all of
them broken somehow. socat seems more uniform and works in both
Fedora and Debian stretch.
mode2: Actually parse the [mode2] config file section [#292].
Although the manpage describes how mode2 reads the [mode2] section
in the config file, the actual code for this was missing.
irsimsend: Fix log setup typo.
lirc-setup: Clean up paths handling (#290)
doc: Update.
- Kill all 0.9.5 references.
- Review lircd-uinput repeat handling after deprecating lircd
--release option.
- Rewrite intro chapter in Configuration guide.
- Typos and clean-up.
build: m4: Clean up AX_PYTHON_MODULE
Attempt tp fix timed out builds on Debian m68k builders. Use
standard autoconf control flow functions, fix under-quoted
arguments, fix indentations.
2017-06-05 Christoph Bartelmus <lirc@users.sourceforge.net>
doc: lirc.org: Set left margin to 0
2017-05-20 Alec Leamas <leamas.alec@gmail.com>
irpipe: Use system lirc.h.
NEWS:update
lircd: Deprecate --release option.
doc: Add release into index.html
build: Make it more quiet.
build: Update ABI version info (added interfaces).
doc: Move upstreamed lirc.4 manpage to attic.
plugins/commandir: Mute compiler warnings (somewhat shaky).
build: Fix recent GCC compiler warnings.
2017-05-19 Alec Leamas <leamas.alec@gmail.com>
formatting: checkpatch fixes.
Generated by dwww version 1.16 on Sat Oct 3 03:28:33 CEST 2026.