Command line tool to sync files with cloud storage providers. Built
with the go-mod classes, the module list and licenses are generated
with update_modules.
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>
The ptest package contains a #!/bin/sh script, so there is no need to
depend on bash.
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
These optional libraries are used by the tools.
JPEG was implicitly enabled previously, as our tiff recipe by default
pulls in libjpeg.
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
The tools are not required to use the library, so inherit lib_package to
put them into a separate package.
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
avro-c++'s CMakeLists.txt calls find_package(fmt) and only falls
back to fetching fmt 10.2.1 via FetchContent if fmt isn't found.
The recipe never added fmt to DEPENDS, so find_package fallback
is always triggered. The recipe then had to stage it into
${B}/_deps/fmt-src.
oe-core already provides fmt_12.1.0, and avro-c++ only
uses a small, stable part of its API (fmt::format_string,
fmt::format, fmt::formatter<T>) that is unchanged between 10.x and
12.x.
Add fmt to DEPENDS so find_package(fmt) succeeds and avro-c++ links
oe-core's fmt instead, and drop the fmt SRC_URI, SRCREV_fmt and
do_configure:prepend()
Following tests provided by avro-c++ use fmt headers:
CodecTests DataFileTests SchemaTests buffertest unittest
No tests are breaking after using fmt_12.1.0.
Signed-off-by: Sana Kazi <Kazi.S@bmwtechworks.in>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Add a new recipe for floret, a fastText fork with Bloom embeddings
for compact, full-coverage vectors compatible with spaCy. Builds
shared library, static library, and CLI binary via CMake with zlib.
Includes a cross-compilation patch (CMake 3.5, <cstdint> for GCC 15.x)
and installs the shared library under its real SONAME to keep
libfloret.so as a symlink.
Signed-off-by: Varun Singhal <varusing@qti.qualcomm.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Add a patch fixing an issue where tools like 'gpiofind' incorrectly abort
with a 'No such device' (ENODEV) error if a hotpluggable GPIO controller
(like a USB device) vanishes from /dev during the search.
This patch gracefully handles the race condition by ignoring ENODEV errors
when searching for a line and silently skipping chips that fail to open
during iteration.
Reviewed-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Signed-off-by: Potin Lai <potin.lai.pt@gmail.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
run-ptest piped ctest output through 'sed -u', which busybox sed does
not support, so the pipeline produced no output and the ptest image
reported "ptests which had no test results: ['tbb']".
Drop sed and classify ctest result lines in awk directly. This also
maps Timeout/Exception/Not Run results to FAIL; previously they were
printed as e.g. "Exception:: <name>" and ignored by the ptest parser.
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
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>
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>
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>
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>
clang 23 added -Wunused-but-set-global to the -Wunused warning group, so
the -Werror that meson.build adds for git builds turns it into a hard
error:
osinfo/osinfo_avatar_format.c:24:1: error: variable
'osinfo_avatar_format_parent_class' set but not used
[-Werror,-Wunused-but-set-global]
Add -Wno-error=unused-but-set-global to libosinfo_check_cflags so the
warning stays visible but is not fatal. The flag is placed in the list
that meson.build filters through compiler.has_argument(), so it is
dropped on compilers that do not know the warning group
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Remove assignments to PYPI_PACKAGE where the value is the default value,
that is the recipe name with any python3- prefix removed.
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
This commit moves the cmake files from /usr/share/glaze to
/usr/lib/cmake/glaze so that other cmake project would be able
to find the headers.
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
The default product-only mapping generates a vendor-wildcard CPE.
libssh:libssh is the active NVD dictionary CPE and configuration identity
for the packaged libssh source.
This changes the generated product identity to an exact CPE, but the
frozen sbom-cve-check database leaves the 48-entry CVE report unchanged,
with no current CVE delta.
Signed-off-by: Devansh Patel <devanshp@cisco.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
run-ptest ran each case as "./test.sh $test > /dev/null 2>&1", throwing
away the only thing that explains a failure: test.sh prints which check
failed and which words were misrecognised, e.g.
Fail in base.good. Good words recognised as wrong:
<words>
Without it a failing hunspell ptest reports a bare "FAIL: <name>" and
gives no way to tell a packaging problem from a real defect when the
suite runs on target.
Capture the output and print it, indented, under the FAIL line, and
take test.sh's exit status directly rather than reading $? inside the
else branch of the if that consumed it.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
All 25 ptest failures are missing glibc character-set converters. With
run-ptest no longer discarding test.sh output, the cause is explicit:
error - iconv_open: ISO8859-1 -> UTF-8
error - iconv_open: UTF-8 -> ISO8859-1
=============================================
Fail in allcaps3.good. Good words recognised as wrong:
Aggregated over the run: 382 ISO8859-1 and 10 ISO8859-15 iconv_open
failures, and every one of the 25 failing tests reports them.
Only glibc-gconv-iso8859-2 was pulled in, but the test corpus needs more
than that. Dictionaries with no SET line in their .aff fall back to
ISO8859-1 in both consumers of the default:
csutil.hxx:99 #define SPELL_ENCODING "ISO8859-1"
affixmgr.cxx:3502 if (encoding.empty()) encoding = SPELL_ENCODING;
hashmgr.cxx:97 if (!csconv) csconv = get_current_cs(SPELL_ENCODING);
and 92 of the 144 installed .aff files have no SET, which is why tests
with pure-ASCII data and no SET line still needed a converter. The
encodings actually referenced across the corpus are ISO8859-1,
ISO8859-15, ISO-8859-15, ISO8859-2 and UTF-8; UTF-8 is built into glibc,
so add the two missing ISO8859 modules.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
tests/test-proxy.c setup() spawns the reference bus implementation
directly:
g_subprocess_launcher_spawn (launcher, &error, "dbus-daemon",
"--session", "--print-address=1",
"--nofork", NULL);
so the test aborts on distros that select a different
VIRTUAL-RUNTIME_dbus:
ERROR:../tests/test-proxy.c:75:setup: assertion failed (error == NULL):
Failed to execute child process "dbus-daemon" (No such file or directory)
FAIL: xdg-dbus-proxy/test-proxy.test (Child process killed by signal 6)
dbus-daemon is packaged only in dbus, and dbus-broker carries
"RCONFLICTS:dbus-broker: dbus", so the two cannot be co-installed;
dbus-broker-launch is not CLI-compatible and cannot stand in. The
existing RDEPENDS on ${VIRTUAL-RUNTIME_dbus} already pulls in dbus (and
hence dbus-daemon) on distros that use it, so report the test as skipped
rather than failed when the daemon genuinely is not installable.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
TestCommandLineToCommaSeparatedValues fails because its JSON test cases
are never installed.
With no arguments the test runs runJsonTests(), which globs
TEST_SOURCE_DIR/cmdline-tests/*.json via FindFirstFileA and returns -1
when the directory cannot be opened. do_configure:prepend already
rewrites TEST_SOURCE_DIR for this CMakeLists to ${PTEST_PATH}/test, and
the built driver confirms it:
$ strings Testing/TestWinPRUtils | grep -e cmdline-tests -e ptest/test
cmdline-tests
cmdline-tests%c*.json
/usr/lib/freerdp3/ptest/test
but do_install_ptest only copies *bmp out of
winpr/libwinpr/utils/test, so /usr/lib/freerdp3/ptest/test/cmdline-tests
does not exist on target and the glob always fails. Copy the directory
alongside the other test data.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Hardcoding "dbus" makes the ptest image unbuildable on any distro that
selects a different system bus implementation. On a systemd distro
setting VIRTUAL-RUNTIME_dbus = "dbus-broker", do_rootfs fails to
solve:
package dbus-broker-37 conflicts with dbus provided by dbus-1-1.16.2
package systemd requires dbus-broker, but none of the providers can
be installed
package xdg-dbus-proxy-ptest requires dbus, but none of the providers
can be installed
Depend on ${VIRTUAL-RUNTIME_dbus} instead so the ptest package pulls
in whichever bus the distro actually uses.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
pcsc-lite 2.5.0 defaults to installing systemd user units, which leaves the
package without a system-level pcscd.service while SYSTEMD_SERVICE still
enables pcscd.socket. On target systems this makes systemctl status pcscd
fail, and systemctl --user start pcscd can fail because the user unit
requires polkit.service from the user manager.
Select upstream Meson systemdunit=system so pcscd.service and pcscd.socket
are installed as system units. Keep upstream sysusers.d packaging so
systemd-sysusers can create the pcscd system user required by the
generated service and socket units.
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Now that KERN_MAJ reflects the target kernel instead of the build host's
uname -r, vboxvideo is actually built for kernels older than 7.x -- and it
does not compile against 6.18.44:
vbox_fb.c:336:16: error: implicit declaration of function 'drm_fb_helper_alloc_info'; did you mean 'drm_fb_helper_fill_info'? [-Wimplicit-function-declaration]
vbox_fb.c:336:14: error: assignment to 'struct fb_info *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
Linux commit 63c971af4036 ("drm/fb-helper: Allocate and release fb_info in a
single place") moved the struct fb_info allocation out of the drivers and into
the DRM core, and made drm_fb_helper_alloc_info() static; drivers now find the
instance ready to use in fb_helper->info by the time their .fbdev_probe
callback runs. vbox_fb.c guards its call with RTLNX_VER_MIN(6,19,0), which is
where the change landed in mainline.
Bumping that version check is not a fix. The commit was pulled into stable as
a Stable-dep-of and therefore appears in the *middle* of several series --
v6.6.151, v6.12.103 and v6.18.44 have all dropped the declaration that
v6.6.150, v6.12.102 and v6.18.43 still carry. No LINUX_VERSION_CODE
comparison can express that, and guessing wrong the other way is worse than a
build failure: on a 6.18.0..6.18.43 kernel fb_helper->info is still NULL when
.fbdev_probe runs, so the driver would dereference NULL at runtime.
So add an escape hatch to vbox_fb.c and let the build system decide. do_compile
greps the kernel headers we are actually compiling against and passes
-DVBOX_NO_DRM_FB_HELPER_ALLOC_INFO through KCFLAGS when the declaration is
gone. KCFLAGS rather than EXTRA_CFLAGS/VBOXMOD_CFLAGS because a command-line
assignment of the latter two would clobber the include paths they carry, while
KCFLAGS is untouched by VirtualBox's makefiles and propagates cleanly into the
nested $(MAKE) -C $(KERN_DIR). Leaving the macro undefined keeps the previous
behaviour, so nothing changes for kernels that still export the function, and
7.x is unaffected -- VBOX_VIDEO_MODULE is empty there and the in-tree
drivers/gpu/drm/vboxvideo driver is used instead.
Verified on qemux86-64 against linux-yocto 6.18.44, from cleansstate:
vboxguest.ko, vboxsf.ko and vboxvideo.ko all build with no modpost warnings,
the -D reaches the vbox_fb.o compile line, kernel-module-vboxvideo ships the
module, and `nm -u vboxvideo.ko` no longer references
drm_fb_helper_alloc_info -- all 155 remaining undefined symbols are exported
by the kernel's Module.symvers.
Signed-off-by: Khem Raj <raj.khem@gmail.com>