diff options
author | Bartosz Golaszewski <bartosz.golaszewski@linaro.org> | 2024-10-24 15:51:26 +0200 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2024-10-24 07:06:31 -0700 |
commit | 9626e8a2c8f20c7ff81a336e0adebd1b74bb9ac7 (patch) | |
tree | eee5a6b3d8975aca36d8d1c2c3ddf94ffd730c27 /meta-perl/recipes-perl/libalgorithm | |
parent | 38b782183848a1257a45099dfb65282726c3d6c1 (diff) | |
download | meta-openembedded-9626e8a2c8f20c7ff81a336e0adebd1b74bb9ac7.tar.gz |
libgpiod: update to v2.2
This is a big update for libgpiod bringing in the D-Bus daemon and its
command-line client. This is why the patch is pretty hefty. The majority
of the line count comes from the removed patch that is now upstream but
the v2.2 recipe also now contains a lot of bits and pieces that make the
D-Bus daemon work both with system as well as sysvinit.
The project now packages the systemd service and udev rules that allow
the manager to run under its own user in a well sandboxed environment
but the sysvsinit script is carried in the recipe as I don't want to
put support for legacy systems in libgpiod repo.
The patch also updates the ptests for libgpiod to run three new
test-suites: one for GLib bindings, one for the command-line D-Bus
client and finally one testing some daemon corner-cases not supported by
the client.
Build tested with various config options with systemd and sysvinit (the
latter with glibc and musl) on 32- and 64-bit architectures.
The complete changelog since v2.1 (taken verbatim from the NEWS file) is
below:
libgpiod v2.2
=============
New features:
- add GObject bindings with introspection
- add a D-Bus interface to libgpiod together with a daemon implementing it and
a command-line client
- split out the common shell test code for gpio-tools into a reusable test
harness for GPIO command-line tools
- add minutes as a new supported time unit for tools and allow longer periods
for timeouts, line holding, etc.
- add a script for generating sdist and wheels for python bindings
- migrate C++ tests to using Catch2 v3
Improvements:
- relicense C++ bindings under LGPL-2.1-or-later in order to make the project
more attractive to users with GPL-3.0 restrictions
- remove dependency on grep from tools' tests
- make shell scripts pass shellcheck treewide
- use ppoll() in tools to actually achieve the advertised microsecond
granularity of timeouts
- documentation improvements
- improve typing info in python bindings
- improve __repr__() implementations in python bindings
- make reconfiguring lines more flexible in python bindings by relaxing the
requirement to carry the ordering of the config entries from the request
- support casting of line.Value to bool in python bindings
- various new test-cases for improved coverage treewide
- align the test cases with the current kernel requirement for specifying
direction explicitly when reconfiguring lines
Bug fixes:
- fix C++ bindings build using slibtool
- accept the new style automatic GPIO chip labels from gpio-sim in bash tests
- fix C++ tests with recent kernels which introduced stricter reconfigure
behavior
- fix a use-after-free bug in python bindings
- fix passing the event clock property to line requests in python bindings
- fix a memory leak in tools
- make sure the string buffers in line-info and chip-info are big enough to not
truncate the strings they hold below the size accepted by the kernel
- remove buggy and unnecessary flags sanitization from line-config
- fix python bindings installation with Makefile build
- sanitize the return values of GPIO ioctl()s which in some cases may be
erroneously positive
- fix requesting lines by name with multiple entries in python bindings
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-perl/recipes-perl/libalgorithm')
0 files changed, 0 insertions, 0 deletions