Commit Graph

83 Commits

Author SHA1 Message Date
Bartosz Golaszewski 9958590b70 libgpiod: update v2.1.2 -> v2.1.3
Bug fixes:
- 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

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-08-01 11:43:18 -07:00
Khem Raj 2c8d82ea2f libgpiod: Migrate to catch2 v3
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
2024-06-11 07:46:44 -07:00
Bartosz Golaszewski 1e477be454 libgpiod: disable C++ tests for libgpiod v1.6.x
Catch2 recipe is moving to version 3 of the Catch2 API which will make
the C++ tests in libgpiod uncompatible. libgpiod v2 as ported to the new
interface but v1.6.x will not be so just disable building the C++ tests.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-06-11 07:46:44 -07:00
Bartosz Golaszewski 4b4086edef libgpiod: update to v1.6.5
This release contains a build fix for environments that require libgen.h
to be included for basename() and don't pull it implicitly with any
other header.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-06-11 07:46:44 -07:00
Bartosz Golaszewski c4a330ab89 libgpiod: update to v2.1.2
This is a small bugfix release that fixes a build issue with slibtool
(not relevant to meta-oe ATM), makes the licensing of C++ bindings less
restrictive and preemptively fixes an issue that will be triggered with
linux v6.9 when running gpio-tools ptest suite.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-05-19 08:27:52 -07:00
Xiangyu Chen 4f72481c68 libgpiod: fix QA error in ptest RDEPENDS
The bash in ptest RDEPENDS would cause following QA error:

   ERROR: QA Issue: lib32-libgpiod package lib32-libgpiod-ptest-dev -
   suspicious values 'bash-dev' in RRECOMMENDS [multilib]

Add a ptest enable dependency to avoid this QA error happens.

Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-04-08 23:07:16 -07:00
Bartosz Golaszewski e800784b5d libgpiod: update to v2.1.1
This is a bug-fix release addressing a couple issues in core libgpiod.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-03-11 07:10:15 -07:00
Khem Raj 57b9cb2d5d libgpiod: Tests rely on configfs support in kernel
Add a recommendation on configfs kernel module.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2024-02-29 14:40:25 -08:00
Bartosz Golaszewski 44bb7f130f libgpiod: update to v2.1
This is a small release bringing in a bunch of improvements and a couple
new interfaces. Details are available in NEWS.

We need to move the code in recipes around a bit as the tests now use
shunit2.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-11-03 15:07:16 -07:00
Bartosz Golaszewski 54e11a6c5b libgpiod: update to v2.0.2
This is a small bug-fix release addressing a segfault, a memory
corruption bug and a couple minor issues.

This also removes the patch that's already upstream.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-08-26 17:32:45 -07:00
Michael Opdenacker 6b2b98e52d remove unused AUTHOR variable
No longer used in generating packages
Also creates a possible confusion with the recipe maintainer
name.

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-08-03 09:14:20 -07:00
Joe Slater 9904bd6a24 libgpiod: modify RDEPENDS for ptest
The current use of RDEPENDS to add a dependency on bats results
in the QA warning/error

 lib32-libgpiod package lib32-libgpiod-ptest-dev - suspicious values
  'bats-dev' in RRECOMMENDS [multilib]

when building lib32-libgpiod with ptest not enabled.  We add the
dependency only if ptest is enabled.

Signed-off-by: Joe Slater <joe.slater@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-07-13 07:22:17 -07:00
Martin Jansa dd2a100449 libgpiod: fix malformed Upstream-Status
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-06-21 07:36:18 -07:00
Joe Slater 45a8bb2620 libgpiod: modify test 'gpioset: toggle (continuous)'
Look for level transitions when testing toggling
values because using fixed delays to assume value
changes is not reliable.

Signed-off-by: Joe Slater <joe.slater@windriver.com>
Reviewed-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-06-14 09:50:28 -07:00
Bartosz Golaszewski 110f60fff7 libgpiod: add myself as maintainer
While RECIPE_MAINTAINER doesn't seem to be used anywhere, let's add it
in hopes that it will at least make people Cc me on any recipe patches
in the future.

Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-06-04 22:29:45 -07:00
Khem Raj 3174a9da4c Revert "libgpiod: modify test 'gpioset: toggle (continuous)'"
This reverts commit d891624096.
2023-06-01 12:17:15 -07:00
Joe Slater d891624096 libgpiod: modify test 'gpioset: toggle (continuous)'
Look for level transitions when testing toggling
values because using fixed delays to assume value
changes is not reliable.

