Starting with this release, libgpiod now uses meson so the updates to
the recipe are quite extensive. There's a new shared library:
libgpiotools, that exports symbols previously only accessible to
gpio-tools that allow users to build their own high-level programs while
reusing the code doing GPIO line & chip lookup. While at it: move
libgpiodbus into its own package as well.
Full changelog:
New features:
- replace autotools with meson & ninja as the build system
- provide libgpiotools: a new shared library exposing a public API for
line name lookup and other high-level helpers previously only available
internally to gpio-tools
- add initial-state option to gpiomon to display line states before
waiting for events
- provide comprehensive sphinx-based documentation for all components:
core C API, C++ bindings, Python bindings, GLib bindings, D-Bus API,
gpio-tools, and libgpiotools
- extend libgpiosim with new routines allowing to use the new functionality
provided in more recent versions of the gpio-sim module in the kernel
Improvements:
- make tests work with newer coreutils by removing cases checking tools'
behavior on SIGINT which stopped working due to changes in behavior of the
timeout tool
- decouple the libgpiod core C library API version from the global libgpiod
project version as the former is now quite stable and no longer changes
with every release
- extend libgpiosim self-tests
Bug fixes:
- allow modifying settings for existing offsets in a full line-config
- fix signed/unsigned type mismatch in gpiod_line_request_get_value()
- add explicit NUL-termination after strncpy() calls in core library
- fix consumer string in line_info stream operator in C++ bindings
- use get_mapped_value() for all enum mappings in line_info in C++ bindings
- move g_tree_remove() out of g_assert() in gpiodbus_id_free() to avoid
resource exhaustion when assertions are disabled
- return 0 when zero events are requested in edge-event API
- fix gpionotify watching lines on the wrong chip
- reject trailing garbage in parse_period() in gpio-tools
- store interactive sleep period in a long long in gpioset to avoid overflow
- use gpiod_line_settings_free() to release settings in line-config
- fix buffer over-read bugs when translating uAPI structs to library types
- fix variable and argument types where necessary
- sanitize values returned by the kernel to avoid potential buffer overflows
- fix memory leaks in gpio-tools
- add missing return value checks in gpio-tools
- fix period parsing in gpio-tools
- use correct loop counter in error path in gpio-manager
- don't try to export the same chip object twice in gpio-manager on duplicate
uevents
- use the "add"/"remove" uevents when watching for GPIO chips in the system as
the "bind"/"unbind" pair is only emitted by linux for controllers which don't
have a firmware node attached
- don't allow clearing hogs on active devices in tests
- don't install uneeded files
- fix a pkgconfig check in configure
- fix a return type check in test harness
- don't implicity unquote unnamed lines in gpioinfo
- remove useless variable in reconfigure example
- don't let struct line_config balloon out of control and trigger an OOM
- drop python3-config check from configure.ac
- fix potential PyDict_Next() crash in python bindings
- disable the GPIO simulator before releasing it in C++, rust and python
bindings tests
- fix the way we wait for simulated chips to appear in D-Bus command-line
client tests
- make read_edge_events lifetimes more explicit in rust bindings
- make waiting for info events more reliable in GLib bindings tests
- defer removal of bank entries when device is not disabled in libgpiosim
- add missing LineInfo import to __init__.py in python bindings
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
The patch was creating the file /run/.adb.root with read-write permission for "other",
so any user was able to write to it.
Make the file owned by user adb, and remove permissions for group and other.
Before:
```
root@raspberrypi4-64:~# ls -l /run/.adb.root
-rw-rw-rw- 1 root root 8 Mar 13 15:42 /run/.adb.root
```
After:
```
root@raspberrypi4-64:~# ls -l /run/adb.root
-rw------- 1 adb adb 8 Mar 13 15:35 /run/adb.root
```
Also rename the file from .adbd.root to adbd.root, since hidden files are
not the convention in /run
AI-Generated: Uses GitHub Copilot (Claude Sonnet 4.6)
Signed-off-by: Etienne Cordonnier <ecordonnier@snap.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 3.29.4:
- Verify inode in break_lock_file before unlinking a stale lock
- Keep the read/write heartbeat alive on a transient touch error
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Add a new recipe for python3-discovery release 1.4.2:
- fix: stop symlink resolution at stdlib landmark and framework builds
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 0.137.1:
- Fix typing checks for APIRoute.
- Fix bug, allow empty path in path operation in prefixless router.
Fix the following error when running ptest-runner python3-fastapi:
E ModuleNotFoundError: No module named 'scripts'
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
GCC 16 defaults to C++20 which enforces stricter designated
initializer rules. Add patches to fix the two affected test files.
Signed-off-by: Hemanth Kumar M D <Hemanth.KumarMD@windriver.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 2.3.0:
- Fix sdist builds from littering files
- Add all special keyword args to .pyi stub file
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 4.0.4:
- Raise DNSError(ARES_ENODATA) from query() when the answer section
has no records of the requested qtype, restoring the pycares 4.x
NODATA contract and avoiding AttributeError for CNAME/SOA/PTR callers
- Add the missing build-backend entry to pyproject.toml so PEP 517
builds from the sdist work without falling back to the deprecated
legacy setuptools backend
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade libsodium from 1.0.19 to 1.0.20 for minifi-cpp third party
dependency.
Updated below patch for upgrading:
0003-Fix-libsodium-build.patch
Removed below patch because it is in the new version:
0007-libsodium-aarch64-set-compiler-attributes-after-including-arm_.patcha
Signed-off-by: Li Zhou <li.zhou@windriver.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Removed all the paths' changes in do_install because of the old test
by using "/usr/bin/minifi &" instead of "minifi.sh run &", which
doesn't define MINIFI_HOME as an environment var.
This causes minifi-cpp thinks MINIFI_PACKAGING_TYPE is RPM, and tries to
find files in different paths from TGZ, while yotco uses
MINIFI_PACKAGING_TYPE TGZ by default.
Correct test case and those changes aren't needed any more.
Fixes c0e52930a9 ("minifi-cpp: upgrade 0.99.1 -> 0.99.2")
Signed-off-by: Li Zhou <li.zhou@windriver.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Libsoup-2.4 has been deprecated and is no longer receiving support or
security fixes. The recipe can be removed now that no recipes in
meta-openembedded depend on it.
Signed-off-by: Colin Pinnell McAllister <colinmca242@gmail.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Target and ptest packages miss the run-time dependency, which causes the
following build errors:
ERROR: tbb-1_2022.3.0-r0 do_package_qa: QA Issue: /usr/lib/tbb/ptest/gnu_15.2_cxx11_64_release/test_tbbbind contained in package tbb-ptest requires libhwloc.so.15()(64bit), but no providers found in RDEPENDS:tbb-ptest? [file-rdeps]
ERROR: tbb-1_2022.3.0-r0 do_package_qa: QA Issue: /usr/lib/libtbbbind_2_5.so.3.17 contained in package tbb requires libhwloc.so.15()(64bit), but no providers found in RDEPENDS:tbb? [file-rdeps]
ERROR: tbb-1_2022.3.0-r0 do_package_qa: Fatal QA errors were found, failing task.
Signed-off-by: Vyacheslav Yurkov <uvv.mail@gmail.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 3.0.2:
- Changed default value of BlueZNotifyArgs.use_start_notify to True.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 2.6.2:
- Drop official support for Python 3.9 (EoL).
- Improve performance of Interval creation and union for large
disjunctions of overlapping intervals
- Improve performance of Interval.__contains__ for values
- Improve performance of Interval.overlaps, __and__, and __contains__
for large, complex intervals when applied to small subintervals
- Improve performance of IntervalDict.update and IntervalDict
constructor for hashable values
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 5.13.0:
- Create manylinux2014 wheels
- Add support for Python 3.15
- Disable global interpreter lock for freethreading
- Re-enable building GraalPy wheels on macOS arm64
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 0.0.71:
- langtable.py: Fix deprecation warning:
langtable.py:2652: UserWarning: pkg_resources is deprecated as an API
- Add xdq, sus, mrh, hrx, brh, ary, en_SE.UTF-8
- Get new translations and translation changes from CLDR
- setup.py: use open() instead of deprecated codecs.open(), declare
minimum Python version >= 3.8
- Add Yangon timezone id part
- languages.xml: Rename Asia/Rangoon to Asia/Yangon
- territories.xml: Rename Asia/Rangoon to Asia/Yangon
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
The android-tools-conf recipe used /sys/class/android_usb/android0/,
an interface exported by the out-of-tree android.c USB gadget driver
that Google carried in Android kernels but never submitted to mainline
Linux. It was never part of any upstream kernel release.
The configfs-based USB gadget framework (CONFIG_USB_CONFIGFS) was
merged into mainline Linux with kernel 3.10 (June 2013) and is the
correct interface for all upstream kernels since then. Additionally,
Google's Generic Kernel Image (GKI) initiative dropped android.c from
Android common kernels starting with kernel 5.10 (Android 12, 2021),
so even custom BSPs targeting modern Android cannot use this interface.
Remove android-tools-conf and rename android-tools-conf-configfs to
android-tools-conf, since the configfs-based implementation is the
only correct one for any modern kernel. Backward compatibility is
preserved via PROVIDES/RPROVIDES retaining the old
android-tools-conf-configfs name.
AI-Generated: Uses GitHub Copilot (Claude Sonnet 4.6)
Signed-off-by: Etienne Cordonnier <ecordonnier@snap.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Comparator objects used in standard containers (such as std::set)
must be invocable as const. Opensaf contains several comparators
that lack the 'const' qualifier, leading to compilation failures like:
error: passing 'const XxxCompare*' as 'this' argument discards qualifiers
Add a backported patch to fix the comparators in imm_xmlw_dump.cc
and amfd/node.h by adding the missing 'const' to operator().
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
dm-verity can use Reed-Solomon forward error correction (FEC) data
to transparently recover a limited number of corrupted blocks instead
of only detecting them. This can be useful for mitigating error-prone
storage.
We generate this FEC data as an option, controlled by VERITY_FEC
(default off, same behavior as before) and VERITY_FEC_ROOTS (number of
Reed-Solomon roots, default 2). The FEC data is appended to the hash
tree by default. If VERITY_IMAGE_FECDEV_SUFFIX is set, a separate file
with the given suffix will be used.
When enabled, the parameter file gains additional variables necessary
for correct DM table generation.
Recipes that do not set VERITY_FEC = "1" behave the same as before.
Signed-off-by: Andreas Zdziarstek <andreas.zdziarstek@gmail.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
The build fails with
../sources/multitail-7.1.5/mt.c: In function 'do_color_print':
../sources/multitail-7.1.5/mt.c:712:25: warning: implicit declaration of function 'waddnwstr'; did you mean 'waddnstr'? [-Wimplicit-function-declarat
712 | waddnwstr(win -> win, &wcur, 1);
| ^~~~~~~~~
| waddnstr
I suspect it's due to gcc-16, because in a build environment with gcc-15 it
compiles. Upstream has already set a todo at this code line.
Signed-off-by: Jörg Sommer <joerg.sommer@navimatix.de>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Add recipe for rtc-testbench v5.4, a real-time and non-real-time traffic
validation tool for converged TSN networks from Linutronix. It validates
real-time performance and robustness of hardware, drivers, and the Linux
network stack on TSN-enabled Ethernet networks using AF_PACKET or AF_XDP
with eBPF, supporting protocols like PROFINET and OPC UA PubSub.
rtc-testbench depends on libxdp provided by xdp-tools.
Depends-on: xdp-tools: upgrade 1.2.10 -> 1.6.3
Signed-off-by: Rajkumar Patel <patel.rajkumar@oss.qualcomm.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Drop patches 0002 and 0004 as they are no longer needed with 1.6.3.
Rework patches 0001 and 0003 to properly handle CC tool validation
and libxdp symlink installation for cross-compilation.
Set PRODUCTION=1 and pass BPF_CFLAGS with sysroot include paths
and ffile-prefix-map for reproducible cross-compilation builds.
Include ${libdir}/bpf/* in FILES:${PN} as libxdp.so resolves BPF
objects at runtime from that path. Add bash to RDEPENDS for the
test scripts.
Signed-off-by: Rajkumar Patel <patel.rajkumar@oss.qualcomm.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Import xdp-tools recipe from meta-dpdk to meta-oe.
xdp-tools provides a set of utilities and helpers for working
with XDP (eXpress Data Path) and eBPF-based packet processing
in the Linux networking stack.
Although currently available in meta-dpdk, xdp-tools is a
standalone utility with no direct dependency on DPDK, and is
generally useful for networking and XDP-based workflows.
Adding it to meta-oe makes it available without requiring
the meta-dpdk layer.
Signed-off-by: Rajkumar Patel <patel.rajkumar@oss.qualcomm.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade from 29.0.6.r14 to 35.0.2, switching to the Debian
android-platform-tools source package layout which ships Debian-maintained
make fragments and patch series under debian/system/.
The old recipe carried a hand-maintained patch stack on top of a
custom build system (rules_yocto.mk). The new recipe delegates to
Debian's make fragments and applies only the OE-specific patches needed
on top.
Notable upstream changes between 29.0.6 and 35.0.2 (see release notes at
https://developer.android.com/tools/releases/platform-tools):
- adb: libusb is now the default USB backend on Linux (35.0.0)
- adb: receive windowing for better throughput on high-latency links (33.0.3)
- adb: graceful USB interface release on shutdown (35.0.2)
- adb: wireless pairing and incremental APK installation support (30.0.0)
- adb: adb transport-id for safe scripted device waits (30.0.2)
- adb: fix shell exit code when device disconnects (35.0.0)
- fastboot: download speed improvements up to 980MB/s on SuperSpeed+ (35.0.0)
OE-specific changes:
- adbd now drops privileges to a dedicated "adb" system user (matching
Android's production security model); use "adb root" to escalate
- adbd root/unroot/remount support added for non-Android targets
- android-gadget-setup updated to mount functionfs with uid/gid ownership
so the unprivileged adbd can access the FunctionFS endpoints
- Depends on new android-libboringssl recipe for BoringSSL shared libraries
- android-tools-adbd.service uses Type=notify so systemd waits for adbd's
sd_notify READY=1 before proceeding with ExecStartPost
- android-gadget-start now respects ANDROID_GADGET_UDC_DELAY (default 10s
for non-systemd paths); the configfs drop-in sets it to 0 since adbd has
already signalled readiness before ExecStartPost runs, eliminating the
fixed delay on restart
Tested on Raspberry Pi 4B (MACHINE=raspberrypi4-64) with USB-C OTG port,
openembedded-core main branch, meta-openembedded master-next, kernel 6.12:
- adb devices: device enumerated as 18d1:d002
- adb shell: connection as unprivileged adb user
- adb root / adb unroot: privilege escalation and drop
- adb reboot: device reboot via adb
- adb forward: SSH tunnel through ADB verified
- oe-run-native android-tools-native adb / fastboot: native host tools build
Note: adbd only starts when /etc/usb-debugging-enabled exists on the target
(ConditionPathExists in the service file). This is intentional — ADB is
disabled by default for security. Create the file at image build time or
at runtime to enable it.
Requires kernel config for USB gadget support (e.g. via a .cfg fragment):
CONFIG_USB_DWC2_DUAL_ROLE=y
CONFIG_USB_GADGET=y
CONFIG_USB_CONFIGFS=y
CONFIG_USB_F_FS=y
CONFIG_USB_CONFIGFS_F_FS=y
Requires in local.conf for RPi4:
RPI_EXTRA_CONFIG = "dtoverlay=dwc2,dr_mode=peripheral"
AI-Generated: Uses GitHub Copilot (Claude Sonnet 4.6)
Signed-off-by: Mihajlo Marinkovic <mmarinkovic@snap.com>
Tested-by: Etienne Cordonnier <ecordonnier@snap.com>
Co-authored-by: Etienne Cordonnier <ecordonnier@snap.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Add a recipe shipping the BoringSSL shared libraries required by
android-tools-adbd. BoringSSL is the TLS/crypto library used by adbd
for ADB authentication.
The libraries are installed under ${libdir}/android/ to avoid conflicting
with the system libcrypto/libssl in the sysroot. A SOVERSION=0 patch is
applied so Yocto's standard .so / .so.0 packaging split works correctly.
An ld.so.conf.d drop-in registers ${libdir}/android so binaries can find
the libraries at runtime.
This recipe is tightly coupled to android-tools: update it together when
upgrading android-tools to a new version.
AI-Generated: Uses GitHub Copilot (Claude Sonnet 4.6)
Signed-off-by: Mihajlo Marinkovic <mmarinkovic@snap.com>
Co-authored-by: Etienne Cordonnier <ecordonnier@snap.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 1.3.1:
- Use StarletteDeprecationWarning instead of DeprecationWarning
- Enforce max_fields and max_part_size in FormParser
- Enforce FormParser limits in parser callbacks
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Add recipe for release 2.4.0:
- Add HTTPXDeprecationWarning, a UserWarning subclass shown by default
so deprecations are visible without enabling warnings.
- Limit the number of chained Content-Encoding decoders to 5.
- Allow version 15 of rich in the cli extra.
- Parse an empty Digest auth realm without crashing.
- Decode IDNA labels in non-leading host positions.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Add recipe for release 1.26.1:
- Fixed: The highest_tag argument was ignored in Version.from_any_vcs()
- Fixed: Compatibility with Pijul 1.0.0-beta.11
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 40.23.0:
- Add French social security numbers with Corsican codes
- Fix typos in docstrings and comments
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 3.3.0:
- __all__ must be a sequence of strings: fix __init__.py and factory.py
- remove simplejson
- Add support for Python 3.14
- Remove EOL Python version support
- Update GH action versions for Node 24
- fix: convert dict features to Feature objects in FeatureCollection
Drop 0001-Allow-install-over-python-3.14-329.patch because it
has been applied in the upstream of the project.
License-Update: Update years
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 6.5.7:
- CurlAsyncHTTPClient now fully resets the curl object before reusing
it. This prevents incorrectly reusing options from a previous request,
specifically including client SSL and credentials used for accessing
proxies.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Add a new recipe for osbench, a collection of micro-benchmarks
to measure operating system primitives such as process creation,
thread creation, file operations, and memory allocation.
Signed-off-by: Ashwin Prabhakar <ashwin.prabhakar@qti.qualcomm.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Add a new recipe for ramspeed, a lightweight benchmark utility
that measures cache and memory bandwidth using a set of synthetic
tests.
Signed-off-by: Ashwin Prabhakar <ashwin.prabhakar@qti.qualcomm.com>
ramspeed: Add recipe for cache and memory benchmarking tool
Add a new recipe for ramspeed, a lightweight benchmark utility
that measures cache and memory bandwidth using a set of synthetic
tests.
Signed-off-by: Ashwin Prabhakar <ashwin.prabhakar@qti.qualcomm.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
GCC 16 requires std::set comparators to be callable on a const
comparator object. TaskManager::operator() is used as a comparator
but is not const-qualified, causing the build to fail.
Add the missing const qualifier to restore compatibility with GCC 16.
Link: https://github.com/deniskropp/DirectFB/issues/29
Signed-off-by: Hemanth Kumar M D <Hemanth.KumarMD@windriver.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>