python3-mpv RDEPENDS on mpv, which requires ffmpeg (LICENSE_FLAGS =
"commercial"). With "commercial" not in LICENSE_FLAGS_ACCEPTED, parsing
the universe target - which ignores EXCLUDE_FROM_WORLD - reports:
WARNING: Nothing RPROVIDES 'mpv' (but .../python3-mpv_1.0.8.bb
RDEPENDS on or otherwise requires it)
NOTE: Runtime target 'python3-mpv' is unbuildable, removing...
Now that mpv carries LICENSE_FLAGS = "commercial" and is skipped, carry
the same flag here so python3-mpv is likewise skipped cleanly in both
world and universe instead of surfacing as an unbuildable dependency.
The redundant EXCLUDE_FROM_WORLD is dropped.
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
mpv has an unconditional DEPENDS on ffmpeg, which carries
LICENSE_FLAGS = "commercial". When "commercial" is not in
LICENSE_FLAGS_ACCEPTED (the default), ffmpeg is skipped, and parsing the
universe target - which, unlike world, ignores EXCLUDE_FROM_WORLD -
reports mpv as an unbuildable dependency chain:
WARNING: Nothing PROVIDES 'ffmpeg' (but .../mpv_0.41.0.bb DEPENDS on
or otherwise requires it)
ffmpeg was skipped: Has a restricted license 'commercial' ...
NOTE: Runtime target 'mpv' is unbuildable, removing...
Since mpv cannot be built or shipped without accepting ffmpeg's terms,
propagate the flag onto mpv itself. bitbake then skips mpv cleanly (in
both world and universe) with the same "restricted license" note as
ffmpeg, and no longer emits the confusing unbuildable-dependency
warnings. This mirrors how oe-core's gstreamer1.0-libav (which also
DEPENDS on ffmpeg) carries LICENSE_FLAGS = "commercial".
The explicit EXCLUDE_FROM_WORLD is now redundant - a recipe skipped for
its license flags is already excluded from world - so drop it.
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
oe-core commit b980106560 ("lib/oe/kernel: Move python functions from
linux-kernel-base to library code") moved the kernel helpers out of
linux-kernel-base.bbclass into meta/lib/oe/kernel.py and renamed them from
get_kernelXXX to oe.kernel.get_XXX, so get_kernelversion_file no longer exists
and expanding KERNEL_VERSION raises NameError.
turbostat is COMPATIBLE_HOST x86 only, so this does not show up when parsing for
other architectures, but it breaks the same way as zabbix did.
Switch to the new name. The functions now live in the oe library, which is
always available in python expressions, so the linux-kernel-base inherit is no
longer needed -- it only exports KBUILD_BUILD_* now, which is of no use here,
and upstream intends to remove the class entirely.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
oe-core commit b980106560 ("lib/oe/kernel: Move python functions from
linux-kernel-base to library code") moved the kernel helpers out of
linux-kernel-base.bbclass into meta/lib/oe/kernel.py and renamed them from
get_kernelXXX to oe.kernel.get_XXX. In-tree users were updated, out of tree
layers were not, so parsing now fails:
ExpansionError: Failure expanding variable KERNEL_VERSION, expression was
${@get_kernelversion_headers('.../work-shared/raspberrypi4-64/kernel-source')}
which triggered exception NameError: name 'get_kernelversion_headers' is not defined
The variable dependency chain for the failure is: KERNEL_VERSION -> do_configure
Switch to the new name. The functions now live in the oe library, which is
always available in python expressions, so the linux-kernel-base inherit is no
longer needed -- it only exports KBUILD_BUILD_* now, which is of no use here,
and upstream intends to remove the class entirely.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
fwupd 2.1.7 fails to configure on every non-x86 machine:
../sources/fwupd-2.1.7/meson.build:288:68: ERROR: Feature hsi cannot be enabled
HSI (Host Security ID) has always been implemented for x86 only, but the way
meson.build enforces that changed in 2.1.x. 2.0.19 had:
hsi = get_option('hsi').disable_auto_if(host_machine.system() != 'linux').disable_auto_if(
host_cpu != 'x86' and host_cpu != 'x86_64'
).allowed()
while 2.1.7 has:
hsi = get_option('hsi').require(host_machine.system() == 'linux').require(
host_cpu in ['x86', 'x86_64']
).allowed()
disable_auto_if() only downgrades features that are set to 'auto', so passing
-Dhsi=enabled on e.g. aarch64 used to go through silently. require() is an
assertion, so the same option is now a hard error.
The recipe lists hsi unconditionally in the default PACKAGECONFIG and therefore
always passes -Dhsi=enabled. Restrict that to the architectures whose meson
cpu_family is x86 or x86_64. Non-x86 now gets -Dhsi=disabled, and require() on
an explicitly disabled feature is a no-op rather than an error.
PACKAGECONFIG[hsi] is left alone so it can still be requested explicitly.
Verified on qemuarm64 (do_configure now succeeds, meson reports "hsi: disabled",
recipe builds through to packaging) and on qemux86-64 (hsi remains in
PACKAGECONFIG, so the feature is unchanged where it is supported).
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Upstream changes (release notes):
* 3.1.0/3.1.1: assorted fixes and code improvements (docker startup
under the default user, dependency maximum-version bumps).
* 3.2.0: resolve a long-standing transcoding/error-return issue with
libpupnp after dropping the old MediaTomb UPnP hack; allow splitting
config.xml at any section; export/reimport web-UI entries around a
database clear; many new import/runtime configuration entries.
* 3.2.1: fix MySQL/PostgreSQL database migration and init with
ffmpegthumbnailer disabled; raise supported pupnp (1.18.3) and
jsoncpp (1.9.7) maximums.
New build dependencies in 3.2.x:
* cxxopts is now required (find_package(cxxopts 3.2.0 REQUIRED)); add it
to DEPENDS (provided by meta-oe).
* A new WITH_ZIP option (default ON) pulls in libzippp and libzip for
"package download". Neither is packaged here, so add a PACKAGECONFIG
[zip] knob left disabled by default (-DWITH_ZIP=FALSE), matching 3.0.0
behaviour.
The two local build patches (fmt 12 include fix, <cstring> include) still
apply and are retained.
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upstream changes (git log v1.5.4..v1.5.6):
* Group/bonding fixes: check value length in group config storage, fix
deriving string options by a group, fix getting SRTO_RCVBUF/SRTO_SNDBUF
and rejecting options not allowed on a group, and fix a wrong
'connection lost' error when sending to a connection-pending group.
* Fix a stalled connection that should break after rogue NAK/ACK, and a
misleading listening-socket error message.
* Build: Windows-on-Arm64 support, fix Windows installers, fix use of
the OPENSSL_USE_STATIC_LIBS CMake option, deprecation warning for
Windows+PThreads.
Drop 0002-allow-build-with-cmake-4.patch: it backported the
cmake_minimum_required(VERSION 3.5) bump, which is already present in
1.5.6 upstream.
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upstream changes (git log v1.2.13..v1.2.16):
* 64-bit timestamp/hpointer support: compress_get_hpointer64,
get_tstamp64 via SNDRV_COMPRESS_AVAIL64, clamp samples to UINT_MAX and
return -ERANGE on overflow; update sound header to v0.4.0.
* compress plugin ("mops") support: magic + compress_plugin_mops symbol
lookup, improved hw-plugin protocol version check.
* fcplay: decode the AAC header to set the correct codec format and fix
next_track sequencing for gapless playback; misc fixes (include
errno.h, avoid NULL string to printf).
* include: install compress_ops.h as a public header.
Drop 0001-include-install-compress_ops.h-as-public-header.patch: that
change (moving compress_ops.h to nobase_include_HEADERS) was merged
upstream and is present in 1.2.16.
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upstream changes:
* 1.25.x modernizes the mixer, bundles fmt 11.2.0 (was 11.1.1), and
annotates realtime-critical functions with [[clang::nonblocking]].
Drop 0001-Add-missing-include-for-malloc-free.patch: it backported a
<cstdlib> include into the bundled fmt-11.1.1 copy, which is already
present in the fmt-11.2.0 now bundled by 1.25.2.
openal-soft hardcodes -Werror=function-effects for C++ even with
ALSOFT_WERROR=OFF. clang-22's function-effects analysis then fails the
build on calls from nonblocking mixer code into non-nonblocking
std::variant::emplace. Pre-seed HAVE_WFUNCTION_EFFECTS=OFF (clang only)
so neither -Wfunction-effects nor its -Werror promotion is added.
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upstream changes (git log):
* Update headers for NVIDIA Video Codec SDK 13.1.
* Add the full set of cuMemsetAsync-family functions and other missing
CUDA functions for Video Codec SDK 13.1 interaction.
* Load nvEncodeAPI.dll for native Windows ARM64.
Version-only bump (git tag n13.1.15.0); the local clean-target patch
still applies.
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upstream changes (release notes):
* 1.2.0: dropped Python 3.9; PREFERRED_DECODER must be a valid decoder.
* 1.3.0: pixel-aspect-ratio (pasp) read/write; free-threaded (no-GIL)
Python support; fix integer overflow in the encode path leading to a
heap OOB read (CVE-2026-28231).
* 1.4.0: track newer bundled libheif/libde265/libx265 (not used here -
the recipe builds against the system libraries); minimum libheif
raised to 1.19.0.
* 1.5.0: grid (tiled) image encoding via options.GRID_TILE_SIZE /
tile_size, info["tiling"] read-back, and PH_LIBHEIF_CMAKE_ARGS.
Refresh 0001-setup.py-support-cross-compiling.patch for 1.5.0: setup.py
context shifted, so the patch applied with fuzz and failed the patch-fuzz
QA check. Regenerated against 1.5.0 (same STAGING_INCDIR/STAGING_LIBDIR
changes).
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upstream changes (git log 7.0.1..7.1.1):
* Large DVD-Audio feature addition: Audio Still Video Set (ASVS) IFO
structures/reads, still-frame structures in ATS, ifoOpen for ASVS and
SAMG, simultaneous CSS and CPPM decryption, stream-type logic, and
audio_sv.vob menu exposure in DVDOpenFile.
* DVD-VR: add and integrate IFO structures and reads.
* Prevent library log messages from writing to stdout; add symbol
visibility attributes for OS/2.
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upstream changes (NEWS):
* Require GSSDP >= 1.6.5 and reuse its allocated TCP socket for the web
server.
* Do not leak a GError in the ACL handler.
* Fix IPv6 host-header validation.
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upstream changes (NEWS):
* 0.24.10: fix input cache deadlock; sidplay millisecond timestamps and
libsidplayfp 3 support; allow building the upnp database plugin with
libupnp 1.14.30 (API breakage fixed upstream).
* 0.24.11: fix a path-traversal bug and disallow newlines in song URIs;
curl input requires >= 7.85.0; fix a PCM decoder stack buffer overflow.
* 0.24.12: allow empty URI in "lsinfo"/"add" (0.24.11 regression).
* 0.24.13: number-parser range checks; curl storage drops auth probe
requests; Opus decoder no longer adds 5 dB to header playback gain;
limit ID3 tags to 4 MB; pipewire fd-leak fix and "media.album" tag;
allow AF_NETLINK under systemd when UPnP is enabled.
Drop 0001-libfmt-12.2.0-support-use-fmt-format.h-not-fmt-core.h.patch:
0.24.13 already migrated the affected sources off <fmt/core.h>, and this
distro's fmt 12.2.0 still ships the <fmt/core.h> compat header, so the
patch no longer applies cleanly and is unnecessary.
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upstream changes (git log v0.49..v0.53):
* New Interface / PageContainer abstraction; screens migrated to
Interface::Alert() and ScreenManager::Alert(); removed the obsolete
global "screen" and the old screen_status library.
* FileBrowserPage now formats its prompt with libfmt; charset cleanups
(drop Utf8ToLocaleZ).
* TextInputDialog reworked (options struct, KEY_RETURN/LINEFEED
forwarding in "fragile" mode, history handling).
* Bundled fmt subproject updated (11.0.2); translation updates.
ncmpc 0.53 now formats strings with libfmt and its meson build pulls fmt
as a subproject; with wrap downloads disabled the build failed with
"Subproject fmt is buildable: NO". Add fmt to DEPENDS so the system
libfmt is used instead of the meson wrap.
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upstream changes (git log v0.8.1..v0.9.1):
* Add base classes to the core shark library.
* Add an option for subclasses to disable CTF init (enabled by default).
* Add start/stop monitoring virtual methods to the periodic tracer.
* Move add-metadata to run after CTF initialization; use absolute paths
in the graphics script.
0.9.1's configure.ac declares AC_INIT([GstShark], [0.9.1.1], ...) - a
nonzero "nano" component, which gst-shark's own AS_NANO/AG_GST_SET_ERROR_
CFLAGS convention treats as a git/prerelease build and therefore enables
-Werror. That turns gstinterlatency.c's use of the now-deprecated
gst_structure_{id_get,new_id,get_name_id} (superseded by *_id_str
variants in this distro's newer GStreamer core) into hard build
failures. Pass --disable-fatal-warnings to keep these as warnings, same
as a real release build would get.
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upstream changes (git log v1.0.4..v1.1.3):
* Major new feature: LC3plus and LC3plus High-Resolution mode, including
2.5 ms and 5 ms frame durations, asymmetric stereo frame sizes,
half-bitrate fallback, and updated C++/Python wrappers.
* Build: switch to a shared-object library, hidden GNU visibility and
LTO; add a Python library wrapper.
* Fixes: crash with NaN/infinite PCM input under fast-math; wrong gain
offset at high-bitrate/high-resolution 48 kHz; TNS quantization
adjustments required for LC3plus HR; conformance reports added.
Version-only bump (git tag v1.1.3); recipe unchanged and packaging
verified with the new shared library layout.
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upstream changes (CHANGELOG.md, 1.4.2):
* Require C11 for compilation (public headers remain C99).
* avifgainmaputil: add --jobs flag for multi-threaded read/write and
enable auto tiling; use AOM_TUNE_IQ for layered inter-frame encoding.
* Fix memory leak of altICC on early return; avoid MT loop-restoration
crash with libaom < 3.13.3; fix decoding of layered images with
multiple scaled alpha layers; fix NaN bypass of AVIF_CLAMP in gain-map
tone mapping; fix NULL deref in avifImageCopy().
* Refreshed bundled dependency pins (aom v3.14.1, libyuv, libpng 1.6.58,
etc.) - not used here; the recipe fetches libargparse/libyuv at their
own pinned SRCREVs.
Version-only bump of SRCREV_libavif; sub-source SRCREVs unchanged.
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upstream changes (release notes):
* 1.0.19: security and edge-case correctness fixes - heap-buffer-overflow
read in decode_slice_unit_tiles() from unvalidated PPS tile geometry
(CVE-2026-45382) and heap OOB read in decode_slice_unit_WPP() via an
out-of-bounds CtbAddrRStoTS access (CVE-2026-45383); dec265 SDL fixes
for 4:4:4 streams and mid-stream resolution changes. ABI compatible
with 1.0.18.
Not upgraded to 1.1.x: 1.1.0 reworked the x86 SIMD path to dispatch at
runtime via __builtin_cpu_supports(), which reads the compiler-rt global
__cpu_model. Under this distro's clang/lld toolchain, linking the shared
library then fails with
R_X86_64_PC32 cannot be used against symbol '__cpu_model'; recompile with -fPIC
because clang emits a direct PC-relative access to that exported,
preemptible symbol. Building the objects -fPIC, -Bsymbolic,
--exclude-libs, -fno-direct-access-external-data and a version script
localizing __cpu_model were all tried without success (lld validates the
relocation before applying the localization). 1.0.19 stays on the
compile-time SSE path and builds cleanly, so it is the latest buildable
release here.
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upstream changes (CHANGELOG):
* 3.14.0: significant compression-efficiency and perceptual-quality
improvements for layered image encoding; AOM_TUNE_IQ and
AOM_TUNE_SSIMULACRA2 now work with inter-frame (good-quality and
realtime) modes; Variance Boost (deltaq-mode 6) extended. New
experimental controls AV1E_SET_EXTERNAL_RATE_CONTROL and
AV1E_GET_GOP_INFO. The in-tree "build" directory was removed and
build/cmake moved up one level to cmake/; AOMYV12/AOMI420 img fmts
deprecated. ABI compatible.
* 3.14.1: bug fixes - NULL deref in validate_img() with 10-bit
monochrome input; enlarge cx_data buffer to 2.5x uncompressed frame
size (oss-fuzz). ABI compatible.
Drop both local patches, now upstream in 3.14.1:
* 0001-subpel_variance_neon-Provide-prototypes-for-missing-.patch -
3.14.1's subpel_variance_neon.c includes subpel_variance_neon.h which
declares the previously-implicit prototypes.
* 0001-cmake-fix-nasm-detection-w-3.0.patch - the "-hO" nasm-3.0
detection fix is present in cmake/aom_optimization.cmake (the cmake
dir also moved out of build/ this cycle).
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upstream changes (CHANGELOG.md, 4.2.0):
* VOD/RA: new TUNE-VMAF mode (~15% VMAF BD-rate gain), single-thread RA
mode, RA preset/bitrate tuning for M3-M5, raw OBU output as an
alternative to IVF, and initial_display_delay signalling to fix A/V
sync on seek. New CLI options --cqp, --enable-intrabc, --hbd-mds,
--enable-kf-tf.
* RTC/low-delay: CBR rate control with Kalman-filter QP estimation,
cyclic refresh and frame re-encode; on-the-fly MG size/preset/bitrate/
frame-rate changes; reference-frame management API with LTR;
--max-intra-bitrate-pct / --max-inter-bitrate-pct.
* General: entropy-coding refactor, CDEF/MD/ME optimizations, optimized
screen-content detection and TPL dispatch.
Version-only bump (git tag v4.2.0); no recipe/packaging changes needed.
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
The only upstream change between 5.0.1 and 5.0.2 is a single commit,
"chore: bump min cmake version to 3.5.", needed for CMake 4+.
Drop 0001-Update-cmake_minimum_required-to-3.5.patch, which backported
exactly that change and is now redundant.
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upstream changes (NEWS.md):
* Disallow infinite sizes on all Master elements except Segment+Cluster
and restrict KaxSeekId to 4 bytes, per RFC 9559.
* KaxBlock releases read buffers on EndOfStream error; catch some
internal allocation failures.
* Deprecate KaxTrackMinCache/KaxTrackMaxCache and KaxTrackOverlay
(per RFC 9559); add missing MatroskaChapProcessCodecID enum and
MATROSKA_CHAPTERSKIPTYPE_INTERMISSION.
* Fix MATROSKA_VIDEO_FIELDORDER_{TOP,BOTTOM}FIELDSWAPPED values.
* [API break] remove MatroskaChapterTranslateCodec /
MatroskaTrackTranslateCodec.
* Fix includes not implicit in modern compilers; add a DEV_MODE CMake
option and a build-configuration summary.
Drop 0001-allow-build-with-cmake-4.patch: 1.7.2 already sets
cmake_minimum_required(VERSION 3.5). LICENSE.LGPL is unchanged.
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upstream changes (ChangeLog):
* 1.4.6: mark EbmlHead as not-infinite per RFC 8794; fix leak on upper
element found inside the last element; EbmlString::ReadFully and
EbmlUnicodeString use std::string / automatic memory management;
IOCallback avoids reading more than 2^32 at once; fix includes not
implicit in modern compilers; download utfcpp automatically; add a
DEV_MODE CMake option and a build-configuration summary.
* 1.4.7: fix cmake rules for building with utf8cpp 4.x (upstream #344).
libebml now uses utf8cpp (utfcpp) for Unicode string handling rather
than a bundled copy: CMakeLists does find_package(utf8cpp) and otherwise
FetchContent-downloads it. Add DEPENDS = "utfcpp" (OE-core provides
utfcpp 4.1.1) so the system copy is used and the offline build resolves
utf8cpp::utf8cpp.
Drop 0001-allow-build-with-cmake-4.patch: it backported the
cmake_minimum_required(VERSION 3.5) bump that is now in 1.4.7 upstream.
Update the LICENSE.LGPL checksum for an upstream reformatting of the
license file (content still LGPL-2.1-only).
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Advance the pinned SRCREV to the current tip of jchampio's master. The
latest tagged release is still 0.1.2 (already reflected in PV), and the
23 new commits are entirely test-infrastructure work: porting the test
suite from Python 2 to Python 3/asyncio/websockets and adding coverage
for the module APIs. None of them touch the module sources that get
built and installed, so the shipped mod_websocket.so is functionally
unchanged; this simply keeps the git-tracking recipe on the current tip.
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upstream changes:
* 2.650: new Systemd Services, GRUB 2, and Kea DHCP modules; WebSocket
proxy support in Servers Index; Alpine Linux support; Let's Encrypt
IP-based certificate support; editable SSH public keys in Users and
Groups.
* 2.651: Certbot certificate request/renewal fixes; fix live activation
of Linux bond interfaces.
* 2.652: global per-user ACL to block URL downloads from non-public IPs;
fix hex HTML entity recognition; fix session checks with HMAC session
keys; fix Usermin switching to use one-time login URLs.
* 2.653: fix missing xmlrpc-lib.pl; fix partially installed Debian
package listing; Authentic theme improvements.
Recipe changes:
* Drop init-exclude.patch: both hunks (init/index.cgi commented-out
runlevel loop and init/init-lib.pl exclude= support) are now
incorporated in upstream webmin 2.653.
* Refresh net-generic.patch: upstream added alpine-linux to the
os_support line in net/module.info; refresh the patch context.
* Refresh net-lib.pl.patch: context shifted by 4 lines with fuzz 1;
refreshed against 2.653 (same fallback to debian-linux-lib.pl).
* Remove webmin-openrc-init from do_install: webmin 2.653 ships a new
webmin-openrc-init script that references /sbin/openrc-run, which is
not available on systemd-based distros; remove the file to avoid an
unresolvable RDEPENDS QA failure.
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Major version jump (1.x → 2.x series). Key upstream changes:
* 2.x dropped the legacy Netdata Cloud Agent-Cloud-Link (ACLK) and
merged cloud-connectivity into the main binary; ENABLE_ACLK and
ENABLE_CLOUD cmake options removed. OpenSSL and libcurl are now
mandatory build dependencies (no longer optional via PACKAGECONFIG).
* Improved database engine, new collectors (systemd-units, OTel,
scripts plugin), and expanded Go plugin with SNMP overhaul.
* 2.10.x stabilization: fix ZFS-related crashes, eBPF shared-memory
pool leak, SNMP counter wrapping, database engine memory safety.
* 2.10.4: larger patch for stability, memory safety, and crash
resilience across database engine, streaming, and collectors;
backports new macOS hardware sensor collectors.
Recipe changes:
* Add curl and openssl to mandatory DEPENDS (both now REQUIRED by
cmake); remove PACKAGECONFIG[openssl] and PACKAGECONFIG[cloud].
* Remove webui_v0/v1/v2 PACKAGECONFIG entries and associated
do_install block (the webui architecture changed in 2.x).
* Remove -DENABLE_ACLK=OFF from EXTRA_OECMAKE (option no longer
exists); keep -DENABLE_EXPORTER_PROMETHEUS_REMOTE_WRITE=OFF.
* Refresh 0002-Do-not-hardcode-systemd-unit-directories.patch for
2.10.4 (the BUILD_FOR_PACKAGING/systemd service install blocks
shifted ~1119 lines; same substitution preserved).
* 2.x vendors its own libsensors copy which needs flex/bison to
generate its config lexer/parser at build time; add flex-native
and bison-native to DEPENDS.
* Protobuf detection now runs unconditionally (used by several 2.x
exporters/collectors even with the remote-write exporter disabled);
add protobuf and protobuf-native to DEPENDS and point cmake at the
native protoc via Protobuf_PROTOC_EXECUTABLE.
* Disable several 2.x features that reach out to the network at
configure time and cannot work in an offline build:
- ENABLE_PLUGIN_OTEL / ENABLE_PLUGIN_OTEL_SIGNAL_VIEWER (pull in
Rust/Corrosion via CMake FetchContent)
- ENABLE_PLUGIN_SCRIPTS (requires Go, same as ENABLE_PLUGIN_GO)
- ENABLE_ML (FetchContent-downloads dlib)
- ENABLE_LIBBACKTRACE (ExternalProject-downloads libbacktrace)
- ENABLE_DASHBOARD, now exposed as PACKAGECONFIG[dashboard] and
off by default (the local agent dashboard isn't shipped in the
release tarball; enabling it makes cmake fetch it from
app.netdata.cloud at configure time)
* BUILD_FOR_PACKAGING=ON now also installs sysusers.d/tmpfiles.d
snippets under ${nonarch_libdir}; remove them in do_install since
user creation is handled by useradd.bbclass and tmpfiles by our own
netdata-volatiles.conf, avoiding an "installed but not shipped" QA
failure from duplicate/unmanaged files.
* Fix three new-in-2.x reproducibility leaks that embed host build
paths into the packages (buildpaths QA, an error in oe-core's default
ERROR_QA):
- Add 0003-Do-not-record-the-configure-command-line-in-the-binar.patch:
2.x bakes the full cmake invocation into config.h for
"netdata -W buildinfo"; the collected flags include --sysroot= and
-ffile-prefix-map= and so leak ${WORKDIR} into the binary.
- Add 0004-libsensors-do-not-emit-line-directives-in-generated-s.patch:
pass bison -l / flex -L so the generated conf-parse.[ch] and
conf-lex.c do not carry absolute #line paths (these live in file
contents, so -ffile-prefix-map cannot rewrite them).
- Remove the shipped build-info-cmake-cache.gz in do_install: it is a
gzipped CMakeCache.txt kept only for buildinfo reporting and is full
of host paths.
Verified with buildpaths promoted back to ERROR_QA: netdata builds and
packages with no buildpaths diagnostics and no /home path remains
anywhere under the package tree.
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>