Signed-off-by: Joe Slater <joe.slater@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-05-25 08:56:32 -07:00
Bartosz Golaszewski afbc223489 libgpiod: remove test executables from ${bindir}
There's no need to put the test executables into ${bindir} as they're
already installed into ${PTEST_PATH}. This just pollutes $PATH.

Future libgpiod releases will not install test binaries at all, leaving
it to the library users. For now: remove them manually after
installation.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-04-20 07:46:21 -07:00
Bartosz Golaszewski c6243e1b6a libgpiod: fold libgpiod-src.inc into libgpiod.inc
Now that python3-gpiod fetches the sources from pypi, we no longer need
to provide the SRC_URI in a separate include. Fold it into the
libgpiod.inc used locally only.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-04-14 08:45:14 -07:00
Bartosz Golaszewski 62cd19e3f4 libgpiod: install the libgpiosim header
This header is used for building tests. While libgpiod can access it
from the source tree, the python bindings that live in a separate recipe
must be able to use it from its recipe sysroot.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-04-14 08:45:14 -07:00
Bartosz Golaszewski bb9d3afe9d libgpiod: update to v2.0.1
This is a bug-fix release addressing bugs discovered since the release
of v2.0.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-04-11 14:54:22 -07:00
Bartosz Golaszewski cf6291bf64 libgpiod: generalize the local files directories
In order to avoid having to rename the directories containing ptest
scripts on every update, use a more generic, per-major-release name and
extend the FILESEXTRAPATHS.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-04-11 14:54:22 -07:00
Bartosz Golaszewski 0db97d732b libgpiod: drop unneeded S assignment
Assigning a value to S is not necessary and it will in fact break the
recipe when updating the version so drop it.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-04-11 14:54:22 -07:00
Bartosz Golaszewski 66ed68b607 libgpiod: enable all features for ptest
We will fail to install or run all the tests if we don't enable all the
features exposed by the libgpiod project.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-04-11 14:54:22 -07:00
Bartosz Golaszewski dfcbbdfc48 libgpiod: update to v2.0
The final v2.0 release is out so update the recipe.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-03-02 17:45:37 -08:00
Bartosz Golaszewski 14c638320d libgpiod: bump version to v2.0-rc3
I decided to make one more RC before the final release as there was one
late minor change to C++ interface (marking public classes as final).
Next week libgpiod v2.0 should be finally carved in stone.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-02-24 08:45:44 -08:00
Bartosz Golaszewski cd26db61af libgpiod: add a recipe for libgpiod v2.0-rc2
This is a recipe for libgpiod v2 release candidate. Let's put common
bits and pieces into an .inc file and the source fetching into a
separate include that will be later reused by the python bindings that
for v2 will be moved into a separate recipe in meta-python.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-02-18 13:19:36 -08:00
Bartosz Golaszewski 389ee7fe7d libgpiod: update to v1.6.4
This is a bug-fix release bringing in several fixes for build and
testing issues.

Remove the patch that's already present in this release.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-02-08 08:51:44 -08:00
Bartosz Golaszewski 12cdd958ef libgpiod: fix python bindings build
It seems that automake's AM_PATH_PYTHON() macro no longer sets the
$PYTHON variable. This means the python bindings build for libgpiod has
been broken for some time. As we know which version we're using -
python3 - let's hardcode it in configure.ac. For now add a patch that's
been merged upstream and once a new bugfix release is out, we'll remove
it.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-01-25 08:57:42 -08:00
Alex Kiernan 62fd541101 libgpiod: Detect ptest using PTEST_ENABLED
Allow the ptest packages to be disabled even if ptest is enabled in
DISTRO_FEATURES.

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-08-12 01:24:27 -07:00
Peter Marko 1de8b9c7e2 libgpiod: move test dependencies to ptest package
This reverts and reworks commit e75cc87c4f

These tools are needed by test-suites, not the package itself.
I do not want bash (gpl3) or python (big/lot of dependencies)
in my release image when I have ptest enabled in my distro for
sdk/testing image.

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-05-24 08:39:45 -07:00
Khem Raj 14c7d8a0d7 recipes: Update LICENSE variable to use SPDX license identifiers
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-03-04 17:41:45 -08:00
Bartosz Golaszewski ac67765cb0 libgpiod: ptest: redirect stderr to stdout for test executables
Catch2 (used by the C++ tests) prints its output to stderr instead of
stdout. Redirect stderr to stdout for all test executables.

Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-12-01 12:39:28 -08:00
Bartosz Golaszewski f065bcdee7 libgpiod: ptest: rrecommend coreutils
The bats test suite requires the 'timeout' and 'nl' commands to be
available. Busybox' default config doesn't include those. They are built
by default by coreutils though, so add it to RRECOMMENDS for ptest.

Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-11-19 08:37:31 -08:00
Bartosz Golaszewski 97771cd2f4 libgpiod: ptest: rrecommend python3-unittest when building python tests
The python test suite uses the unittest module. It's not built by
default in minimal images, so we need to add it RRECOMMENDS explicitly.

Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-11-19 08:37:31 -08:00
Khem Raj fb95946eb5 emacs,libgpiod,cockpit: Fix override syntax in using FILES_${PN}
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-08-06 20:38:40 -07:00
Martin Jansa c61dc077bb Convert to new override syntax
This is the result of automated script (0.9.1) conversion:

