The upgrade to 1.5.35 made ibus depend on the target libx11 for the X11
compose data that the compose table is generated from, so ibus, and with
it gnome-shell and gnome-control-center, can no longer be built without
x11:
ERROR: Nothing PROVIDES 'libx11' (but .../ibus_1.5.35.bb DEPENDS on or otherwise requires it)
The compose table is also used without X11. gen-internal-compose-table
reads ./Compose first, so copy it from libx11-native like before the
switch to meson.
AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
caps relies on GCC vector extensions that clang does not support, and
on the register storage class, which C++17 removed, so build it with
gcc when clang is the default toolchain.
AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
wvstreams relies on C++ that clang rejects, e.g. access to private and
incomplete nested classes, and so do its headers that wvdial includes.
Upstream is no longer maintained, so build both with gcc when clang is
the default toolchain.
AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
The x86 assembly aliases registers with .set, and clang's integrated
assembler can not infer the operand size from such aliases:
x86-sse2.S:124:9: error: ambiguous operand size for instruction 'add'
Define the aliases with the preprocessor instead.
AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
The juju backend uses variable length arrays in structs, a GCC
extension which clang does not support:
error: fields must have a constant size: 'variable length array in structure' extension will never be supported
Allocate the buffers with alloca() and use the flexible array members
of the kernel event structs instead.
AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
The version script lists all APIs, including the asymmetric cipher and
KPP ones that are only built with --enable-lib-asym/--enable-lib-kpp, so
lld fails with:
error: version script assignment of 'LIBKCAPI_0.12.0' to symbol 'kcapi_akcipher_init' failed: symbol not defined
Upstream prefers to keep a single version script for all configurations
[1], so allow undefined versioned symbols with lld.
[1] https://github.com/smuellerDD/libkcapi/issues/191
AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
The pam module version script lists pam_sm_chauthtok(), which
pam_wtmpdb does not implement, so lld fails with:
error: version script assignment of 'global' to symbol 'pam_sm_chauthtok' failed: symbol not defined
Drop it from the version script.
AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
The version script lists vorbis_comment_add() and
vorbis_comment_add_tag(), which tremor does not implement, so lld fails
with:
error: version script assignment of 'libvorbisidec.so.1' to symbol 'vorbis_comment_add' failed: symbol not defined
Drop them from the version script. It has CRLF line endings, which a
patch does not survive git am with, so use sed.
AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
getipnodebyname() and freehostent() are only interposed when the
platform has getipnodebyname(), which glibc and musl do not, but they
are always exported, so lld fails with:
error: version script assignment of 'global' to symbol 'freehostent' failed: symbol not defined
Only export them when configure finds getipnodebyname().
AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
The frame_x11_* functions are only built with the X11 backend, but the
version script always lists them, so lld fails without x11 with:
error: version script assignment of 'FRAME_2.2' to symbol 'frame_x11_new' failed: symbol not defined
Generate a version script without them when the X11 backend is disabled.
AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
The version script lists nfct_timeout_policy_unset(), which has never
been implemented, so lld fails with:
error: version script assignment of 'LIBNETFILTER_CTTIMEOUT_1.0' to symbol 'nfct_timeout_policy_unset' failed: symbol not defined
Drop it from the version script.
AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
ConsoleKit2 no longer requires X11, so use it for session tracking on
all non-systemd distros. NetworkManager only reads the ConsoleKit
session database, whose format is unchanged by ConsoleKit2 2.0.
AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
ConsoleKit2 2.0 uses bare session IDs ("Session1") instead of D-Bus
object paths both on D-Bus and in its session database, so polkit no
longer finds sessions when built with session_tracking=ConsoleKit.
Strip the object path returned by GetSessionForUnixProcess to the ID
and rebuild the path when calling into the session object.
The changed code is only exercised when ConsoleKit is running, so
apply the patch unconditionally.
AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
test_monitor_multiple_lines_by_name has the same race which was fixed
in test_monitor_all_lines_on_request: it toggles line foo twice, with
line xyz in between, before reading any event. gpio-sim delivers both
changes of foo as one interrupt when they happen before it is handled,
so the rising edge is lost:
ASSERT: '45056166795 falling "foo" 45056147828 rising "xyz"' did not
match '[0-9]+ rising\s+"foo"'
Wait for each event before triggering the next one. In a qemux86-64
guest this took the test from 13 of 20 runs failing to none, and
ptest-runner libgpiod passed 12 of 12 runs on the rebuilt image.
AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
test_monitor_all_lines_on_request toggles line 1 twice, with line 4 in
between, before reading any event. gpio-sim delivers both changes of
line 1 as one interrupt when they happen before it is handled, so the
rising edge is lost:
ASSERT: '41610700648 falling "foo" 41610665414 rising 4' did not
match '[0-9]+ rising\s+"foo"'
Wait for each event before triggering the next one. In a qemux86-64
guest this took the test from 12 of 20 runs failing to none.
AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
sdbus-c++-integration-tests fails intermittently in the ptest image on
qemuarm64 (qemu TCG, no KVM) when the build host is busy running other
testimage tasks:
- CallsMethodWithLargeArgument sends ~30 MB in one method call with the
default 25 second D-Bus timeout. That takes 13-16 s on an idle qemu
and 40-50 s under load, so it fails with
org.freedesktop.DBus.Error.Timeout. Use a 120 second timeout.
- ThrowsTimeoutErrorWhen{Method,ClientSideAsyncMethod}TimesOut require
the timeout error within 50 ms; under load it took up to 57 ms.
Allow 500 ms, still well below the 1 s operation the tests time out.
With both patches, 10 repeats of the integration tests under heavy
host and guest CPU contention pass; without them 4 of 10 failed.
AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Many tests, most of them in net, fail rather than skip when the kernel
lacks a feature they need (vxlan, geneve, macvlan, vrf, netdevsim, TLS,
tc actions and qdiscs, audit for the landlock tests, ...). Skip them
based on the running kernel's config, so the results show regressions
instead of the kernel configuration.
Also skip the udpgro tests when iptables can't set up NAT (legacy
iptables on a kernel with only nftables), tc-testing when scapy is not
installed, landlock's fs_bench, which only reports timings and needs
twice the default timeout in qemu, mseal's sysmap_is_sealed when the
kernel doesn't seal the system mappings, and the ptrace vmaccess and
tty_tiocsti tests, which check for kernel changes that are not in
mainline.
AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Add fixes for tests that fail on qemux86-64 because of bugs in the
tests, and make tests that fail when an optional kernel feature or
device is missing skip instead:
- core: unshare_test fails when fs.nr_open is at its maximum
- proc: proc-empty-vm treats pkey_alloc() ENOSPC as a failure, and
read fails when a task exits while it walks /proc
- sched: cs_prctl_test is not installed from the output directory and
fails without core scheduling
- gpio: gpio-mockup expects an empty range to be accepted, and
gpio-cdev-uaf fails without CONFIG_GPIO_CDEV_V1
- splice: short_splice_read fails without test_module
- syscall_user_dispatch: sud_benchmark needs a frame pointer
- lsm: lsm_get_self_attr_test checks the wrong errno and
lsm_list_modules_test fails without securityfs
- cgroup: test_cpu fails without CONFIG_CFS_BANDWIDTH
- binderfs: binderfs_stress fails without binderfs
- kvm: nx_huge_pages_test.sh fails without KVM
- watchdog: watchdog-test fails without a watchdog device
- net: udpgro_fwd.sh hangs the whole run without vxlan, and icmp.sh
fails without tcpdump
AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Many selftests modprobe what they need (gpio-mockup, netdevsim, vrf,
the tc qdiscs, classifiers and actions, ...), but the image only had a
couple of kernel modules, so recommend all of them.
The net tests also need real iproute2, iputils ping and ping6, ethtool,
iperf3, socat, jq, bc and taskset; busybox ip and ping lack most of the
options they use, and busybox's ping6 has no -M, which pmtu.sh picks up
over ping when it exists.
AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
The net selftests generate their netlink code with tools/net/ynl, which
needs the netlink specs from Documentation/netlink, python3 with pyyaml
and jsonschema, and the top-level MAINTAINERS file: ynl_gen_c.py finds
the kernel root by walking up until it sees MAINTAINERS and loops
forever when it is not there. libbpf needs elfutils and zlib,
reuseport_bpf_numa numactl and tcp_mmap openssl.
net/lib installs the whole ynl tree, so drop its build artifacts and
bytecode, which trip the staticdev and buildpaths QA checks, and pass
the prefix maps to clang so the BPF objects don't carry build paths
either.
The python tests load the netlink specs at runtime, so add pyyaml there
as well.
AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
run-ptest printed "PASS: kernel-selftest" or "[FAIL]: kernel-selftest".
The latter does not match the FAIL: pattern of the ptest log parser, so
whenever any selftest failed testimage reported no results at all:
ptests which had no test results:
['kernel-selftest']
Convert the per-test TAP lines from run_kselftest.sh into PASS:, FAIL:
and SKIP: lines, so results are recorded and failing selftests are
listed by name.
AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
These were dropped from SRC_URI in eb4d6ede5d (webmin: upgrade 2.641 -> 2.653) but the files were left behind:
init-exclude.patch
AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
These were dropped from SRC_URI in 13bafd2753 (nmap: upgrade 7.92 -> 7.99) but the files were left behind:
0003-Fix-off-by-one-overflow-in-the-IP-protocol-table.patch
nmap-redefine-the-python-library-dir.patch
AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
These were dropped from SRC_URI in 0fa0257275 (sysdig: upgrade 0.28.0 -> 0.39.0) but the files were left behind:
0001-update-cmake-Only-add-dependencies-when-we-bundle.patch
AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
These were dropped from SRC_URI in caf1d45b40 (glade: upgrade 3.36.0 -> 3.40.0) but the files were left behind:
CVE-2020-36774.patch
remove-yelp-help-rules-var.patch
AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
These were dropped from SRC_URI in ad0f53d2bb (postfix: upgrade 3.10.9 -> 3.11.2) but the files were left behind:
0001-makedefs-Account-for-linux-7.x-version.patch
AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
nbdkit_1.33.11.bb and its patch were left behind next to the current
recipe and are never selected since the newer version is preferred.
AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upstream removed the vendor directory (TUN-10829), so fetch the Go
modules through go-mod-update-modules like other Go recipes, with
cloudflared-go-mods.inc and cloudflared-licenses.inc generated by
bitbake -c update_modules. The licenses that could not be detected
automatically were identified by hand.
AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
ndpi: upgrade 5.0 -> 6.0
- Drop 0001-configure-Stop-embedding-pwd-at-configure-time.patch,
NDPI_BASE_DIR is gone upstream.
ntopng: upgrade 6.6 -> 7.0
- Drop 0001-Fix-build-with-OpenSSL-4.0.patch, CVE-2026-84990.patch and
CVE-2026-86090-CVE-2026-86091.patch, included in this release.
- Refresh the remaining patches.
They are upgraded together as ntopng 7.0 is built against nDPI 6.0.
AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Update the drbd-headers submodule revision to the one used by the
v9.35.0 tag and refresh 0001-fix-the-hardcoded-legacy-helper-path.patch.
AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Drop the memset_explicit backports, included in this release, and
refresh 0003-Add-config-option-without-valgrind.patch.
The bundled talloc, tevent and tdb versions are unchanged (2.5.0,
0.17.2, 1.4.15).
AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Refresh 0001-Fix-pkgconfig-dir-for-multilib.patch through
0005-Do-not-treat-warnings-as-errors-with-clang.patch; the memory tests
were rewritten and no longer need the scanf fix.
The policy manager unit test now gets its build directory from a CMake
compile definition instead of policy_manager_impl_unit_test_macro.hpp,
so point that at the installed test directory to avoid embedding ${B}.
AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
gtk2 support was removed and gtk4 added, and --with-gtkmm was split
into gtkmm3/gtkmm4; adjust the configure options and use gtk+3 for x11.
AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
The wireshark dissector is now built by default and needs
wireshark >= 4.6.0; add a wireshark PACKAGECONFIG, off by default.
AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
gtk-doc was replaced by gi-docgen, drop the gtk-doc class and disable
the new docs, introspection and litmus options. Set the new sysusers and
udev rules directories, and derive the download directory from PV.
AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Drop 0010-autofs-5.1.9-Fix-incompatible-function-pointer-types.patch,
included in this release, and refresh
0006-Do-not-hardcode-path-for-pkg.m4.patch.
AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Drop CVE-2026-35091.patch and CVE-2026-35092.patch, included in this
release.
AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Refresh 0001-Remove-use-of-variables-indicating-buildtime-informa.patch,
upstream already dropped the build date and host name; only the configure
invocation remains.
AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
COPYING.GPL2 was updated to the current GPL-2.0 text (FSF address
replaced by a URL); the license is unchanged.
AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>