Commit Graph
40202 Commits
Author SHA1 Message Date
Khem Raj 0d404d8ab3 python3-pylint: fix crash with astroid >= 4.2
pylint 4.0.8 passes asname=False to Import.infer(), a keyword argument
astroid 4.2 removed. With the astroid 4.3.1 in meta-python this makes
pylint crash on any import of a missing submodule:

  TypeError: NodeNG.infer() got an unexpected keyword argument 'asname'

which shows up in ptest as astroid-error in three functional tests:

  FAIL: tests/test_functional.py:test_functional[fallback_import_enabled]
  FAIL: tests/test_functional.py:test_functional[import_error]
  FAIL: tests/test_functional.py:test_functional[no_name_in_module]

Backport the pylint/ part of upstream commit 554b1d192434 ("Bump
astroid to 4.2.0b4"), which drops the argument.

meta-python-image-ptest-python3-pylint on qemux86-64 now passes
872 tests with none failing.

AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-09-12 16:52:16 -07:00
Khem Raj 084f3411c7 python3-dnspython: skip DDR tests when DDR is not available
test_basic_ddr_sync and test_basic_ddr_async only check that the
Internet is reachable. On networks that intercept port 53, 1.1.1.1 and
8.8.8.8 still answer ordinary queries but return NXDOMAIN for
_dns.resolver.arpa SVCB, so try_ddr() cannot upgrade the nameservers
and the tests fail:

  FAIL: tests/test_ddr.py:test_basic_ddr_sync
  FAIL: tests/test_ddr.py:test_basic_ddr_async
  assert isinstance('1.1.1.1', dns.nameserver.Nameserver)

Add a patch to skip them unless both resolvers return DDR SVCB records.

AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-09-12 16:52:16 -07:00
Khem Raj 9bfe6f0ea9 python3-fastnumbers: fix denoise of large floats when built with clang
float_as_int_without_noise() returns early when the floored value fits
in a long, checking it with floor_val == static_cast<long>(floor_val).
For values outside the range of long the conversion is undefined
behavior; clang -O2 folds the round trip into "floor_val is integral",
which is always true, so the denoising is skipped:

  FAIL: tests/test_fastnumbers_examples.py:test_try_real
  FAIL: tests/test_fastnumbers_examples.py:test_try_forceint
  assert 3452999999999999737856 == 3453000000000000000000

Add a patch that only does the conversion when the value is in range.
A reduced reproducer returns the wrong answer with the recipe's clang++
at -O2 and the right one with the fix (and with -O0 or gcc).

AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-09-12 16:52:16 -07:00
Khem Raj 549be445de python3-glances: install config and test data for ptest
tests/test_core.py runs glances with ./conf/glances.conf and reads plugin
test data from ./tests-data, both relative to the ptest directory.
Neither was installed, and tests-data is not part of the pypi sdist, so
four tests failed:

  test_023_get_alert: AssertionError: 'DEFAULT' != 'OK_LOG'
  test_025_npu: IndexError: list index out of range
  test_026_mpp: AssertionError: 0 != 3 : Expected 3 MPP engines
  test_108_fs_zfs_: AssertionError: False is not true

Fetch tests-data from the v4.5.6 tag and install it, together with
conf/, next to the tests. Only tests-data/plugins is used by the tests.

With these in place tests/test_core.py passes 52/52 on qemux86-64.

AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-09-12 16:52:16 -07:00
Khem Raj 9ed32b0779 python3-betamax: skip the live-network hook tests in ptest
tests/integration/test_hooks.py records live https://httpbin.org
requests (no cassettes are shipped for them), so the ptest fails
whenever the service resets the connection, e.g.:

  FAIL: tests/integration/test_hooks.py:TestHooks.test_post_start_hook
  requests.exceptions.ConnectionError: ('Connection aborted.',
    ConnectionResetError(104, 'Connection reset by peer'))

The same tests pass when the service behaves (3 out of 3 runs in a
qemux86-64 VM), so they are flaky rather than broken. Leave them out
of the ptest run.

AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-09-12 16:52:15 -07:00
Khem Raj 43b79d8e37 bcc: Skip the buildpaths HOME check for upstream example text
bcc's tools/funccount_example.txt documents tracing a binary that
upstream placed under /home/ubuntu:

  # ./funccount -p 1442 /home/ubuntu/contentions:*
  Tracing 15 functions for "/home/ubuntu/contentions:*"...
  If /home/ubuntu is in the $PATH, then the following command will also work:

That is documentation prose, not a leaked build path, but the buildpaths
QA check flags any packaged file containing the builder's HOME, so on a
host whose HOME is /home/ubuntu it warns twice - once for the copy in
${datadir}/bcc/tools/doc and once for the copy do_install_ptest places
in ${libdir}/tools:

  WARNING: bcc-0.37.0-r0 do_package_qa: QA Issue: File
  /usr/share/bcc/tools/doc/funccount_example.txt in package bcc contains
  a reference to the build host HOME directory. [buildpaths]
  WARNING: bcc-0.37.0-r0 do_package_qa: QA Issue: File
  /usr/lib/tools/funccount_example.txt in package bcc-ptest contains a
  reference to the build host HOME directory. [buildpaths]

Both packaged copies are byte identical to the file in the upstream tree
and contain no reference to TMPDIR, confirming nothing is baked in at
build time. Set OEQA_BUILDPATHS_SKIP as the QA message suggests, which
suppresses only the HOME half of the check; the TMPDIR half still guards
against real build path leaks. oe-core does the same for sudo, perl,
python3-numpy and python3-pytest.

Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-09-11 22:47:22 -07:00
Khem Raj 9975d3e602 libdata-hexdump-perl: Drop the dangling hexdump alternative
Data-HexDump 0.02 installed a "hexdump" script via EXE_FILES in
Makefile.PL, so registering ${bindir}/hexdump with update-alternatives
was correct. Upstream 0.02_01 moved that script to eg/ and dropped
EXE_FILES:

    * Moved hexdump script to eg/, so it won't be installed.
      Addresses RT#123224 from KENTNL.

so since the 0.02 -> 0.04 upgrade the package installs nothing but
Data/HexDump.pm and the alternative refers to a file that is never
created:

  WARNING: libdata-hexdump-perl-0.04-r0 do_package: libdata-hexdump-perl:
  alternative target (/usr/bin/hexdump or /usr/bin/hexdump.libdata-hexdump-perl)
  does not exist, skipping...
  WARNING: libdata-hexdump-perl-0.04-r0 do_package: libdata-hexdump-perl:
  NOT adding alternative provide /usr/bin/hexdump:
  /usr/bin/hexdump.libdata-hexdump-perl does not exist
  WARNING: libdata-hexdump-perl-0.04-r0 do_package: libdata-hexdump-perl:
  alt_link == alt_target: /usr/bin/hexdump == /usr/bin/hexdump

Drop the update-alternatives inherit and its settings to match what the
recipe actually ships. The eg/hexdump example is deliberately not
installed upstream, and util-linux/busybox already provide hexdump.
Packaged file lists are unchanged; the package no longer carries the
dead update-alternatives postinst/prerm.

Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-09-11 22:47:22 -07:00
Khem Raj 3c2d01f898 polkit-group-rule: Set S to UNPACKDIR
It only install local files from SRC_URI, so nothing is ever
unpacked into ${UNPACKDIR}/${BP} and the default S never exists, making
do_unpack warn for each of them:

  WARNING: polkit-group-rule-datetime-1.0-r0 do_unpack:
  polkit-group-rule-datetime: the directory ${UNPACKDIR}/${BP} pointed
  to by the S variable doesn't exist - please set S within the recipe to
  point to where the source has been unpacked to

Point S at ${UNPACKDIR} in the shared include, which is what oe-core
does for file-only recipes such as init-ifupdown and keymaps. This
covers polkit-group-rule-{datetime,network,udisks2} in one place; the
do_install tasks already reference ${UNPACKDIR} directly, so packaging
is unchanged.

Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-09-11 22:47:22 -07:00
Khem Raj 70144b3c9a sedutil: upgrade to 1.49.13
The 1.4x releases are cut on the "develop" branch,

Add UPSTREAM_CHECK_GITTAGREGEX to keep the version check sane.

The release needs a few adjustments beyond the version bump:

 * linux/DtaLinux.cpp now includes <systemd/sd-device.h> and
   <nvme/types.h> unconditionally, and Makefile.am hardcodes
   LDADD = -lsystemd, with no non-systemd fallback. Add the systemd and
   libnvme dependencies (matching the package list in the BUILDING file)
   and require the systemd distro feature.

 * Makefile.am declares .INTERMEDIATE, which automake defines itself in
   distdir.am, and configure.ac uses AM_INIT_AUTOMAKE([-Wall -Werror]),
   so autoreconf fails with automake 1.19:

     automake: warnings are treated as errors
     Makefile.am:152: warning: user target '.INTERMEDIATE' defined here ...
     .../am/distdir.am: ... overrides Automake target '.INTERMEDIATE' defined here

   Add a patch dropping the declaration.

 * Clear WERROR so that upstream's -Werror does not turn new compiler
   diagnostics into build failures. clang 23 enables -Wunused-template,
   which fires on the deliberately unused sd_device_new_from_devname()
   SFINAE fallback.

 * Generate linux/Version.h up front instead of letting Makefile.am run
   "git describe --dirty", which needs git at build time and reports
   "1.49.13-dirty" because do_patch leaves the tree modified.

Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-09-11 22:47:22 -07:00
Khem Raj ff240ccd2c synergy: fix build with OpenSSL 4
TLSv1_2_server_method() and TLSv1_2_client_method() were deprecated in
OpenSSL 1.1.0 and removed in OpenSSL 4.0, so do_compile fails:

  SecureSocket.cpp:386:18: error: use of undeclared identifier 'TLSv1_2_server_method'; did you mean 'TLS_server_method'?
  SecureSocket.cpp:389:18: error: use of undeclared identifier 'TLSv1_2_client_method'; did you mean 'TLS_client_method'?

Backport the two upstream commits that deal with this, neither of which
is in the v1.10.1 SRCREV pinned here - they first shipped in v1.11.0:

  4fea67e078479cc00afe6b1201c54c997a41fc70
    "#6390 Updated OpenSSL For better security with TLS1.3"
  4d3cf2c6 "Preventing older insecure version of TLS/SSL"

The first swaps the removed version specific methods for the version
flexible ones; the second restores the TLS 1.2 floor with
SSL_CTX_set_options(). Both are needed: the first on its own silently
drops the minimum version the original code deliberately enforced, for
the PCI compliance reasons its comment describes. Since TLS 1.3 can now
be negotiated, the hardcoded "TLSv1.2" reported to the user is replaced
with the version actually in use, retiring k_tlsString.

Upgrading the recipe instead is not an option today. Upstream renamed the
repository to symless/synergy and the latest release, v1.20.4, is the
rebranded deskflow codebase with a different cmake layout, a Qt6 GUI and
a changed LICENSE; more importantly it hard requires the ext/synergy-extra
submodule, declared with an ssh URL and carrying no license at all, and
its cmake aborts without it. That has been true since v1.16.x. No pending
upstream pull request addresses the build failure either, since upstream
fixed it in tree back in 2019.

The backport differs from upstream in two intentional ways, both noted in
the patch: upstream's pre-1.1.0 fallback defines the client method to
SSLv23_server_method, and upstream sets the context options before
checking SSL_CTX_new() for NULL.

AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2026-09-11 22:47:21 -07:00
Khem Raj 33d910cca2 imx-cst: fix remaining build failures with OpenSSL 4
Two more OpenSSL 4.0 breakages on top of the ASN.1 opacity already
handled by 0012-fix-openssl-4-asn1-opaque.patch.

The ENGINE API is gone. <openssl/engine.h> is still shipped as a
source-compatibility stub, so linking fails on ENGINE_free,
ENGINE_load_builtin_engines, ENGINE_by_id, ENGINE_init, ENGINE_finish,
ENGINE_ctrl_cmd and ENGINE_load_private_key. Define OPENSSL_ENGINE_STUBS,
which OpenSSL 4 provides for exactly this case: the declarations become
inline no-ops returning failure, so the file compiles and links unchanged.
OPENSSL_SUPPRESS_DEPRECATED is already defined there, so the stubs'
deprecation attributes do not trip -Werror. That leaves ENGINE_by_id()
returning NULL, which the existing code fed straight into ENGINE_init() -
a NULL dereference predating OpenSSL 4 - so check it and report what went
wrong, mentioning OpenSSL 4 so the failure is not mistaken for a missing
module. PKCS#11 backed signing genuinely is unavailable there, as no
provider exposes an equivalent of the pkcs11 engine's LOAD_CERT_CTRL.

X509_get_subject_name() now returns const X509_NAME *, so its result can
no longer be the destination of X509_NAME_add_entry_by_txt():

  src/tools/pki_tree/pki_helper.c:440:10: error: assigning to 'X509_NAME *' from 'const X509_NAME *' discards qualifiers

There is no mutable counterpart, so build the subject name standalone and
install it with X509_set_subject_name(); both setters copy it, so it is
freed once the issuer name has been set from it too.

AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2026-09-11 22:47:21 -07:00
Khem Raj 5bdb6cac38 extract-cert: fix build with OpenSSL 4
OpenSSL 4.0 removed the ENGINE API. <openssl/engine.h> still exists as a
source-compatibility stub, so both binaries fail to link:

  ld.lld: error: undefined symbol: ENGINE_load_builtin_engines
  ld.lld: error: undefined symbol: ENGINE_by_id
  ld.lld: error: undefined symbol: ENGINE_init
  ld.lld: error: undefined symbol: ENGINE_ctrl_cmd_string
  ld.lld: error: undefined symbol: ENGINE_load_public_key

The ENGINE use is confined to the "pkcs11:" input branch of each tool, so
compile that branch out on OpenSSL 4 and diagnose the unsupported input
instead. Reading certificates and public keys from PEM files, which is
what the kernel build and most other users do, is unaffected.

Providers supersede engines, but none exposes an equivalent of the pkcs11
engine's LOAD_CERT_CTRL command, so there is nothing to port to yet.

AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2026-09-11 22:47:21 -07:00
Khem Raj 7864484276 wvstreams: fix build with OpenSSL 4
OpenSSL 4.0 breaks the X.509 code in two ways: struct asn1_string_st is
opaque, so ASN1_INTEGER / ASN1_OCTET_STRING / ASN1_BIT_STRING / ASN1_TIME
can no longer be dereferenced, and X509_get_ext(),
X509_EXTENSION_get_data(), X509_get0_pubkey_bitstr(),
X509_get_subject_name(), X509_get_issuer_name() and
X509_REQ_get_subject_name() all gained const.

Switch to the ASN1_STRING_get0_data() / ASN1_STRING_length() /
ASN1_STRING_type() accessors, available since OpenSSL 1.1.0, and
propagate const to the locals that only read through those pointers.

Three call sites needed a mutable X509_NAME: they fetched the existing
name, edited it in place and installed it again. The getters have no
mutable counterpart, so duplicate with X509_NAME_dup(), edit the copy and
free it once the setter has taken its own copy, preserving the previous
behaviour of merging into the existing DN.

AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2026-09-11 22:47:21 -07:00
Khem Raj 2bf3b37303 mutter: only enable desktop OpenGL when x11 is in DISTRO_FEATURES
mutter fails to configure on a wayland-only distro configuration:

  Run-time dependency gl found: NO  (tried pkg-config and system)
  ../sources/mutter-50.4/meson.build:191:11: ERROR: Dependency "gl" not found (tried pkg-config and system)

The recipe enabled the opengl PACKAGECONFIG unconditionally, which
passes -Dopengl=true and makes meson require desktop OpenGL:

  have_gl = get_option('opengl')
  if have_gl
    gl_dep = dependency('gl')

Desktop GL is not available here. libGL.so and gl.pc are products of
mesa's GLX library - see FILES:libgl-mesa-dev in mesa.inc - and mesa
only builds GLX when its x11 PACKAGECONFIG is on, since
PACKAGECONFIG[x11] passes -Dglx=disabled when it is off. Without x11 in
DISTRO_FEATURES mesa is therefore configured -Dopengl=true -Dglx=disabled
-Dplatforms='wayland' and stages only egl.pc, glesv1_cm.pc and
glesv2.pc, with no libGL and no gl.pc.

The dependency looked satisfied because mesa PROVIDES virtual/libgl
unconditionally, so the virtual/libgl entry in PACKAGECONFIG[opengl]
resolves at the bitbake level even though nothing ever lands in the
sysroot. mesa also installs the GL/*.h headers regardless of GLX, so
meson's 'system' fallback clears the header probe before failing on the
missing library.

mutter builds fine against GLESv2 alone - it only errors out if neither
GL nor GLES2 is enabled - and egl plus gles2 are already enabled here,
which is the usual configuration for a wayland-only compositor. Gate
opengl on x11 so it follows the same condition that decides whether
desktop GL exists at all; x11 builds are unaffected.

AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2026-09-11 22:47:21 -07:00
Khem Raj a682b34999 gnome-disk-utility: fix build without x11 in DISTRO_FEATURES
gnome-disk-utility 46.1 fails to build on a wayland-only distro
configuration (no x11 in DISTRO_FEATURES) for three separate reasons,
all of them latent X11 assumptions in the GTK3 code line.

do_configure fails first:

  Run-time dependency libcanberra-gtk3 found: NO (tried pkg-config)
  meson.build:75:18: ERROR: Dependency "libcanberra-gtk3" not found

meson.build requires libcanberra-gtk3 unconditionally, but
libcanberra's gtk3 support is itself X11-only (its configure.ac does
PKG_CHECK_MODULES(GTK3, [gtk+-3.0 ... gdk-3.0 x11]), the sources use
gdk_x11_get_xatom_by_name_for_display()/GDK_WINDOW_XID, and
libcanberra-gtk3.pc links -lX11), so the meta-oe recipe correctly
leaves the gtk3 PACKAGECONFIG off here and the dependency can never be
satisfied. Drop it, along with the three ca_gtk_play_for_widget() sound
effect call sites; upstream removed libcanberra entirely by the same
route after 46.1 was released.

Once that is out of the way do_compile fails on the X11 backend header:

  gdupasswordstrengthwidget.c:14:10: fatal error: 'gdk/gdkx.h' file not found
  gduvolumegrid.c:14:10: fatal error: 'gdk/gdkx.h' file not found
  gduestimator.c:14:10: fatal error: 'gdk/gdkx.h' file not found

gtk+3 only installs gdk/gdkx.h when its X11 backend is enabled. None of
these three files calls any X11-specific GDK API, so the include is
simply dead weight and can be dropped.

Neither fix is available upstream for this code line: the GTK4 /
libadwaita rewrite deleted or renamed the affected files rather than
fixing them, and no in-flight merge request touches the GTK3 sources
that 46.1 still builds. 46.1 remains the latest stable release.

AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2026-09-11 22:47:21 -07:00
Khem Raj e43f9ef8c9 bit7z: Fix build with clang
The 4.1.0 upgrade added two CXXFLAGS that only work with GCC, which
breaks the clang build of the testsuite (BIT7Z_WARNINGS_AS_ERRORS
defaults to BIT7Z_BUILD_TESTS, so -Werror is on whenever ptest is
enabled).

  error: unknown warning option '-Wno-sfinae-incomplete'; did you mean
    '-Wno-delete-incomplete'? [-Werror,-Wunknown-warning-option]

-Wsfinae-incomplete is a GCC 15+ diagnostic that clang does not have, so
only pass it when building with GCC.

  cpm_cache/ghc_filesystem/include/ghc/filesystem.hpp:4090:41: error:
    implicit conversion changes signedness: 'int' to 'mode_t'
    (aka 'unsigned int') [-Werror,-Wsign-conversion]

Upstream declares the ghc::filesystem include directory as a SYSTEM one
(target_include_directories(ghc_filesystem SYSTEM INTERFACE ...) in
cmake/Dependencies.cmake), which keeps warnings from that header quiet.
Passing it as a plain -I undoes that, so use -isystem instead.

There is nothing to upgrade to here, 4.1.0 is the latest release and
upstream master is a single documentation commit ahead of it.

Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-09-11 22:47:21 -07:00
Leon Anavi cd5b66b5d9 bit7z: Upgrade 4.0.12 -> 4.1.0
Upgrade to release 4.1.0:

- Nested archives support: the new BitNestedArchiveReader class
  lets you open and inspect archives that are embedded as items
  inside another archive, without extracting them to disk first.
- Native file I/O: file streams have been rewritten to use
  low-level Win32 APIs on Windows and POSIX I/O on Unix, replacing
  std::fstream. This dramatically improves the performance of both
  extraction and compression operations.
- New extraction callbacks: RenameCallback (dynamically rename or
  skip items during extraction), RawDataCallback (stream raw bytes
  directly to user code without touching the filesystem), and
  BufferCallback (route each extracted file to a separate,
  independently chosen buffer) unlock extraction patterns that were
  previously impossible.
- Multi-volume LRU file-handle cache: when reading or creating
  large multi-volume archives, bit7z now keeps only the most
  recently used volume file handles open, preventing file
  descriptor exhaustion on archives with many volumes.
- Timestamp control: two complementary additions give full control
  over timestamps when creating archives. BitAbstractArchiveCreator
  gains setStoreLastWriteTime(), setStoreCreationTime(), and
  setStoreLastAccessTime() to control which timestamp types are
  stored globally (format support varies: 7z has the most complete
  support; TAR does not support creation/last-access timestamps).
  Additionally, BitOutputArchive::addFile() now returns a
  BitInputItem&, allowing per-item timestamp overrides via
  setCreationTime(), setLastWriteTime(), and setLastAccessTime().
- Deferred library loading: Bit7zLibraryLoader allows constructing
  a loader without immediately loading the 7-zip DLL/SO, then
  loading (and unloading) it at any later point. Useful for
  plugin systems and applications that need to control when the
  native library is brought in.
- Self-extracting (SFX) archive support (since beta): bit7z
  correctly handles SFX executables.
- Root-folder extraction (since beta): extract the contents of an
  archive's single top-level folder without knowing its name in
  advance.
- Locked-file compression (since beta): the new setStoreOpenFiles()
  setting on BitAbstractArchiveCreator opens files with shared
  read/write access on Windows, mirroring 7-Zip's -ssw switch, so
  you can archive files another process holds open for writing
  instead of failing with "access denied". No effect on non-Windows
  platforms.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-09-11 22:47:20 -07:00
Ross Burton fff60c4b27 tomcli: add new recipe
tomcli is a CLI for working with TOML files.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-09-11 22:47:20 -07:00
Leon Anavi 2cc8afea83 bitwise: Upgrade 0.50 -> 0.70
Upgrade to release 0.70:

- this release changes how &, ^ and | bind against each other. If
  you have expressions that mix them without parentheses, check
  them: 3 ^ 1 & 2 now gives 3, the same as a C compiler, where
  earlier releases gave 2.

Enhancements:

- Unary plus and minus in expressions: -5, 5 * -2 and 10 - -2
  evaluate instead of being rejected. On the command line, separate
  a leading minus with --: bitwise -- '-5'
- README documents the operators that actually exist, with their
  precedence, and which C operators are not supported
- Added CONTRIBUTING.md, and filled in ChangeLog, NEWS and AUTHORS

Bug Fixes:

- &, ^ and | now have the C precedence order, where & and ^ used to
  share a level
- Numbers that don't parse cleanly are now refused instead of
  guessing: 12a used to evaluate as 12, a bare 0x or 0b as 0, and a
  literal past UINT64_MAX as UINT64_MAX
- Shifts and BIT() at or past the width of the value give 0, instead
  of an answer computed from a masked shift count: 1 << 64 used to
  be 1, and 1 << 200 used to be 256
- Fixed a stack buffer overflow on tokens longer than 64 characters,
  reachable from both the command line and the : prompt
- Radix64 output now matches the system l64a(); a fallback shim was
  overriding libc and printing a different alphabet
- Parse errors no longer corrupt the curses display
- Fixed the ASCII line of the conversion output on big-endian hosts

Build and testing:

- make distcheck works; VPATH builds could not find the headers in
  inc/ at all
- -Wall -Wextra are on by default, and --enable-asan, --enable-ubsan
  and --enable-fuzzer join the existing options
- Tests for number parsing, shift edges and long tokens, plus a
  libFuzzer harness over the expression parser
- CI builds on Linux, macOS and Windows/msys2, and runs distcheck,
  the sanitizers and a bounded fuzzing run on every push

Drop 0001-makefile.am-Fix-build-when-build-dir-is-not-same-as-.patch
because v0.70 Makefile.am already includes a similar fix to put
$(top_srcdir)/inc on the include path from git commit f4b9fa1.

Fix Big-endian and Little-endian output in ptest.out.expected.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-09-11 07:44:21 -07:00
Markus Volk 10ace918c2 wireplumber: update 0.5.15 -> 0.5.17
0.5.16 is skipped because it contains a regression that broke object
destruction in the monitor scripts; upstream recommends to avoid it.

WirePlumber 0.5.17
~~~~~~~~~~~~~~~~~~

Fixes:

  - Fixed factory-created device, node and link objects to stop sharing
    ownership with their registry global, fixing a regression from the
    ``WpClientContext`` introduced in 0.5.16 that broke proper object
    destruction in the monitor scripts (#999; !890, !891)

  - Improved ``default-nodes`` to also rank on the object.serial of a node's
    device and on the node's own object.serial, so that route priorities are
    only compared between nodes of the same card, and the election no longer
    changes for no apparent reason when all other keys are equal (!893)

  - Fixed ``m-lua-scripting`` to include the offending Lua type name in POD
    build errors (!889)

WirePlumber 0.5.16
~~~~~~~~~~~~~~~~~~

Additions & Enhancements:

  - Added ``WpClientContext``, a second PipeWire connection running on its own
    thread that hosts WirePlumber's in-process media objects (loopback and
    filter-chain modules, ``LocalNode()``, ``SpaDevice()``), so that slow Lua
    event hooks on the main thread no longer stall their control path; the
    export core is retired in favor of this new client context (!873)

  - Added new ``WpDynamicRules`` class for matching rules with conditions, and
    updated ``filter-graph.lua`` to use it, allowing filter-graphs to be loaded
    and unloaded dynamically depending on whether other objects exist or not
    (!872)

  - Added ``wp_impl_module_unload()`` and ``LocalModule:unload()``, giving
    scripts control to unload implemented modules at any time (!881)

  - Added a ``volume-set`` action to ``module-mpris`` to allow adjusting the
    volume of a remote MPRIS2 player from Lua (!860)

  - Added ``--yes`` flag to ``wpctl reset`` to skip the confirmation prompt
    (!850)

  - Added ``device.form-factor`` ALSA node property for use in ALSA rules, and
    made HDMI node descriptions include the name of the connected display when
    available (!862, !874)

  - Refactored the Bluetooth monitor to use event hooks for handling devices
    and nodes, matching the design already used by the v4l2 and libcamera
    monitors (#916; !803)

  - Overhauled the documentation: filled in every stub and missing Lua API and
    C API page, added a getting started guide, new ``wireplumber(1)`` and
    ``wpexec(1)`` man pages, and removed stale pages describing features
    renamed or removed in the 0.4 to 0.5 transition (!877)

Fixes:

  - Fixed monitors to always activate all device and node features, and made
    monitors wait for successful device activation before storing the devices
    and nodes as a managed objects (#986, #996; !883, !886, !876)

  - Fixed ``find-preferred-profile`` to skip a configured preferred profile
    that is not available, instead of leaving no profile selected (#993; !884)

  - Fixed ``permission-manager`` to not include destroyed globals when
    rebuilding the permissions array on ``objects-changed``, fixing some
    pipewire warnings in the log (!882, !888)

  - Fixed a memory leak in ``WpSpaDevice`` by only collecting params from our
    own requests (#988; !879)

  - Fixed ``filter-graph`` to correctly apply graphs defined for the same node
    across multiple configuration files (!870)

  - Fixed several nil-related crashes and correctness issues in Lua scripts
    (#972; !861, !864, !866, !869)

  - Improved ``apply-access`` to directly attach an already-active permission
    manager to the client instead of wastefully re-running activation on it
    (#973; !868)

  - Improved ``state-stream`` change detection to avoid spurious state writes
    from volume rounding and from unset or empty properties (#974; !867)

  - Fixed ``default-nodes`` to ignore smart filters when selecting the best
    default node (!857)

  - Removed the ``node.filter.forward-format`` setting and its script, which
    only worked with 0.4 and never really worked with 0.5 (!878)

AI-Generated: Uses Claude Code (Claude Opus 5)
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-09-11 07:44:20 -07:00
Viswanath Kraleti 1a742957c1 libfastjson: switch git branch from master to main
Update SRC_URI to use the 'main' branch instead of 'master' since
the upstream GitHub repository has renamed its default branch.

Signed-off-by: Viswanath Kraleti <viswanath.kraleti@oss.qualcomm.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-09-11 07:44:20 -07:00
Markus Volk cbe2547e6d glycin: Install the loaders along with libglycin
libglycin spawns the sandboxed loader binaries from
${libexecdir}/glycin-loaders at runtime, so a rootfs that only carries
libglycin-2.so cannot decode a single image. Nothing pulled in the
loaders package, which left users of libglycin (gnome-shell wallpapers,
nautilus) without any decoder at all.

Let ${PN} rdepend on ${PN}-loaders whenever loaders are built, and make
the loaders -> thumbnailer dependency a recommendation so the runtime
dependency graph stays free of cycles.

Tested by rebuilding gnome-image: libglycin-2-loaders and
libglycin-2-thumbnailer are now part of the rootfs manifest and
/usr/libexec/glycin-loaders/ carries the image-rs, jxl and svg loaders.

AI-Generated: Uses Claude Code (Claude Opus 5)
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-09-11 07:44:20 -07:00
Khem Raj e588199a08 opensc: Fix libopensc link picking up build host libraries
libopensc failed to link:

  x86_64-yoe-linux-ld.lld: error: unable to find library -lgio-2.0
  x86_64-yoe-linux-ld.lld: error: unable to find library -lgobject-2.0

  libopensc_la_LINK = $(LIBTOOL) ... --tag=OBJC ... $(OBJCLD) ...

with OBJCLD = $(OBJC). The ENABLE_CRYPTOTOKENKIT conditional only keeps
the .m file out of the sources, automake still picks the linker
statically, so this happens on Linux too. AC_PROG_OBJC detects a bare
"x86_64-yoe-linux-clang" with none of the toolchain options, hence the
link ran without --sysroot:

  OBJC = x86_64-yoe-linux-clang
  CC   = ccache x86_64-yoe-linux-clang -target x86_64-yoe-linux ... \
         --sysroot=.../recipe-sysroot -std=gnu23

Point OBJC at the full CC

Also fix floating gio dependency: opensc's
--enable-notify defaults to "detect" and enables glib2 notification
support whenever gio-2.0 happens to be staged in the sysroot by some
other dependency

Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-09-11 07:44:20 -07:00
Alistair Francis 568103a64f python3-targetcli-fb: Initial commit
Initial support for verion 3.0.2 of python3-targetcli-fb.

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-09-11 07:08:00 -07:00
Markus Volk f6ca9b57d0 libsdl2-compat: add runtime dependency on libsdl3
libSDL2-2.0.so.0 from sdl2-compat lists only libc.so.6 as NEEDED and
loads libSDL3.so.0 through dlopen(), so shlibs does not generate a
runtime dependency on libsdl3. An image that installs an SDL2 consumer
without pulling in libsdl3 by other means therefore gets a library that
fails to initialize at runtime. This was seen with plasma-desktop, whose
game controller KCM links against SDL2 and made systemsettings fail to
start on an image that had no other SDL user.

Tested by checking readelf -d on the installed libSDL2-2.0.so.0 and by
rebuilding the package for corei7-64.

AI-Generated: Uses Claude Code (Claude Opus 5)
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-09-11 07:08:00 -07:00
Markus Volk b21bc99384 cups-pk-helper: fix localization of the polkit policy
The recipe carried a patch that commented out the i18n.merge_file()
call for org.opensuse.cupspkhelper.mechanism.policy and installed the
untranslated template in its place, so the polkit dialogs showed
English strings only and the 43 translations shipped in po/ were
discarded.

The merge failed because meson hands the data_dirs argument to its
msgfmthelper script, which replaces GETTEXTDATADIRS instead of
extending it. That hides the ITS rules polkit installs into the target
sysroot, which msgfmt needs to recognize the translatable elements of
a policy file, and which gettext.bbclass already points at.
cups-pk-helper ships no ITS rules of its own, so the argument has no
purpose beyond breaking the merge.

Replace the patch with one that drops data_dirs and keeps the merge
enabled, and remove the manual install of the template.

Tested by rebuilding for corei7-64: the installed policy file now
carries description and message elements for all 43 languages.

AI-Generated: Uses Claude Code (Claude Opus 5)
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-09-11 07:08:00 -07:00
Tillmann Severin 03420389ca polkit: Add a separate package for polkit systemd service/dbus config
Creates a separate package for the polkit systemd
service, such that other implementations for polkit
could be used instead of polkit on systemd enabled
systems, while still keeping polkit available. This
is especially helpful for software that depends on
polkit or its libraries etc, e.g. udisks2.

Also package dbus configuration into an own package

Signed-off-by: Tillmann Severin <tillmann.severin@bmw.de>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-09-11 07:08:00 -07:00
Leon Anavi badc36c77a fluentbit: Upgrade 5.0.9 -> 5.1.2
Upgrade to release 5.1.2:

- workflows: bump docker/setup-buildx-action from 4.2.0 to 4.3.0
- workflows: bump reviewdog/action-actionlint from 1.73.1 to 1.73.2
- workflows: bump github/codeql-action/upload-sarif from 4.37.6 to
  4.37.7
- workflows: bump uraimo/run-on-arch-action from 3.1.0 to 3.2.0
- workflows: bump github/codeql-action/upload-sarif from 4.37.7 to
  4.37.8
- in_node_exporter_metrics: Implement stat and thermal_zone for
  macOS
- out_prometheus_remote_write: Add 1-hour cut-off for expiring
  staled metrics
- out_splunk: add time_key support for the HEC event time
- Dockerfile: optimize layers
- config: fix startup abort when log_level set via env and config
- tests: runtime: Plug a SEGV occurrence on macOS
- out_gcs: add unify_tag option to buffer all tags into one file
- log: clamp the suppression length to what was written
- out_gcs: implement parquet compressions
- out_gcs: support application default credentials
- in_winevtlog: Plug a crash path
- in_winevtlog: fix crash when all channels are missing and
  ignore_missing_channels is enabled
- log: make consistency for suppress log feature
- es: opensearch: output: task: handle partial succeeded requests
- tests: runtime: Fix errors of incompatible types for in_ebpf
  tests
- filter_kubernetes: implement namespace exclude
- in_systemd: support capturing with namespace
- release: update to 5.1.2
- workflows: bump softprops/action-gh-release from 3.0.2 to 3.0.3
- workflows: bump github/codeql-action/upload-sarif from 4.37.8
  to 4.37.9
- lib: cmetrics: update to v2.2.2
- input_chunk: input_log: in_storage_backlog: address underflowing
  / overflowing chunk limit size
- out_azure_blob: Plug dangling pointers on exceptions
- out_azure_kusto: stop logging federated and access tokens
- out_gcs: add Workload Identity Federation support
- wamrc: Build with LLVM-17
- reload: preserve configuration path during hot reload
- out_s3: Clean up orphaned chunks
- config: config_format: address wrongly specified parameter on
  service section
- aws: compression: validate valid columnar formats
- multiline: add built-in json parser for JSON multiline objects
- engine: Plug a race on starting engine
- tests: integration: Adjust allocation patterns for Ubuntu 26.04
- workflows: bump helm/kind-action from 1.14.0 to 1.15.0
- workflows: bump reviewdog/action-actionlint from 1.73.2 to
  1.73.3
- workflows: bump docker/setup-qemu-action from 4.2.0 to 4.3.0
- out_opentelemetry: support metrics max datapoints
- AGENTS: Reflect circumstance of the current commit linter
- in_node_exporter_metrics: expire metrics for networking
- in_forward: ingest all metrics contexts in payload
- out_kafka: preserve infinite shutdown grace
- out_loki: scope remove_mpa thread-local cache per instance
- log: return NULL after flb_worker_context_create failure in
  flb_log_create
- in_node_exporter_metrics: plug possible overrun indexes
- packaging: stabilize Debian release images

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-09-11 07:07:59 -07:00
Alper Ak 523782f85c xcursorgen: add missing util-macros-native dependency
do_configure fails with:

  configure.ac:17: error: must install xorg-macros 1.8 or later before
  running autoconf/autogen

Signed-off-by: Alper Ak <alperyasinak1@gmail.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-09-11 07:07:59 -07:00
Khem Raj c2f9fb9496 opencv: Backport videoio fixes for ffmpeg 9
oe-core upgraded ffmpeg 8.1.2 -> 9.0, which removed the AVCodec::pix_fmts
and AVCodec::supported_framerates fields (deprecated since FFmpeg 7.1 /
libavcodec 61.13.100). opencv's videoio ffmpeg backend still reads both
of them directly in cap_ffmpeg_hw.hpp and cap_ffmpeg_impl.hpp, so it does
not build against ffmpeg 9.

Backport the merged upstream series from opencv/opencv#29533, which reads
those lists through avcodec_get_supported_config() when building against
libavcodec 61.13.100 or newer and keeps the old field access otherwise.
The series was merged on 2026-08-11, after the 4.14.0 tag (2026-07-17),
so it is not part of the release we build.

Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-09-11 07:07:59 -07:00
Alper Ak b183cb8a1c unbound: fix build with OpenSSL 4.0
do_compile fails with:

  keyraw.c:158:16: error: implicit declaration of function
  'EVP_PKEY_asn1_find_str'

The GOST code needs the OpenSSL ENGINE API, which 4.0 removed. configure
cannot run its GOST test when cross compiling and answers "maybe", which
enables GOST anyway. Make it check that the API is there first.

Nothing is lost by this and no layer ships a GOST engine, so the lookup
already returned 0 at runtime. gost-engine has not been ported to
providers yet [1].

[1] https://github.com/gost-engine/engine/issues/496

Signed-off-by: Alper Ak <alperyasinak1@gmail.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-09-11 07:07:59 -07:00
Khem Raj d0b74dcba3 spdm-emu: Switch default crypto backend to mbedtls and update to latest tip
The openssl backend no longer compiles against openssl 4.x. OpenSSL 4.0
made struct asn1_string_st opaque (asn1.h only forward declares it now),
while libspdm's cryptlib_openssl still reaches into ASN1_INTEGER and
ASN1_TIME members directly:

  libspdm/os_stub/cryptlib_openssl/pk/x509.c:814:51: error: incomplete
    definition of type 'ASN1_INTEGER' (aka 'struct asn1_string_st')
  libspdm/os_stub/cryptlib_openssl/pk/x509.c:1131:14: error: invalid
    application of 'sizeof' to an incomplete type 'ASN1_TIME'

make the crypto backend a PACKAGECONFIG choice and default to mbedtls,
which builds fine. openssl stays selectable for anyone still on openssl
3.x, and the two options are marked as mutually exclusive.

While at it, update SRCREV to the current tip of main, which carries 41
commits including a build refactor, TPM support, Linux kernel MCTP stack
support and several libspdm syncs.

Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-09-11 07:07:59 -07:00
Khem Raj e232f3dd0b ot-br-posix: Update to latest tip on trunk
Fixes build with clang-23, which enables -Wunused-template in a way that
trips over openthread's parse_cmdline.hpp. With -Werror -Wfatal-errors
that is fatal:

  third_party/openthread/repo/src/core/utils/parse_cmdline.hpp:240:48:
    fatal error: unused function template 'ParseAsHexString'
    [-Wunused-template]

Already fixed upstream in openthread commit 30c3569ac5ca ("[parse-cmdline]
make ParseAsHexString() inline"), which the openthread submodule of the
new SRCREV includes, so bump instead of carrying a backport.

Adapt the recipe to upstream changes made since the previous SRCREV:

 * ot-br-posix commit cf4877d68af8 ("[mdns] remove avahi publisher option
   and dependencies") deleted the avahi mDNS publisher; OTBR_MDNS=avahi
   is now a configure-time FATAL_ERROR. Switch to OTBR_MDNS=openthread,
   the new upstream default, and drop the avahi/avahi-daemon dependencies
   the same way upstream did in their own etc/yocto/otbr_git.bb.

 * The advertising and discovery proxies grew OT core implementations
   (OTBR_OT_SRP_ADV_PROXY, OTBR_OT_DISCOVERY_PROXY) which default to ON
   whenever OTBR_MDNS is set, and enabling both variants is now a
   FATAL_ERROR ("Only one Advertising Proxy can be enabled."). Drop the
   explicit OTBR_SRP_ADVERTISING_PROXY/OTBR_DNSSD_DISCOVERY_PROXY=ON so
   the OT core ones are used.

 * Drop 0001-otbr-agent.service.in-remove-pre-exec-hook-for-mdns-.patch.
   With OTBR_MDNS=openthread src/agent/CMakeLists.txt never sets
   EXEC_START_PRE, so the generated otbr-agent.service already has a bare
   ExecStart= and the patch has nothing left to do.

Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-09-11 07:07:59 -07:00
Khem Raj 0f78ae56a7 dlt-daemon: Fix build with clang-23
clang 23 added -Wunused-but-set-global, enabled by -Wall, and the build
uses -Werror -Wfatal-errors, so this is now a hard failure:

  src/lib/dlt_user.c:132:20: fatal error: variable
    'dlt_user_housekeeper_exit_requested' set but not used
    [-Wunused-but-set-global]
    132 | static atomic_bool dlt_user_housekeeper_exit_requested = false;

The diagnostic is pointing at a real bug: dlt_user_atexit_handler() sets
the flag to "Signal housekeeper thread to exit", but nothing ever reads
it, so the housekeeper thread only ever stops when dlt_stop_threads()
cancels it. Not fixed upstream, master still has the same dead store.

Add a patch checking the flag in the housekeeper loop condition. Leaving
the loop that way is equivalent to being cancelled, pthread_cleanup_pop(1)
at the end of the function runs dlt_user_cleanup_handler() either way.

Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-09-11 07:07:58 -07:00
Jason Schonberg 8dac658feb nodejs: upgrade 24.20.0 -> 24.21.0
Changelog: https://github.com/nodejs/node/releases/tag/v24.21.0

Signed-off-by: Jason Schonberg <schonm@gmail.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-09-11 07:07:58 -07:00
Khem Raj 0c37249cb3 mercurial: Fix build with python3 linked against openssl 4.x
mercurial's setup.py treats ssl.HAS_TLSv1_2 as authoritative and refuses
to build at all:

  The `ssl` module does not advertise support for TLS 1.2.
  Please make sure that your Python installation was compiled against an
  OpenSSL version enabling these features (likely this requires the
  OpenSSL version to be at least 1.0.1).

  ERROR: mercurial-7.2.4-r0 do_compile: Execution of .../run.do_compile
  failed with exit code 1

Add a patch which only trusts the flag with OpenSSL < 4.0, in setup.py
and in sslutil.supportedprotocols (which otherwise loses b'tls1.2' and
makes `hg debuginstall` under-report the available protocols).

Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-09-11 07:07:58 -07:00
Alper Ak 77bc6e2615 ntp: fix build with OpenSSL 4.0
do_compile fails with:

  ntp_crypto.c:2035:23: error: invalid use of incomplete typedef
  'ASN1_TIME' {aka 'const struct asn1_string_st'}

Signed-off-by: Alper Ak <alperyasinak1@gmail.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-09-11 07:07:58 -07:00
Alper Ak 11066da803 softhsm: fix build with OpenSSL 4.0
do_compile fails with:

  OSSLUtil.cpp:188:46: error: invalid use of incomplete type
  'ASN1_PRINTABLESTRING' {aka 'struct asn1_string_st'}

Backport the upstream fix. It was written for a memory leak, but it
moves to the ASN1_STRING accessors, which is also what OpenSSL 4 needs.

Signed-off-by: Alper Ak <alperyasinak1@gmail.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-09-11 07:07:58 -07:00
Alper Ak 6b7942fa8c ipmiutil: fix build with OpenSSL 4.0
do_compile fails with:

  lanplus_crypt_impl.c:233:24: error: storage size of 'ctx' isn't known

Signed-off-by: Alper Ak <alperyasinak1@gmail.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-09-11 07:07:58 -07:00
Alper Ak b18bcbb94a loudmouth: remove recipe
do_compile fails with OpenSSL 4.0:

  lm-ssl-openssl.c:281:92: error: invalid use of incomplete typedef
  'ASN1_IA5STRING' {aka 'struct asn1_string_st'}

This break is a three line change to the ASN1_STRING accessors, but
upstream is dead. The last release is 1.5.4 from January 2021 and the
last commit in the mcabber fork is from June 2022, so every future
toolchain or dependency change is ours to carry.

Nothing in any layer depends on it, the only reference was the meta-oe
packagegroup.

Signed-off-by: Alper Ak <alperyasinak1@gmail.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-09-11 07:07:58 -07:00
Alper Ak ea1ada6ee3 intel-speed-select: inherit pkgconfig
do_compile fails with:

  cc1: error: include location "/usr/include/libnl3" is unsafe for
  cross-compilation [-Werror=poison-system-directories]

The kernel tools Makefile gets the libnl flags from pkg-config. The
recipe does not inherit pkgconfig, so there is no PKG_CONFIG_SYSROOT_DIR
and the host pkg-config answers with the host include path.

Drop the manual CFLAGS entry, pkg-config now gives the same path.

Signed-off-by: Alper Ak <alperyasinak1@gmail.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-09-11 07:07:57 -07:00
Alper Ak 8c3a45cb38 xwd: append to DEPENDS instead of overwriting it
do_configure fails with:

  configure.ac:35: error: must install xorg-macros 1.8 or later before
  running autoconf/autogen

xorg-app-common.inc sets DEPENDS to "util-macros-native virtual/libx11",
but the recipe overwrites it, so util-macros-native never gets into the
sysroot. Append, like the other xorg-app recipes do.

Signed-off-by: Alper Ak <alperyasinak1@gmail.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-09-11 07:07:57 -07:00
Alper Ak b36e29a86f tailscale: upgrade 1.98.3 -> 1.102.3
do_compile fails with:

  alias.go:618:21: undefined: json.SkipFunc
  alias.go:957:14: undefined: json.DiscardUnknownMembers

Go 1.27 turns the jsonv2 experiment on by default, so the json module
pinned by 1.98.3 builds its alias file against encoding/json/v2 and
aliases symbols that are gone. 1.102.3 pins a newer module.

- Regenerate go module dependencies and license checksums
- Manually verify and complete Unknown license entries

Signed-off-by: Alper Ak <alperyasinak1@gmail.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-09-11 07:07:57 -07:00
Markus Volk 745132082c malcontent: pass the useradd options to every system user
USERADD_PARAM is a semicolon separated list of complete useradd
invocations. Only the first entry carried the options, so
malcontent-timerd and malcontent-webd were created with the useradd
defaults: regular UIDs from the user range, /bin/sh as shell and
/home/malcontent-timerd and /home/malcontent-webd created in the
rootfs. Upstream declares all three as system users without a home in
its sysusers.d fragments.

Repeat the options for each user and point the home of the two daemons
at the StateDirectory their units use, so no directory shows up under
/home.

Tested on corei7-64: the rootfs of plasma-image contains only the real
user under /home and all three accounts have system UIDs, /bin/false
and no home directory.

AI-Generated: Uses Claude Code (Claude Fable 5.1)
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-09-11 07:07:57 -07:00
Leon Anavi 7a196ffed9 7zip: Upgrade 26.02 -> 26.03
Upgrade to release 26.03:

- Improved support for Joliet ISO images and Compound archives.
- Some bugs and vulnerabilities were fixed.
- CVE-2026-58052 : 7-Zip failed to preserve the Mark-of-the-Web
  when extracting a crafted archive.

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-09-09 15:03:26 -07:00
Markus Volk c63d6054b7 cyrus-sasl: add login PACKAGECONFIG
The LOGIN mechanism is disabled by default in the configure script,
so libsasl2 clients fail with "no mechanism available" as soon as a
peer only offers AUTH LOGIN or the client is configured to use it.
Mail servers still commonly advertise AUTH LOGIN PLAIN and clients like
KMail default to LOGIN for SMTP transports. Debian, Fedora and Gentoo
all ship the plugin.

Add an opt-in PACKAGECONFIG that builds liblogin.so, off by default to
keep the current behaviour.

Tested on corei7-64 with the option enabled, liblogin.so is packaged
into ${libdir}/sasl2 next to the other mechanism plugins.

AI-Generated: Uses Claude Code (Claude Fable 5.1)
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-09-09 15:03:26 -07:00
Ross Burton cbec9a20d7 packagegroup-meta-python: remove python3-booleanpy
This was moved into oe-core, but it's entry in the packagegroup remained.

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2026-09-08 10:15:58 -07:00
Khem Raj 360aa84ea2 polkit-gnome: Fix build against gtk+3 without the X11 backend
0004-Use-fresh-X11-timestamps-when-displaying-authenticat.patch includes
gdk/gdkx.h unconditionally, which does not exist when gtk+3 is configured
without the X11 backend, as is the case on wayland only distros:

  polkitgnomeauthenticator.c:29:10: fatal error: 'gdk/gdkx.h' file not found

The patch already checks GDK_IS_X11_WINDOW() at runtime, but that is not
enough: the macro is declared in gdkx.h too, so the include and the
gdk_x11_get_server_time() call have to be compiled out as well. Guard both
with GDK_WINDOWING_X11 and keep gtk_window_present() as the non-X11 path.

Include gdk/gdk.h explicitly before the guard. GDK_WINDOWING_X11 comes from
gdkconfig.h and no gdk or gtk header is pulled in earlier in that file, so
without it the guard would always be false and X11 builds would silently
lose the fresh timestamp instead of failing to build.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2026-09-08 10:12:48 -07:00
Khem Raj fae7909234 pegtl: Fix build with clang-23
clang 23 enables -Wunused-template under plain -Wall, and every test in
src/test is compiled with -pedantic -Wall -Wextra -Wshadow -Werror, so the
whole test build fails:

  include/tao/pegtl/internal/match_impl.hpp:24:30: error: unused function
    template 'match_no_control' [-Werror,-Wunused-template]

match_no_control() is a namespace-scope static function template in a
header, so it has internal linkage in every translation unit. It is only
ever referenced from other templates, so in a TU where none of those get
instantiated it really is unused and clang says so.

Add a patch declaring the two overloads inline instead, which is the
correct linkage for a function template defined in a header.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2026-09-08 08:23:17 -07:00
Khem Raj 2eaf5f05b5 microsoft-gsl: upgrade 4.2.2 -> 5.0.0
Release notes:
https://github.com/microsoft/GSL/releases/tag/v5.0.0

Switch to the rel/5.0 branch. New in this release is the gsl::dyn_array
container, so the -dev package gains include/gsl/dyn_array.

Fix the build with clang 22. The tests are compiled with -Weverything
-Werror, so every new clang diagnostic becomes a build failure; the newly
added lifetime-safety suggestions produce:

  notnull_tests.cpp:63:19: error: parameter in intra-TU constructor should
    be marked [[clang::lifetimebound]]
    [-Werror,-Wlifetime-safety-intra-tu-constructor-suggestions]

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2026-09-08 08:23:17 -07:00