Changelog:
=============
- Register the "benchmark" pytest mark to avoid PytestUnknownMarkWarning
- Update C extension docstrings and remove stale comments
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Changelog:
===========
- trim to ncols even when '{bar}' not in bar_format
- fix tqdm.write when stdout=None
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Changelog:
==========
- Remove self signed certificate from production.
- Correct inequality in validation error message
- Fix non-deterministic convert_from_registers
- Fix swapped SimDevice in ModbusDeviceContext
- Update CI actions and pyproject.
- Add ruff format check to ci.yml
- Remove 'useless-suppression' pylint
- Format test_client.py with ruff
- Update clean_workflows CI (node@20 problem).
- Ruff format (due to ruff upgrade).
- Fix ModbusServerContext initialization with dict devices parameter
- Support configured ASCII input delimiter
- Fix default no-response behavior for force listen only
- Use correct format character for DataType.REGISTERS 'h' -> 'H'
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Changelog:
==========
- asyncio: detect cross-instance reentrant deadlocks before the poll loop
- fix(soft_rw): evict non-regular write marker without reading it
- _util: drop the dead st_mtime=0 short-circuit in raise_on_not_writable_file
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Changelog:
===========
* add '.rotate()' method, rotate bitarray in-place by 'k' positions
* expose the 'decodeiterator' class, and add '.skipbits()' method
as well as '.index' data descriptor, see #252
* fix 'random_p()' silently producing all-zero bitarrays for small 'n'
when 'p=float("nan")'
* improve integer argument handling in 'util.random_k()',
'util.gen_primes()', 'util.pprint()' and 'util.int2ba()'
* add 'python_requires >= 3.7' to package metadata
* improve testing - use more of 'unittest''s functionality
* add [Rule 90 example](../examples/rule90.py)
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Changelog:
===========
- Changed ByteReceiveStream.receive() implementations to raise a ValueError
when max_bytes is not a positive integer
- Fixed CapacityLimiter.total_tokens rejecting float("inf") when the limiter
was instantiated outside of an event loop. The adapter setter checked for
infinity by identity (value is math.inf), so only the exact math.inf singleton
was accepted, while every backend setter (using math.isinf()) accepts any
positive infinity
- Fixed to_process.run_sync() deadlocking when the worker function writes
enough data to sys.stderr to fill the (undrained) pipe buffer. The worker
process now redirects sys.stderr to os.devnull as well, matching the documented
behavior
- Fixed TLSStream.wrap() matching an internationalized (unicode) host name
against the peer certificate using IDNA 2003 (via the standard library)
instead of IDNA 2008, which could cause the host name to be matched against the
wrong certificate
- Fixed anyio.open_process() (and run_process()) ignoring the extra_groups
argument, as it mistakenly passed the value of the group argument instead
- Fixed CapacityLimiter.acquire_nowait() and
CapacityLimiter.acquire_nowait_on_behalf_of() raising trio.WouldBlock instead
of anyio.WouldBlock on the trio backend when there are no tokens available
- Fixed CapacityLimiter on the asyncio backend over-granting tokens
(borrowed_tokens exceeding total_tokens and available_tokens going negative)
when a non-blocking acquire was made in the window between a token being
released and the notified waiter resuming. The freed token is now reserved for
the woken waiter right away, so the non-blocking acquire correctly raises
WouldBlock
- Fixed unnecessary CPU spin when delivering cancellation from CancelScope on
asyncio under certain conditions, including improper cancel scope nesting
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Changelog:
===========
- Issue 2135 - ExecEnviron values not passed due to regression since 1.3.8.d.
- Issue 2146 - Stack buffer overflow in MLSD/MLST handling for long path names.
- Issue 2158 - MaxTransfersPerUser no longer enforces configured limits.
- Issue 2163 - AdminControlsACLs for config, get actions not honored as they
should be.
- Issue 2166 - Memcached/Redis-cached JSON TLS session/OCSP entries decoded
into fixed buffers without bounds checking.
- Issue 2173 - RewriteMap unescape builtin use causes one-byte out-of-bounds
write, fails to reject illegal characters.
- Issue 2188 - SQL group name lookup concatenates client-provided group names
without escaping.
- Issue 2190 - Authenticated SFTP sessions can overflow the SFTP packet buffer.
- Issue 2210 - Default Controls socket ACLs unintentionally allow all users
access for sending Controls requests.
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Changelog:
==========
- xfce-open: Quote all arguments passed to --launch
- Remove G_GNUC_CONST
- kbd: work around gdk-wayland bug around super key in shortcut dialog
- Translation Updates:
Azerbaijani, Kazakh, Spanish, Turkish
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Changelog:
===========
* Set a hard limit of 99999 on '?' placeholders (CVE-2026-14739)
* Fix out-of-bounds read in preparse of SQL that starts with a comment (CVE-2026-14740)
* Fix code injection via Profile DSN attribute or DBI_PROFILE variable (CVE-2026-14380)
* Update dbipport.h to Devel::PPPort-3.73
* Require Test::More 0.96 (tests will otherwise fail on pristine perl-5.12)
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Changes:
=========
CPU package count is no longer reported in the default output.
Users can still print it in custom formats via {packages}
Bugfixes:
==========
Fixed compatibility with WSL 2.9.3 (#2433, WM, Linux)
Fixed accurate AMD GPU names are not queried in driverSpecific mode (GPU, Linux)
Fixed GPU core counting for Apple Silicon GPU on Asahi Linux (GPU, Linux)
Some internal cleanups and optimizations
Features:
=========
Added Astra Linux version detection (OS, Linux)
Improved performance of Windows PowerShell version detection (Shell, Windows)
Improved performance of Media module on macOS (Media, macOS)
Added proxmox backup server detection (#2443, OS, Linux)
Logos:
======
Added Flatcar, Azure Linux
Added Chimera_small, Chimera2, Parabola2_small, PostmarketOS2, Qubes_small
Updated linuxmint_small
Cleaned up distro names
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
License-Update:
Updated contact address to website URL
Updated distribution notice to <https://www.gnu.org/licenses/>
Changed example signature: Updated the example signatory from Ty Coon to Moe Ghoul
Changelog:
- Avoid undefinedness warning in config_defined
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 3.12.1:
- Restored the previous SyncToAsync.__call__ internal code shape,
which was relied on by some APM services.
From 3.12.0:
- AsyncToSync no longer captures the running event loop on
instantiation
- Fixed an event loop deadlock when exiting ThreadSensitiveContext
while its executor thread was still blocked waiting on the event
loop.
- Dropped support for EOL Python 3.9.
- Fixed StatelessServer.run() failing on Python 3.14, where
asyncio.get_event_loop() no longer creates an event loop if none
exists. It now uses asyncio.run().
- Fixed Local leaking data between unrelated sync threads when
sys.flags.thread_inherit_context is enabled (Python 3.14+), so a
newly started thread inherits a copy of the spawning thread's
context. This flag is on by default on free-threaded builds and
opt-in on the regular GIL build. Local storage is now tagged with
its owning thread and re-homed only when asgiref intentionally
moves work across threads (in async_to_sync / sync_to_async),
restoring the documented thread-local behaviour in sync threads.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 3.0.2:
- Modernize type annotations
- Fix pypy CI by skipping redundant mypy runs on it
- Fix IndexError on source mixing lone CR with LF line endings
- Release modernization, and publish to PyPI from CI via trusted
publishing
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
dbus-broker's meson build installs its test and benchmark binaries to a
hardcoded path derived from the prefix:
conf.set('testdir', get_option('prefix') / 'lib/dbus-broker/tests')
i.e. always ${prefix}/lib/dbus-broker/tests, regardless of ${baselib}.
In OE terms that is ${nonarch_libdir}, not ${libdir}.
The recipe however collects them with ${libdir}, which only matches on
targets where baselib is "lib". On lib64 targets and for multilib
variants (e.g. lib32-dbus-broker) ${libdir} differs from the hardcoded
install path, so the installed tests are not captured by any package and
do_package fails with:
QA Issue: dbus-broker: Files/directories were installed but not
shipped in any package:
/usr/lib/dbus-broker/tests/unit/test-...
/usr/lib/dbus-broker/tests/dbus/test-...
[installed-vs-shipped]
Use ${nonarch_libdir} so the FILES glob always matches meson's install
location.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Integration Overview:
ABI:
The abi-compliance checker reports 100% *binary* compatibility in this release,
so the SONAME is maintained at 0.7.
Validating ABI compatibility between v0.7.1 and v0.7.2
Preparing, please wait ...
Comparing ABIs ...
Comparing APIs ...
Creating compatibility report ...
Binary compatibility: 100%
Source compatibility: 97.9%
Total binary compatibility problems: 0, warnings: 2
Total source compatibility problems: 13, warnings: 2
These source compatibility problems are bisected to 597a5bb97bf9 ("libcamera:
bound_method: Use std::apply") and this looks to be a false positive and as far
as I can tell do not actually prevent any external application compiling
against libcamera.
The following commits in this release relate to either a bug fix or an
improvement to an existing commit.
bugs:
- libcamera: egl: Don't depend on libdrm
- Fixes: 7350d6cc5dd1 ("Revert "libcamera: software_isp: gbm: Add a GBM helper class for GPU surface access"")
- libcamera: base: regex: Fix preprocessor check
- Link: https://github.com/llvm/llvm-project/commit/568c23bbd3303518c5056d7f03444dae4fdc8a9c
- test: controls: control_info_map: Fix libc++ warning
- Link: https://github.com/llvm/llvm-project/commit/9a03a30706cca40b93146f379fb5faa75d417af5
- ipa: rpi: agc: Clamp digital gain to avoid saturation issues
- Fixes: 17f9912cff85 ("ipa: rpi: agc: Calculate digital gain in process()")
- py: Use smart holder for `Camera` if available
- Link: https://github.com/pybind/pybind11/issues/6064
- pipeline: rpi: Print old color space before updating
- Fixes: 71bbf10a2f79 ("libcamera: rpi: Add some helpers to PipelineHandlerBase")
- libcamera: framebuffer: Reword documentation about cookie
- Closes: https://gitlab.freedesktop.org/camera/libcamera/-/work_items/331
- ipa: libipa: Handle missing YAML nodes in Interpolator
- Closes: https://gitlab.freedesktop.org/camera/libcamera/-/work_items/323
- software_isp: debayer_egl: Consider border for scaling
- Fixes: f520b29fe9e6 ("libcamera: software_isp: debayer_egl: Add an eGL Debayer class")
- py: examples: simple-continuous-capture: Fix comment
- Fixes: d6cfb080604a ("py: examples: Add simple-continuous-capture.py")
And the following updates have been made in this release, grouped by category:
core:
- include: linux: Move mali-c55-config.h header to correct location
- utils: update-kernel-headers: Create destination directory
- utils: update-kernel-headers: Add drm/drm.h and drm/drm_mode.h
- utils: update-kernel-headers: Add linux/media/arm/mali-c55-config.h
- include: linux: Update to Linux v7.0
- libcamera: egl: Don't depend on libdrm
- libcamera: base: Restore defopt
- treewide: Use utils::defopt
- libcamera: base: signal: Disallow rvalue references
- libcamera: base: bound_method: Strip qualifiers in argument pack
- libcamera: base: bound_method: Forward when invoking
- subprojects: libpisp: Update to v1.5.0
- libcamera: base: regex: Fix preprocessor check
- libcamera: bound_method: Use std::apply
- libcamera: framebuffer: Reword documentation about cookie
- libcamera: base: log: Remove log level check for "Fatal" messages
- libcamera: base: log: Move abort logic into separate type
- libcamera: matrix: Rename data validation function
- libcamera: vector: Rename data validation function
- libcamera: Drop 'yaml' prefix from ValueNode variables
- libcamera: global_configuration: Drop "YAML" from function documentation
- libcamera: Replace last mentions of YAML
- libcamera: vector: Replace class with typename
- libcamera: vector: Swap order of arguments to apply()
- libcamera: vector: Support multiple scalar arguments to apply()
- libcamera: vector: Add clamp() member function
- libcamera: vector: Replace custom lambdas with standard functions
- libcamera: v4l2_device: setControls(): Do not return index
- libcamera: v4l2_device: 0 is not a generic error index
- libcamera: request: Inline `Private::hasPendingBuffers()`
- libcamera: request: hasPendingBuffers(): Simplify
- libcamera: camera: Add missing `span.h` include
- meson: Build virtual pipeline by default
- utils: Merge shader header generation scripts
- utils: Rename and move shader header generation script
- libcamera: egl: Replace pointer and length with span for shader sources
- libcamera: egl: Add new helper attachTextureToFBO
- libcamera: egl: Add createOutputTexture2D
- libcamera: egl: Add activateBindTexture
- libcamera: egl: Add updateTexture2D
- libcamera: converter: converter_dw100: Refactor dewarp param handling
- libcamera: converter: converter_dw100: Allow to transform between different camera matrices
- include: linux: Update to Linux 7.1
softisp:
- libcamera: software_isp: #include cleanup
- libcamera: software_isp: Normalize statistics sums to 8-bit
- libcamera: software_isp: Drop redundant sumShift_ guard in finishFrame
- libcamera: software_isp: Use Vector operator>>= in finishFrame
- debayer_egl: Include stats computation into benchmark
- debayer_egl: Sync output buffers after processing stats
- egl: Add GL format parameter to eGLImage constructor
- egl: Remove some parameters from createTexture2D()
- egl: eGLImage: Add flag to remember dmabuf import fails
- libcamera: swstats_cpu: Take MappedFrameBuffer in processFrame()
- debayer_egl: Implement dmabuf import for input buffers
- libcamera: software_isp: debayer_egl: Demote unsupported format log to Info
- libcamera: software_isp: Support 12-bit CSI2 packed raw bayer formats
- software_isp: debayer_egl: Request input buffer alignment of 256 bytes
- egl: Log the GL-driver
- software_isp: debayer_egl: Consider border for scaling
- libcamera: software_isp: Probe EGL availability before creating DebayerEGL
- libcamera: software_isp: Fix black level application in GPU ISP
- libcamera: software_isp: Fix black level handling in CPU ISP
- softisp: Split AWB from Combined Matrix
- shaders: bayer: Use native matrix multiplication
- libcamera: software_isp: Replace open-coded buffer cancellation
- libcamera: shaders: Move header generation to shaders directory
- libcamera: shaders: Replace C array with std::array
- libcamera: software_isp: debayer_egl: Pass eglImage as parameter to setShaderVariables
- libcamera: software_isp: debayer_egl: Implement input/output frame caching mechanism
ipa:
- ipa: simple: agc: Replace bang-bang controller with proportional
- ipa: libipa: camera_sensor_helper: Add OV2740 black level
- ipa: libipa: v4l2_params: Fix code example in doc
- ipa: libipa: v4l2_params: Mention ISP in file one-line description
- ipa: libipa: v4l2_params: Enforce uint16_t for id_type underlying type
- ipa: libipa: v4l2_params: Move non-template code to new base class
- libcamera: libipa: Add right-shift operators to Vector
- ipa: rpi: agc: Clamp digital gain to avoid saturation issues
- ipa: libipa: Handle missing YAML nodes in Interpolator
- ipa: rkisp1: ccm: Drop unused parseYaml() function declaration
- ipa: rkisp1: cproc: Fix brightness and contrast value handling
- libcamera: libipa: camera_sensor: Add Sony IMX678 properties
- ipa: rpi: Add cam_helper for Sony IMX678
- ipa: rkisp1: awb: Utilise clamp function
- ipa: rpi: Improve control over which sensor modes require "debinning"
- ipa: libipa: camera_sensor_helper: Add OV01A10
- ipa: camera_sensor_helper: Add black levels for OV5693
- ipa: libipa: camera_sensor_helper: add ov08x40
apps:
- android: Disable build on platforms without mbrtoc16()
- apps: common: options: Use character literal instead of string
- py: Use smart holder for `Camera` if available
- apps: lc-compliance: Reduce test repetition
- py: examples: simple-continuous-capture: Fix comment
- py: cam: Remove unnecessary check
- gstreamer: allocator: get_pool_size(): Fix return value
- gstreamer: Use `FrameBuffer` cookie to associate with `GstBuffer`
pipeline:
- pipeline: rpi: Simplify delayed controls
- pipeline: rpi: Make control lists in requests properly atomic
- pipeline: rpi: Fix crash when configuring timeout
- pipeline: rpi: Print old color space before updating
- libcamera: pipeline: imx8-isi: Use `completeBuffer()` return value
- libcamera: pipeline: ipu3: Remove `setRequest()` calls
- libcamera: pipeline: mali-c55: Add missing `<queue>` include
- libcamera: pipeline: rkisp1: Simplify dewarper configuration
- pipeline: virtual: Move libjpeg requirement to libyuv subproject
- pipeline: rpi: pisp: Ensure we don't run our SW correction with packed
- pipeline: rpi: pisp: Fix colours for NV21 and NV61 pixel formats
- pipeline: rpi: pisp: Remove duplicated format entry
- controls: rpi: Add ControlListSequence control
test:
- test: controls: control_info_map: Fix libc++ warning
documentation:
- Documentation: Reorganize the index of the "For Developers" section
- Documentation: Move platform support to user documentation
- Documentation: architecture: Detail policy on dependencies
- Documentation: coding-style: Document rule about indirect includes
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Update nushell from 0.111.0 to 0.114.1.
Highlights across v0.112.0 - v0.114.1:
New features:
- Sharper type system with pipeline-aware type inference
- Runtime type checking (enforce-runtime-annotations) now on
by default
- POSIX '--' end-of-options support for all command types
- 'run' command to use scripts as pipeline stages
- Semantic Versioning support (into semver, semver bump, etc.)
- KDL format support (to kdl, from kdl)
- Set operation commands (union, intersect, difference,
combinations, permutations)
- 'idx' command family for fast in-memory filesystem indexing
- 'peek' command to inspect stream metadata
- Fish-style abbreviation expansion
- 'random pass' password generator
- 'commandline complete' for programmatic completions access
- Polars upgraded to 0.54 with map-batches and bitwise commands
- New experimental globbing engine (dc-glob)
Breaking changes:
- Submodules no longer implicitly imported
- enforce-runtime-annotations enabled by default
- Reedline vi mode overhaul with visual mode
- from xlsx/from ods reworked (removed --header-row, added
--noheaders and --first-row)
- Error 'details' field replaces 'json' field in catch blocks
- parse no longer implicitly splits byte streams into lines
- Deprecated str upcase/str downcase replaced by
str uppercase/str lowercase
Notable bug fixes:
- Fix uninitialized value in let_cxx_string! on panic
- Fix nested update with closure for table columns
- Fix flatten conflicting column renaming
- Fix float ranges (0.1..0.3 now produces [0.1, 0.2, 0.3])
- Fix aliases breaking when shadowed variables
- Fix math abs panic on i64::MIN
- Prevent SIGABRT on terminal close
- Fix try blocks executing code twice
- Fix closure input type incorrectly inheriting from scope
- Better assignment error messages for type mismatches
- Fix for loop variable type inference with union iterables
v0.114.1 is a patch release fixing issues with the new
enforce-runtime-annotations default behavior.
Assisted-by: Kiro CLI 2.12.0 (AI assistant)
Signed-off-by: Deepesh Varatharajan <Deepesh.Varatharajan@windriver.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Update cxx crate from 1.0.194 to 1.0.197.
Changes in this update:
v1.0.195:
- Fix use of uninitialized value in let_cxx_string! on panic
inside initialization expression
v1.0.196:
- Migrate to Rust 2024 edition
v1.0.197:
- Restore RefUnwindSafe for let_cxx_string in async contexts
- Use link_deps in Cargo bazel metadata
Assisted-by: Kiro CLI 2.12.0 (AI assistant)
Signed-off-by: Deepesh Varatharajan <Deepesh.Varatharajan@windriver.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
frr's configure links libatomic whenever the toolchain merely has it:
AC_CHECK_LIB([atomic], [main], [LIBS="$LIBS -latomic"], [], [])
This probe only asks whether -latomic links, never whether frr needs a
symbol from it. On x86-64 the atomics frr uses are inlined, so the
resulting native clippy references no __atomic_* symbol at all, yet
still records a DT_NEEDED on libatomic.so.1.
Nothing prunes it: ASNEEDED is part of TARGET_LDFLAGS only, so native
links get no --as-needed. Nothing can satisfy it either: clippy's
RUNPATH points solely into recipe-sysroot-native, there is no
libatomic-native, and uninative only rewrites the ELF interpreter.
buildtools-extended-tarball ships nativesdk-libatomic, so on hosts using
buildtools (Rocky 8, Alma 8, openSUSE on the autobuilder) the probe
succeeds at link time while the loader cannot find libatomic later, and
the target do_compile dies executing clippy:
clippy: error while loading shared libraries: libatomic.so.1:
cannot open shared object file: No such file or directory
Hosts with a system libatomic in the default loader path, such as Ubuntu
with libatomic1 installed, only avoid this by accident.
Link native clippy with --as-needed so the unused libatomic dependency is
dropped, making the frr-native artifact independent of the build host.
Fixes [YOCTO #15590] and [YOCTO #15590]
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
- Upgrade to 2.5.12
- Rename recipe to thermald_2.5.12.bb
- Drop backport patches as they are included in 2.5.12 release:
- 0001-Refactor-Intel-specific-logic-into-separate-files.patch
- 0002-Invoke-parser_init-before-platform_match.patch
- 0003-Add-ARM-backend-and-enable-ARM-platform-detection.patch
Upstream 2.5.12 includes platform support refactoring (including ARM
path), additional CPU IDs, parser/data-vault robustness improvements,
and security/hardening fixes in config/sysfs handling.
Changes since v1:
- Add ;tag=v${PV} to SRC_URI for tag validation
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Add video-backdrop PACKAGECONFIG option. default to false. Setting it
to true will bring gstreamer1.0 dependency.
Signed-off-by: Jason Schonberg <schonm@gmail.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Since fmt 12.2.0, <fmt/core.h> is a shim that only includes <fmt/base.h>,
which does not declare fmt::format(). Building mpd 0.24.9 against it
fails with:
src/net/ToString.cxx:80:16: error: no member named 'format' in namespace 'fmt'
src/lib/avahi/Publisher.cxx:37:9: error: no member named 'format' in namespace 'fmt'
Add a patch that includes <fmt/format.h> directly in the files that
call fmt::format(). This mirrors the upstream fix (MPD commits
88d5b5248d71 and 109c26258b9d), extended to the files present in the
0.24.9 release that call fmt::format() but were not covered by those
commits.
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
The 0003 patch that links the data_source test carrier binary without
the host runtime also adds -fno-stack-protector to the object compile
line, needed because host gcc toolchains default to
-fstack-protector-strong and the -nostdlib link then fails with:
data_source.c:212: undefined reference to `__stack_chk_fail'
However patch 0001 (DEBUG_PREFIX_MAP) runs first in SRC_URI and rewrites
the same compile line to insert ${DEBUG_PREFIX_MAP_LIST}, so 0003's
first hunk no longer matched the tree and the -fno-stack-protector flag
was silently dropped from the object compile (it only landed on the
link line). Rebase 0003's first hunk onto the post-0001 context so the
flag is applied where it is needed.
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
The DEPENDS append used the raw TARGET_ARCH value "x86_64" as an
override:
DEPENDS:append:x86_64 = " nasm-native"
but OVERRIDES is built from TRANSLATED_TARGET_ARCH, which replaces "_"
with "-", so the effective override token is "x86-64". The "x86_64"
form never matches and nasm-native is never pulled in, so do_compile
fails on x86-64 with:
error: Unable to run nasm: No such file or directory (os error 2)
Use the correct "x86-64" token (matching the INHIBIT_PACKAGE_DEBUG_SPLIT
line right below it) and also add the "x86" variant for 32-bit x86
targets, mirroring dav1d.
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
fmt 12.2.0 turns <fmt/core.h> into a shim that only pulls in
<fmt/base.h>, which no longer declares fmt::format() and no longer drags
in <cstring> transitively. gerbera 3.0.0 relied on both, so do_compile
fails first with:
src/exceptions.cc:37:31: error: no member named 'format' in namespace 'fmt'
and, once that is addressed, with a second wave of:
src/util/thread_runner.h:194:68: error: no member named 'strerror' in namespace 'std'
src/content/inotify/mt_inotify.cc:163:13: error: no member named 'memcpy' in namespace 'std'
src/util/url_utils.cc:144:24: error: no member named 'strchr' in namespace 'std'
Add two backport patches:
* 0001 switches the central headers exceptions.h and search_handler.h
from <fmt/core.h> to <fmt/format.h> (upstream commit 9507706136fd).
* 0002 adds an explicit #include <cstring> to every translation unit
that uses std::strerror/std::memcpy/std::strchr (based on upstream
commit 7caa9ae9ebf5, extended to cover all affected files in this
release).
Neither fix is in any released gerbera tag (both are master-only), so a
version bump would not help; backporting is the least invasive option.
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
csysdig fails to link when stock Lua is also present in the sysroot:
ld.lld: error: undefined symbol: luaL_openselectedlibs
>>> referenced by chisel.cpp:1190
ld.lld: error: undefined symbol: lua_pcallk
ld.lld: error: undefined symbol: lua_setglobal
sysdig's chisel code does #include "lua.h" and links against LuaJIT
(lua${JIT}), but the recipe-sysroot also carries stock Lua headers
(openembedded-core lua installs lua.h into ${includedir}). Those headers
win the include search over ${includedir}/luajit-2.1, so the chisel
objects are compiled against stock Lua while the binary links
libluajit-5.1.so. In Lua >= 5.4.4 luaL_openlibs is a macro for
luaL_openselectedlibs and lua_setglobal/lua_pcallk are real symbols,
none of which LuaJIT (a Lua 5.1 ABI) provides, hence the undefined
references. -DLUA_INCLUDE_DIR does not help: sysdig's luajit.cmake only
consults it in its stock-Lua fallback, not when it finds LuaJIT.
Prepend ${STAGING_INCDIR}/luajit-2.1 to CFLAGS/CXXFLAGS. These land in
CMAKE_CXX_FLAGS, which precede CMake's generated -I includes, so LuaJIT's
lua.h is found first and matches the linked library.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
The build host HOME directory check recently added to OE-Core's
buildpaths QA test flags the ptest gtest binary:
WARNING: bpftrace-0.25.1-r0 do_package_qa: QA Issue: File
/usr/lib/bpftrace/ptest/tests/bpftrace_test in package bpftrace-ptest
contains a reference to the build host HOME directory. [buildpaths]
WARNING: bpftrace-0.25.1-r0 do_package_qa: QA Issue: File
/usr/lib/bpftrace/ptest/tests/.debug/bpftrace_test in package
bpftrace-dbg contains a reference to the build host HOME directory.
[buildpaths]
cmake/BuildBPF.cmake links the intermediate DWARF carrier binary
data_source_exe with the plain build host gcc, which bakes the host
dynamic loader's absolute path into the PT_INTERP segment. With a
distro gcc that is an innocuous /lib64/ld-linux-x86-64.so.2, but when
the host toolchain is a buildtools-extended/SDK gcc installed under
the build user's home directory (as on the autobuilder workers), it
is a $HOME-prefixed path like
/srv/pokybuild/.../buildtools/sysroots/x86_64-pokysdk-linux/lib/ld-linux-x86-64.so.2
The executable is then embedded byte-for-byte into bpftrace_test via
embed()/xxd (tests/data/CMakeLists.txt), so the path ends up in the
test binary's .rodata, triggering the bpftrace-ptest warning. And
because cmake/Embed.tmpl declares the embedded blob as a constexpr
array, gcc additionally copies its contents into .debug_info as
DW_AT_const_value, which is how the same string survives
objcopy --only-keep-debug into the split debug file, triggering the
bpftrace-dbg warning. This is the same embedding mechanism that
previously leaked TMPDIR paths, fixed for the compile step by the
DEBUG_PREFIX_MAP patch; the link step was still leaking.
The tests only write this binary to a temp file and use it as a
uprobe target (tests/dwarf_common.h), parsing its DWARF and symbols;
it is never executed. So link it with -nostdlib -no-pie -Wl,--entry=0:
no interpreter, no host crt objects, no dynamic segment, and thus
nothing host-specific in the embedded blob. Function symbols, DWARF
type information and the pahole -J BTF encoding step are unaffected,
and the field_analyser_dwarf ptests still pass.
Because the object is now linked -nostdlib it must not reference the
libc stack-protector runtime. Host gcc toolchains that default to
-fstack-protector-strong (e.g. Debian/Ubuntu and the Yocto
autobuilder workers) otherwise leave an undefined reference and the
link fails:
ld: data_source.o: in function `main':
data_source.c:212: undefined reference to `__stack_chk_fail'
collect2: error: ld returned 1 exit status
Compile the object and link the binary with -fno-stack-protector; the
canary is irrelevant to a DWARF/BTF carrier that is never run.
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>