oe-core/scripts/contrib/convert-overrides.py .

converting the metadata to use ":" as the override character instead of "_".

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2021-08-03 10:21:25 -07:00
Signed-off-by: Bartosz Golaszewski 46eb101cf7 Revert "libgpiod: ptest: warn if the gpio-mockup kernel module is not selected"
This reverts commit 977c5f5619.

This recipe doesn't see the final value of KERNEL_FEATURES that the
linux-yocto recipe uses - that's why this warning was always triggered
if the gpio-mockup feature was not defined globally in this variable.
The linux-yocto recipe pulls in gpio-mockup automatically if ptest is
in DISTRO_FEATURES so we don't really needs thich check.

Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-06-09 12:53:53 -07:00
Bartosz Golaszewski 18960fe1c1 libgpiod: update my email address
I now maintain the project and this recipe in my own time. Update my
email address in the AUTHOR field.

Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-06-09 12:53:48 -07:00
Bartosz Golaszewski 4b16dedac6 libgpiod: add the python test-suite to the ptest package
One more follow-up to the ptest updates - the python test suite was
missed and is still in the main library package. Move it to
libgpiod-ptest.

Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-06-09 08:49:20 -07:00
Bartosz Golaszewski 3018b3af38 libgpiod: ptest: only rrecommend a single module that we need
We don't need to pull in all kernel modules. It's enough to just
rrecommend gpio-mockup.

Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-06-04 07:08:13 -07:00
Bartosz Golaszewski 657bbdf163 libgpiod: ptest: add kernel-modules to RRECOMMENDS
libgpiod needs the gpio-mockup kernel module to be loadable (not
built-in). Add kernel-modules to RRECOMMENDS.

Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-06-04 07:08:13 -07:00
Bartosz Golaszewski 977c5f5619 libgpiod: ptest: warn if the gpio-mockup kernel module is not selected
libgpiod test-suites work with the gpio-mockup kernel module. When using
linux-yocto, it's enabled using the gpio/mockup.scc kernel feature. Check
if this feature is present in KERNEL_FEATURE and warn if not.

Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-06-04 07:08:13 -07:00
Bartosz Golaszewski 2530ace540 libgpiod: ptest: run all test-suites if possible
We have four test-suites total in libgpiod: for the core C library,
gpio-tools and for C++ and Python bindings. Modify the recipe to install
all of them depending on build settings and make run-ptest execute them
if available.

Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-06-04 07:08:13 -07:00
Bartosz Golaszewski 66561c713e libgpiod: redirect stdout from the ptest executable to a file
Most tests redirect their standard output to a file. Let's make libgpiod
consistent with this pattern.

Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-06-04 07:08:13 -07:00
Bartosz Golaszewski e75cc87c4f libgpiod: add RDEPENDS for tests
The libgpiod-tools test-suite requires bats at run-time. The python
test-suite needs the packaging module. Add both to the RDEPENDS in the
tests PACKAGECONFIG option

Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-06-04 07:08:13 -07:00
Bartosz Golaszewski 2d163d0e18 libgpiod: correctly split output files into packages
Currently, the files that should go into libgpiod-ptest are part of
either the main library package of libgpiod-tools. Use more fine-grained
values for package files variables.

Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-06-04 07:08:13 -07:00
Bartosz Golaszewski 1b26441296 libgpiod: fix RRECOMMENDS for python bindings
RRECOMMENDS for the python module doesn't work because it specifies
the module itself as its own RRECOMMENDS. Fix it to recommend the python
package if python3 is in PACKAGECONFIG for the main package.

Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-06-04 07:08:13 -07:00
Bartosz Golaszewski 187beae6bc libgpiod: list all packages in a single assignment
Don't have assignments to PACKAGES scattered across the recipe - use a
single place for that before assigning FILES.

Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-06-04 07:08:13 -07:00
Bartosz Golaszewski f3d670d9b3 libgpiod: coding style fixes
The recipe is getting bigger so try to keep a consistent coding style.
Use four spaces instead of tabs and use the common way of splitting
multi-line strings for minimum git diff lines at modification.

Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-06-04 07:08:13 -07:00