Richard Purdie [Wed, 8 Apr 2026 07:13:13 +0000 (08:13 +0100)]
oeqa: Drop /git/ from our urls
Using /git/ in our urls is rather old school and not the preferred format now.
Update the urls to the preferred form even if the other ones still work.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Wed, 8 Apr 2026 06:45:09 +0000 (07:45 +0100)]
selftest/scripts: Update old git protocol references
git protocol accesses to our infrastructure are currently struggling and this
has highlighted a number of places we're making those obsolete access forms.
Update them to use https instead of the git protocol since it is preferred
and more reliable.
The devtool test needed quoting to handle the ';' in the url. The -f option
to devtool also shows a deprecation warning so remove that.
There were internal references to git protocol urls inside the nested git
submodules test report, which means those repos need updating to use
new git revisions.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
docbook-xsl-stylesheets: Use str:replace from exslt.org to implement string.subst
Developement for docbook stylesheets has moved to github
there are newer releases available too which include this fix, however
for now nearing 6.0 release this is least intrusive way to move forward
Cargo Changes:
https://doc.rust-lang.org/nightly/cargo/CHANGELOG.html#cargo-1941-2026-03-26 Fixes: CVE-2026-33055 and CVE-2026-33056
Test results:
No changes
Matt Madison [Sun, 5 Apr 2026 13:40:49 +0000 (06:40 -0700)]
systemd: fix packaging of 'run0'
The 'run0' command was introduced with systemd v256. Its
implementation is in the 'systemd-run' program, with
${bindir}/run0 installed as a symlink to that program.
However, when the upgrade to v256 was done (in commit 89b75b46371d5e9172cb496b461824d8551a2af5), the run0 symlink
wasn't packaged into systemd-extra-utils (where systemd-run
is packaged), introducing a hard RDEPENDS from systemd ->
systemd-extra-utils due to the symlink.
Fix this, and return to the softer RRECOMMENDS dependency
between systemd and systemd-extra-utils, by packaging run0
into systemd-extra-utils.
Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Changes since 1.28.0:
* b2a3b2e: Back to development after 1.28.0
* 6ec50ef: tutorials/android: bump up ndkVersion to 29
* 4f6b36b: gst-examples/webrtc: fix error reported with android NDK 29
* 425d36f: gst-examples: webrtc: Update Rust dependencies
* dcb37e2: Release 1.28.1
* 32113a6: Back to development after 1.28.1
* 43421c2: Release 1.28.2
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Changes since 1.28.0
* b2a3b2e: Back to development after 1.28.0
* 835da19: modules: Remove NEWS from git which is generated from full
release notes
* 201b14e: modules: remove RELEASE from git, will be generated from
template on dist
* 6376a84: modules: dist common files from monorepo root
* 57be895: devtools: dots-viewer: Update Rust dependencies
* dcb37e2: Release 1.28.1
* 32113a6: Back to development after 1.28.1
* 43421c2: Release 1.28.2
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Changes since 1.28.0
* b2a3b2e: Back to development after 1.28.0
* 835da19: modules: Remove NEWS from git which is generated from full
release notes
* 201b14e: modules: remove RELEASE from git, will be generated from
template on dist
* 6376a84: modules: dist common files from monorepo root
* 012b257: rtspclientsink: don't error out when stream transport
notifies timeout
* dcb37e2: Release 1.28.1
* 32113a6: Back to development after 1.28.1
* c2ef75a: rtsp-stream: Clear send_thread when it's freed
* 20d3e66: rtsp-client: Lock media when unlinking session medias
* 0882b60: gst: Fix a couple of const correctness bugs around strchr()
usage
* 43421c2: Release 1.28.2
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Changes since 1.28.0
* b2a3b2e: Back to development after 1.28.0
* 539aaa1: python: Caps constructor has a single optional argument
* 18d4781: python: Structure constructor has a single required argument
* 6f21099: python: Add type hints for MapInfo members
* 0df78d0: python: Remove duplicated TestDoubleRange
* d4af24c: python: Add type hint for public fields
* 5f4fe17: python: int|float type is redundant and cause linter issue
* 835da19: modules: Remove NEWS from git which is generated from full
release notes
* 201b14e: modules: remove RELEASE from git, will be generated from
template on dist
* 7694a7d: modules: remove subproject README.md from git
* 6376a84: modules: dist common files from monorepo root
* dcb37e2: Release 1.28.1
* 32113a6: Back to development after 1.28.1
* c43f2b2: python: Add item type annotation to Iterator class
* 49ca53f: python: Make Gst.Bin iterable
* 43421c2: Release 1.28.2
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Changes since 1.28.0
* b2a3b2e: Back to development after 1.28.0
* be2f846: avviddec: Allow stride changes for some decoders
* f0bfd0c: avviddec: Handle field/order changes in mixed interlace mode
* f717c6e: avviddec: Simplify picture_changed helper function
* 0f77771: gst: fix author name: add missing closing angle bracket
* d125725: gst: also adapt author names in the gst_plugins_cache.json
files
* 92ba6c2: avviddec: Don't increment the AVCodecContext frame counter
* 529e7a6: avauddec: Don't increment the AVCodecContext frame counter
* aa02005: avviddec: Forward any ready video frames on gap events
* 0a6950d: gst-libav: avvidcmp: set colorimetry on AVFrame
* adc82d2: libav: Don't process lines that won't be outputted
* 835da19: modules: Remove NEWS from git which is generated from full
release notes
* 201b14e: modules: remove RELEASE from git, will be generated from
template on dist
* 7694a7d: modules: remove subproject README.md from git
* 6376a84: modules: dist common files from monorepo root
* 60c9be9: avviddec: Simplify conditional code in context handling
* b6fbaaf: avviddec: Improve renegotiation debug message
* d94518f: avviddec: Fix handling of mixed interlaced content
* dcb37e2: Release 1.28.1
* 32113a6: Back to development after 1.28.1
* 80cd0ee: avviddec: Refcount codec frame associated with video frame
* 43421c2: Release 1.28.2
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Changes since 1.28.0
* b2a3b2e: Back to development after 1.28.0
* 835da19: modules: Remove NEWS from git which is generated from full
release notes
* 201b14e: modules: remove RELEASE from git, will be generated from
template on dist
* 7694a7d: modules: remove subproject README.md from git
* 6376a84: modules: dist common files from monorepo root
* 8f9c0ad: asfdemux: Error out on files with more than 32 streams
* cb184da: rmdemux: Check if new video fragment overflows the fragment
storage before storing it
* 3bcbda6: rmdemux: Avoid integer overflow when checking if enough data
is available for video fragment
* dcb37e2: Release 1.28.1
* 32113a6: Back to development after 1.28.1
* 37274be: gst-plugins-ugly: update translations
* 43421c2: Release 1.28.2
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Changes since 1.28.0
* b2a3b2e: Back to development after 1.28.0
* 99c68cb: meson: Fix libxml2 not building due to wrong option type
* e973899: cudaupload, cudadownload: Fix CUDA/GL interop copy path
* 83b8417: webrtc: sink floating refs of ICE transports
* 887f2bf: ajasink: Only allow 6 / 8 / 16 audio channels
* a74bd95: mpegtspacketizer: Handle clock change/resets without skew
correction
* 956e714: mxfdemux: fix gst_mxf_demux_pad_get_stream_time ()
* 73bc4b8: tsdemux: Fix Continuity Counter handling
* 3795ca5: tsdemux: Simplify initial packet handling
* 150a7e4: mxfdemux: always send a segment before sending eos or
segment-done
* 3fdc449: codectimestamper: Fix latency query handling
* 530a52f: vtdec: Always reset flushing flag in flush()
* 4dfe11e: vtdec: Fix a very slight race in handle_frame() when
flushing
* 0a5e48c: vtdec: Make sure to reset last flow return when flushing
* ae04185: vtdec: Implement drain() to allow reverse playback
* 9e0e66f: webrtcbin: Check the presence of encoding-name fields in
answer caps
* fe28caa: vadisplay: Fix a couple of new const-ness warnings around
strstr() usage
* b88511e: classifiertensordecoder: Fix uninitialized variable compiler
warning
* 9924971: gstplay: fix reference counting
* f721368: v4l2: Add support for AV1 V4l2 decoder
* 0fd06de: vulkan/ios: Fix scaling and resizing with UIView
* 0708627: audiobuffersplit: Correctly calculate adapter start/end
running time for negative rates
* 9ae3903: audiobuffersplit: Use the output segment for output related
calculations
* 1a9c31f: audiobuffersplit: Don't use floating point divisions
unnecessarily
* 5e9ff8c: audiobuffersplit: Log if an input buffer has the discont
flag set or not
* 2ded76c: audiobuffersplit: Send any pending segment before
EOS/SEGMENT_DONE
* 72b9964: audiobuffersplit: Handle SEGMENT_DONE the same way as EOS
* 1f43861: audiobuffersplit: Convert gap events to silence buffers
* 16a2fef: audiobuffersplit: Implement negative rates correctly
* 6c6aba2: mpeghdec: memory leak fix in MPEG-H Audio decoder plugin
* 63e8a3b: vtdec: Don't re-create session if only the framerate changed
* 9e17a28: audiobuffersplit: fix reverse playback
* 59a7e80: vtdec: Add more debug logging
* 321c742: vtdec: Fix race condition when negotiating during playback
* 030cfc1: wayland: Fix CLAMP operation of maxFALL and maxCLL
* 705376e: objectdetectionoverlay: add support for rotated bounding
boxes
* d2aae83: cea608mux: fix overflow when calculating output PTS
* 05d821e: siren: remove trailing space from klass
* 24d4d91: openni2src: remove trailing space from desc
* 2700371: smoothstreaming: remove trailing space from desc
* d5e0ba7: gst-plugins-bad: remove trailing spaces: update
gst_plugins_cache.json
* f7f24fc: zebrastripe: adapt klass to recommendation
* d032f3c: fieldanalysis: adapt klass to recommendation
* 3c06dee: dtls: fix author name: add missing angle brackets
* 0f77771: gst: fix author name: add missing closing angle bracket
* 4506913: gst-plugins: fix author name: correct incomplete or wrong
emails
* d125725: gst: also adapt author names in the gst_plugins_cache.json
files
* c20ae61: videocodectestsink: fix typo in klass
* b463b8f: unixfdsrc: adapt klass "Src" to "Source"
* 8aa4eff: avtpsrc: adapt klass "Src" to "Source"
* e6348c3: rtpsrc: adapt klass "Src" to "Source"
* d21129f: frei0r-src: adapt klass "Src" to "Source"
* 78ce4b2: tsmux: reduce noise for DEBUG log level
* 5b40409: openh264enc: skip drain for baseline profile
* 53a95b2: openh264enc: remove broken drain and simplify handle_frame
* fafeaef: ajasinkcombiner: Only forward the segment events from the
video sinkpad
* 988666b: meson: Add a subproject for providing the LunarG MoltenVK
SDK
* 5084c9b: vulkan: load video function pointers conditionally based on
codec operation
* 011a06b: waylandsink: make gst_wl_window_commit_buffer handle NULL
buffers
* f201683: vtdec: Fix CM memory leak due to incorrect unref
* 930b4aa: zxing: Minimal support for compiling with zxing-cpp 3.x
* 51f45dc: vabasetransform: copy buffer's metadata at copy when import
buffer
* dbefb70: zxing: Fix version check for zxing-cpp 3.0.1
* 835da19: modules: Remove NEWS from git which is generated from full
release notes
* 201b14e: modules: remove RELEASE from git, will be generated from
template on dist
* 7694a7d: modules: remove subproject README.md from git
* 6376a84: modules: dist common files from monorepo root
* 2601491: vtdec: Avoid busy looping when queue length is smaller than
DPB size
* b76fe59: ladspa: Fix macOS detection
* 291e479: meson: Deprecate `system = 'ios'` in cross files, use
subsystem
* 4aa405d: applemedia: Stop using HAVE_IOS, use TARGET_OS_* macros
instead
* b4eaad5: avfdeviceprovider: AVCaptureDevice manufacturer is more
widely available
* 38655e0: applemedia: Enable EAGL support on tvOS too
* 25fbfd3: vtdec: VTRegisterSupplementalVideoDecoderIfAvailable is
widely available
* e833ae2: vtdec: Software decoders are now more widely available
* 082bc62: avfvideosrc: Add support for newer iOS 17+ APIs
* 190153c: vtenc: Fix build with tvOS
* 1c213de: applemedia: Disable avfvideosrc and avfdeviceprovider on
tvOS/watchOS
* 7807e72: vtdec: Check for AV1 and VP9 support once
* 9d8e01f: macos: Stop using HAVE_OSX, use built-in macros instead
* 86b0957: frie0r, ladspa: Stop using G_MODULE_SUFFIX
* 149cc0e: vtdec: Fix GstVideoCodecState leak
* 2f5b70e: asiosink: Fill silence when paused
* ad31d52: applemedia: elements can now be individually registered with
gst-full
* 8074134: h264,h265ccextractor: Fix framerate in initial caps
* 2efd57c: ccconverter: Reset counters on flush-stop
* af04ec5: vkav1dec: fix to set SavedOrderHints properly
* a10695e: v4l2codecs: Add short and long term controls in linux
headers
* 1721252: h265parser: Store raw short/long term RPS sets
* 8788a6c: codecs: h265dec: Parse extended SPS information
* 54994bb: v4l2codecs: Set long and short term RPS controls
* c22cdd5: build: codecs: Add AV1 decoder to the GIR includes
* 81b283e: build: codecs: Small style improvement
* d795915: build: codecparsers: Install some newly introduce API
headers
* 0fd74d0: build: codecparsers: Create a GIR file needed for since
marking
* 3686103: codec: h265decoder: Fix annotation and constify return value
* 1768b12: build: codecs: Add gir dependency to the new GstCodecParsers
gir
* 282fd81: codecparsers: h265/vc1: Add missing namespace to some
defines
* 9579389: codecparsers: Fix annotation warnings reported at GIR
constructions
* 947d59f: doc: codecparsers: Switch to gi-index
* 13b57d5: meson: Explicitly use cpp_std=c++11 for decklink
* 1ff173e: vavp8enc: set color format chroma
* c1ee041: tensordecoders: fix wrong dims_order check
* cbd357d: onnx: set dims_order on GstTensor
* 94c24fe: vtdec: Fix return value in flush()
* e5f8ddf: vtdec: Make sure VT thread won't get stuck after a
downstream error
* a1c2bb8: vtenc: Make sure draining actually drains all frames, port
fixes from vtdec, unify naming
* 3313eab: vtdec: Fix wrong DPB size check in the output loop
* ab5cead: vtdec: Calculate DTS offset correctly
* 673922a: applemedia: Sort sources list, fix indentation
* 1205741: applemedia: Fix broken HAVE_VIDEOTOOLBOX_10_9_6 define
* c1772be: applemedia: Remove outdated HAVE_VIDEOTOOLBOX define
* 8bcac75: applemedia: Get rid of AVFoundation-related defines
* 68c0b40: avfvideosrc: Small fixes to the plugin header
* 1758e23: applemedia: Small simplifications to the vulkan checks
* 561bfde: dvbsuboverlay: Mark parsed byte array as const
* 69a2c1c: dvbsuboverlay: Add missing bounds checks to the parser
everywhere
* cfb98fe: dvbsuboverlay: Avoid integer overflows and unreasonably
large displays/regions
* fcd957d: libs: jpegparser: boundary checks before copying it
* 8a26fa7: h266parser: Validate tile index bounds in picture partition
parsing
* 080ac76: h266parser: Fix APS ID bounds check in APS parsing
* 00a086a: h266parser: Fix out of bounds write when parsing pic_timing
SEI
* 5285725: h265parser: Validate num_decoding_units_minus1 in pic_timing
SEI
* dcb37e2: Release 1.28.1
* 32113a6: Back to development after 1.28.1
* 6a3b3b6: av1parse: Add the GstAV1ParseStreamFormat enum and helper
functions
* 5b115b5: av1parse: Split the stream format and alignment logic
* 3b7e321: svtav1: fix "Level of parallelism" property type
discrepencies
* 74e26cf: dashsink: test: use playbin3 for DASH playback verification
* b99ef73: dashsink: guard splitmuxsink removal in release_pad during
dispose
* 31a80ef: vulkan: Fix libMoltenVK.dylib not found when installed
* 216d38a: all: GThreadFunc return type fixes
* 9bd09cc: srtpenc: preserve ROC when master key is updated for an
ongoing session
* 7e5161c: av1dec: Enable VIDEO_META and VIDEO_ALIGNMENT for pool
* b72d4cd: av1parse: Fix the consumed typo in _read_leb128
* 47002f8: av1parse: Fix a latent wrong setting of cll in
update_src_caps
* 0426e58: decklinkvideosink: fix element leak in decklink callback
* 16b556c: soundtouch: Only allow up to 192kHz and 16 channels
* 4520fe5: gdppay: Fix null pointer dereference on duplicated caps
event
* cf7ec94: h264parse: Do not update valid DTS and duration
* d850e77: h265parse: Update buffer duration only when it's invalid
* eb67339: vtdec: Store supplemental codec support in a global variable
* fb821c3: onnx: set default pixel-aspect-ratio
* 8e2db48: tflite: set PAR to 1:1 by default
* b5fa0db: vulkan: Clear mutex when GstVulkanImageMemory is freed
* be3a040: h264parser: Fix memory leak in gst_h264_parser_parse_nal()
* 18dd8d6: tsmux: Fix integer overflow in SCTE35 NULL interval
* 95b4388: gst-plugins-bad: update translations
* 07c0ecc: dtls: unregister signal handlers from connection
* e8b7cc0: vp9parse, av1parse: Remove segment clipping to let
downstream handle frame boundaries
* 259d5e7: vtdec: Do not hold the stream lock when pushing out frames
* 72afb2c: nice: Fix leak of nice thread
* 391d843: vulkanvp9dec: Fix case in device-specific factory name
* 09872a7: wasapi2sink: Ignore device errors from default device
* 5d165e6: mxfdemux: reject corrupted index entry
* a277cb4: mxfdemux: add reversed temporal offset bound check
* 384e65b: waylandsink: fix waylandsink crash when call window flush
* 9552c85: wlwindow: fix viewport source outside buffer when play
resolution change stream
* 8320b8d: vtdec: Supplemental VideoToolbox decoders now registered via
vtutil helper
* dea92e8: vkswapper/vksink: Don't advertise unsupported formats
* c8a404b: shm: fix shmsink exit code 1 on clean shutdown
* 5dfb388: wayland: display: Add protection when replacing wl_output
* 0882b60: gst: Fix a couple of const correctness bugs around strchr()
usage
* 5ed6a6d: wasapi2: Log target device information
* b05db6e: sctp: Set number of outgoing & incoming streams to the same
value
* 6e69d47: applemedia/vtdec: handle decoder error status for iOS
* cf067cc: applemedia/vtenc: make sure to NULL terminate the level
string
* 299ffee: vtenc: restart even if VTCompressionSessionCompleteFrames
fails
* a8d3ce8: vtdec: Also reset session when output_callback gets a
kVTVideoDecoderMalfunctionErr
* 63efa3c: waylandsink: Properly reset the tag orientation
* 701194a: nvcodec: Add capability caching to speed up plugin
initialization
* 18851f9: vtdec: Don't leak RGBA64_LE caps during class init
* 327188d: vtdec: Fix incorrect setting of bitfield / flag
* b5af409: vtdec: Invert order of output caps to match our preference
* e265144: macos: Set activation policy in vulkansink (MoltenVK)
* f9cc731: jp2kdecimator: Fix some possible integer overflows in size
checks
* e900fe1: jp2kdecimator: Avoid integer overflows and divisions by zero
on invalid tile configurations
* ad02aae: h264parse: Remove pointless allocation failure handling
* 43a89cd: h264parse: Avoid NULL pointer dereferences when freeing
partially parsed SPS/MVC data
* c2690af: h266parser: Avoid integer overflow when parsing profile /
tier / level
* 845e9cf: av1parse: Avoid signed 32 bit integer overflow when parsing
LEB128 values
* f9d57db: av1parse: Be more explicit about available data when parsing
LEB128 values
* 6e84260: av1parse: Allow G_MAXUINT32 as LEB128 encoded value
* 00d6368: av1parse: Correctly reject LEB128 values where the 8th byte
has the high bit set
* 871ac21: vmncdec: Set cursormask to NULL to prevent double free
* 43421c2: Release 1.28.2
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Changes since 1.28.0
* b2a3b2e: Back to development after 1.28.0
* 99c68cb: meson: Fix libxml2 not building due to wrong option type
* 8388e74: qtdemux: Improve debug output around seek event handling
* db3c0c6: qtdemux: Rename last mention of last_stop to position
* 19e3c57: qtdemux: Set the segment position to the start on EOS in
reverse playback mode
* 5c681d2: v4l2: Add v4l2av1dec stateful decoder support
* 6438539: v4l2: update gst plugins cache
* d3c0283: vpxdec: Support downstream pools with alignment requirements
* 0edccca: qtdemux: Don't ignore flow return when pushing queued
buffers downstream
* ff3edfc: qtdemux: Make sure to not output the same samples multiple
times in reverse playback mode
* d415a2b: qtdemux: Push raw audio/video buffers downstream in reverse
order if rate < 0
* e1c1979: wavpackparse: Parse 32 bit sample rate and channel masks
* 74d8469: wavpackparse: Print hexadecimal numbers with leading zeroes
for easier reading
* d296187: wavpackparse: Sync flags with latest wavpack
* 4ad4418: wavpackparse: Include sample type (int / float / dsd) in the
caps
* 6631df5: wavpackparse: Correctly parse and advertise depth vs. width
* f4d6909: wavpackdec: Set OPEN_NORMALIZE flag to normalize floating
point samples into the [-1,1] range
* 7005bb5: wavpackdec: Allow up to 4096 channels and up to maximum
sample rate
* 7514ac2: wavpackdec: Re-create wavpack decoder on caps changes
* 2cda74a: wavpackdec: Output 24 bit samples as actual 24 bit samples
* 69e76ae: wavpackdec: Allocate output buffer via the base class
* 293e350: wavpackdec: Output 18 and 20 bit as their corresponding
formats
* 4d3bdcb: wavpackenc: Extend caps a bit
* c5143e8: wavpackenc: Map buffer readwrite for channel reordering
* 3db67a3: wavpackenc: Add support for S8/S16/S18/S20/S24/S32 and F32
samples
* 4704dfe: wavpack: Update plugin docs cache
* d333aeb: qml6glsrc: Fix rendering of scene with clipped items
* ee8e500: qml6glsrc: Fix scraping of QQuickWindow content
* 2b09aec: rtpsource: Add locking for receive reports table
* eaadb4d: gst-plugins-good: fix author name: Kentaro Fukuchi
* 0f77771: gst: fix author name: add missing closing angle bracket
* e92f814: rtph263pay: fix author name: where not separated by ','
* 4506913: gst-plugins: fix author name: correct incomplete or wrong
emails
* d125725: gst: also adapt author names in the gst_plugins_cache.json
files
* f68c471: rtpptdemux/rtpssrcdemux: adapt klass "Demux" to "Demuxer"
* 75ae4d7: gstrtspsrc: Set new mki in the encoder upon crypto update
* 09635fe: rtspsrc: Memory leak in gst_rtspsrc_close() when
GST_RTSP_EEOF error occurs
* 835da19: modules: Remove NEWS from git which is generated from full
release notes
* 201b14e: modules: remove RELEASE from git, will be generated from
template on dist
* 7694a7d: modules: remove subproject README.md from git
* 6376a84: modules: dist common files from monorepo root
* 291e479: meson: Deprecate `system = 'ios'` in cross files, use
subsystem
* 88febbc: osxaudio: Stop using HAVE_IOS, use TARGET_OS_* macros
instead
* c3b73e9: qtdemux: Fix out-of-bounds read when parsing PlayReady DRM
UUIDs
* b4558a4: rtpqdm2depay: error out if anyone tries to use this element
* 1171ae8: wavparse: Remove pointless duplicated GST_ROUND_UP_2()
* 3564405: wavparse: Use unsigned integers for data sizes
* c73a1f4: wavparse: Use GST_ROUND_UP_2() in two more places instead of
a manual implementation
* 8822ee3: wavparse: Define maximum chunk size in a single place
* 081484e: wavparse: Avoid integer overflow and out-of-bounds read when
parsing adtl chunks
* dcb37e2: Release 1.28.1
* 32113a6: Back to development after 1.28.1
* 5ee8c64: rtptwcc: fix feedback packet count wrapping at 255
* 216d38a: all: GThreadFunc return type fixes
* 180a877: rtph264depay: fix invalid memory access in
gst_rtp_h264_finish_fragmentation_unit
* d824117: Qt6GLVideoItem: caps update fixed
* d6ed0a0: qtdemux: fix invalid WebVTT timestamps
* b8436bf: wavparse: Avoid overflow in length when setting
ignore-length=true
* 586ff9c: wavparse: Fix parsing of RF64 wave files
* b08a64e: rgvolume: don't apply dBSPL reference level compensation for
LUFS values
* 9ca0bd6: hlsdemux2: fix seekable range for live HLS streams
* 100a0e6: qtdemux: Don't immediately push segment after moov in push
mode for fmp4
* 95919fa: wavenc: Skip writing empty LIST INFO chunk
* e717c43: gst-plugins-good: update translations
* 1ac03ff: qtdemux: fix handling of in-between fragments without tfdt
* 457b197: qtdemux: Preserve Metas and Flags when doing row alignment
* 27a9cc0: qtdemux: Avoid integer overflows when handling transform
matrices
* 1279ec9: qtdemux: Don't store 64 bit integers in 32 bit integers to
avoid overflows
* 0871bb2: qtdemux: Check that big enough stco/stsz are available when
parsing sample tables
* 160bba0: qtdemux: Error out instead of trying to handle a truncated
stts box
* b73c493: audioinvert: fix float truncation in transform_float
* bcc8c6e: qmlglsink: Fix for caps tracking on multiple setCaps calls
* 5ebb94c: qt6: Avoid parsing caps on every buffer
* 49bab9c: qt5: Avoid parsing caps on every buffer
* c4f56c0: rtspsrc: Discard early data in ONVIF mode
* 86e640a: rtspsrc: Fix const-correctness issue around strchr() usage
* 48cefc4: flvmux: fix race condition on caps get and check
* dbd4cb4: qtdemux: Avoid division by zero if 0 audio channels are
signalled
* 10fd1ab: qtdemux: Validate chnl defined layout before using it to
index the layouts array
* 3441881: qtdemux: Avoid out-of-bounds reads and writes of 64 item
audio channel positions array
* dc7ab66: qtdemux: Fix bit pattern check for omitted audio channels
map
* bad6721: qtdemux: Add various integer overflow and bounds checks to
uncompressed video handling
* 8aed48f: flvdemux: Avoid assertions on corrupted streams
* 35a905a: wavparse: Fix integer overflow when checking available
buffer size for reading cues
* 0d819ce: wavparse: Use prepend+reverse instead of append when
building the cues list
* 6db6dd0: matroskademux: Add missing parenthesis when calculating bz2
buffer sizes
* 43421c2: Release 1.28.2
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Changes since 1.28.0
* b2a3b2e: Back to development after 1.28.0
* e2c7b85: input-selector: add pad release stress test
* 6cb0626: input-selector: add test eos for remaining non active pad
* c4f4ad2: typefindfunctions: Promote y4m_typefind
* 62629e5: decodebin3: Ensure input->collection is always coherent
* cad6787: decodebin3: Improve handling collection change on existing
pad
* 7365663: rtp: Add mappings for H266 and AV1 encoding-names
* 3d82e94: base: Fix a couple of new const-ness warnings around
strstr() usage
* 848766d: gl: Fix explicit enabling of EAGL support on iOS
* 47576c7: eagl: Auto-resize when the UIView window is resized
* 4faeb36: audiorate: Handle SEGMENT_DONE the same way as EOS
* 2a7e50c: videodecoder: Handle recovery from temporary reordered
output
* d6fb546: playsink: unref color balance channels with g_object_unref()
* efc09c7: decodebin3: Fix switch to smaller collections
* acbe1ed: rtsp: Validate transport parameter parsing in RFC 2326
* 746553b: glsrcbin: adapt klass "Src" to "Source"
* a02c813: audiodecoder: Only forward gap events immediately if no
frames are pending
* 045b7a0: videodecoder: Move gap event handling into a helper function
* ff28f77: videodecoder: Don't directly forward gap events if the
decoder is not drained
* b1c6307: videofilter: Add VIDEO_ALIGNMENT to downstream pool
* 835da19: modules: Remove NEWS from git which is generated from full
release notes
* 201b14e: modules: remove RELEASE from git, will be generated from
template on dist
* 7694a7d: modules: remove subproject README.md from git
* 6376a84: modules: dist common files from monorepo root
* c6ea1f1: compositor: Do copy_metas also for background frame
* 291e479: meson: Deprecate `system = 'ios'` in cross files, use
subsystem
* d765ba7: eagl: Add support for tvOS
* 507fa0a: gstgl: Fix incorrect usage of G_MODULE_SUFFIX on macOS
* e14eecd: video-converter: Do not transform_metas with 0 width or
height
* 133c200: meson: Fix building of examples/gl/qt/qglwtextureshare
* 377a41d: riff: Correctly check that enough RGB palette data is
available
* dcb37e2: Release 1.28.1
* 32113a6: Back to development after 1.28.1
* de557ba: glcolorconvert: Fix NULL pointer dereference on buffers
without video meta
* 216d38a: all: GThreadFunc return type fixes
* ecbaac1: rtpbuffer: Add validation for CSRC list length
* 8b1dec6: rtcp: Fix buffer overread in SDES packet parsing
* 3e5ac12: opusenc: Use correct memcpy() size when copying Vorbis
channel positions
* 8b4ea49: video-converter: fix I420/A420/AYUV BGRA/ARGB output on
big-endian
* cad4597: videorate: Fix unrestored caps on backward PTS
* ae535bd: video: fix too small default stride for UYVP with odd widths
* 6c2d5bd: gl: upload: Optimize EGL format check when there is no
context
* 8112ede: gl: upload: Fix linking glupload with restrictive caps
filter
* 5daccd1: gst-plugins-base: update translations
* 69d7aed: compositor: move gst_compositor_init_blend() to element
class_init
* 2f35652: rtsp: gstrtspurl: Parse URL having user without password
* ae8c618: videodecoder: Fix different seqnum error
* 9e4e4a3: audiodecoder: Fix different seqnum error
* 13f2638: base: audioencoder: Remove fixed caps from srcpad
* 9379c4a: exiftag: Unmap buffer if parsing a rational number gives a
zero denominator
* 87c7096: playback: Make sure to check for empty/any caps before
getting the first structure
* add1c1f: parsebin: Remove pointless casts
* 2a437f9: exiftag: Ignore invalid fractions with numerator/denominator
G_MININT
* 9949c53: audio-resampler-neon: read array operand by hand
* d33fc55: subparse: Replace a `g_strv_length()` in a loop header with
more efficient code
* a41cbb4: subparse: Replace regex string matching / replacing with
plain C string parsing
* 3a81eb4: subparse: Fix handling of closing of multi-byte tags
* 12fc1ed: subparse: Avoid NULL-pointer dereferences in mdvdsub parsing
code
* 7617d9e: typefind: Avoid signed 32 bit integer overflow when parsing
AV1 LEB128 values
* b86af52: typefind: Use a byte reader for parsing AV1 bitstreams
* d9c7e28: typefind: Allow G_MAXUINT32 as LEB128 encoded value when
parsing AV1 bitstreams
* 1f78c53: typefind: Remove dead code in AV1 LEB128 parser
* 66044db: exiftag: Use g_malloc() instead of malloc()
* aeef929: exiftag: Add missing bounds check and integer overflow
protections in various places
* e47f697: exiftag: Parse sensitivity value with the correct number of
bits and endianness
* 7f6db3d: subparse: Fix integer overflow when calculating qttext
timestamp
* 5e78c44: audio-resampler-neon: read array operand by hand, part 2
* 43421c2: Release 1.28.2
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Changes since 1.28.0
* b2a3b2e: Back to development after 1.28.0
* f8b4f2a: input-selector: fix race condition selecting next active pad
* 193b858: input-selector: gracefully handle active pad disappearance
* 52f8be4: input-selector: don't consider pad being released checking
for eos
* c711f7c: input-selector: fix regression receiving eos event
* 3d48df2: input-selector: don't wait for active pad when eos
(active-segment mode)
* 583ae1a: typefindhelper: EOS case explained in more details
* 305fb65: gst: Fix a couple of new const-ness warnings around strstr()
usage
* 88cdc0d: ptpclock: Fix potential out-of-bounds read when parsing
ANNOUNCE messages
* 443fb64: ptpclock: Fix copy-paste mistake in error messages
* c520284: ptpclock: Initialize PTP message to avoid invalid
uninitialized variable warning
* f8f0df1: caps: gst_caps_append_structure should not allow NULL
structure
* d08ede5: aggregator: Various introspection annotations / docs fixes
for vfuncs
* 1a98767: filesink: Add debug category to file write helper
* 1f415d1: filesink: Report write error correctly on Windows
* 1aa6b48: multiqueue: reverse playback: use segment stop position as
start time
* c7e0e43: aggregator: Handle gap event before segment
* 816e87b: bitwriter: Steal owned data in reset_and_get_data()
* 7c2da22: tests: bitwriter: Fix leak in test
* 835da19: modules: Remove NEWS from git which is generated from full
release notes
* 201b14e: modules: remove RELEASE from git, will be generated from
template on dist
* 7694a7d: modules: remove subproject README.md from git
* 6376a84: modules: dist common files from monorepo root
* 291e479: meson: Deprecate `system = 'ios'` in cross files, use
subsystem
* d609133: gstcheck: Disable fork on tvOS and watchOS
* 55bea0a: gstreamer: Stop using deprecated G_MODULE_SUFFIX
* 020a8fd: registry: Skip .dSYM bundles when loading plugins, try 2
* d8b40e3: gst-stats: Also allow ANSI colored logs without 0x in front
of the thread id
* c21305a: gst: Add explanatory comment to call_async implementation
* dcb37e2: Release 1.28.1
* 32113a6: Back to development after 1.28.1
* 216d38a: all: GThreadFunc return type fixes
* e76eebd: registry: Skip recursion into and from .dSYM bundles
* 9a94133: filesink: Fix wrong open() in overwrite mode
* 749cbe0: baseparse: Preserve upstream buffer duration if possible
* f71eb59: bin: iterator is not nullable
* 1b3939b: baseparse: Fix out_buffer leak in frame_free and missing ref
in frame_copy
* 1afd273: gstreamer: update translations
* cf7231d: queue: Fix potential use-after-free in log function
* 43421c2: Release 1.28.2
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Wang Mingyu [Wed, 8 Apr 2026 03:20:23 +0000 (05:20 +0200)]
gstreamer1.0: upgrade 1.26.9 -> 1.28.0
0002-tests-add-support-for-install-the-tests.patch
refreshed for 1.28.0
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Wang Mingyu [Wed, 8 Apr 2026 03:20:21 +0000 (05:20 +0200)]
gstreamer1.0-python: upgrade 1.26.9 -> 1.28.0
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* The closedcaption plugin no longer depends on cairo and pango.
* Explicitly disable new plugins that require external dependencies:
* hip
* mpeghdec
* tflite
* tflite-edgetpu
* tflite-vsi
* vmaf
* wpe2
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Wang Mingyu [Wed, 8 Apr 2026 03:20:16 +0000 (05:20 +0200)]
gstreamer1.0-libav: upgrade 1.26.9 -> 1.28.0
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Wang Mingyu [Wed, 8 Apr 2026 03:20:15 +0000 (05:20 +0200)]
gst-examples: upgrade 1.26.9 -> 1.28.0
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Wang Mingyu [Wed, 8 Apr 2026 03:20:14 +0000 (05:20 +0200)]
gst-devtools: upgrade 1.26.9 -> 1.28.0
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Xiangyu Chen [Thu, 26 Feb 2026 08:19:37 +0000 (16:19 +0800)]
grub: update search parameter
Grub would report an error message in boot stage as below:
"error: no such device: ((hd0,gpt1)/EFI/BOOT)/EFI/BOOT/grub.cfg"
Consequently, the root variable is not set, and the intended protection
against cross-device configuration loading (the purpose of the original 2014 commit)
is lost.
The most robust fix is to use the --hint parameter.
This separates the search target from the device hint, avoiding
fragile string concatenation and supporting both prefixed and
non-prefixed $cmdpath formats.
Ricardo Salveti [Tue, 31 Mar 2026 22:36:02 +0000 (19:36 -0300)]
busybox: enable mkfs.vfat via config fragment
Enable busybox’s mkfs.vfat (mkdosfs) implementation using a dedicated
mkdosfs.cfg config fragment.
While dosfstools provides mkfs.vfat and is available through
update-alternatives, it is licensed under GPLv3. Busybox also includes a
lightweight mkfs.vfat implementation that is suitable for minimal images
and systems relying primarily on busybox utilities.
Upgrade to latest revision of 1.24.0.
- Drop patches included in this release.
- Add patch to fix test-groff not found in cross-compilation.
- Add patch to use SOURCE_DATE_EPOCH in gropdf for reproducible PDF generation.
- COPYING, LICENSES: Refresh GPLv3 text.
- Fix sample code included in the documentation of the
webkit_user_content_manager_register_script_message_handler()
function.
- Fix MP4 muxing when using GStreamer 1.28.
- Fix WebAudio not resuming correctly after using window.alert()
- Fix WebAudio producing incorrect output in some cases due to
incorrect sample buffer management.
- Fix several crashes and rendering issues.
Signed-off-by: Liu Yiding <liuyd.fnst@fujitsu.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Jörg Sommer [Sat, 28 Mar 2026 21:04:18 +0000 (22:04 +0100)]
icu: Workaround buildpaths QA check, if TMPDIR is /build/tmp
The file udatatst.c really contains the string /build/tmp. When building
with kas-container the build directory is /build and hence the TMPDIR
becomes /build/tmp. This triggers the QA check *buildpaths*. To work around
this, slightly modify the string in the source code.
Fix several issues with double quotes in kernel command line
- Kernel options like 'opt="value"' were breaking the parser,
causing the whole reminder of the command line to be ignored.
The code only supported 'opt="word1 word2..."
- Setting variables without removing quotes in the value
- Setting variables to values with spaces without enclosing
the value with quotes. This caused execution errors evaluating
expressions like:
bootparam_opt=word1 word2
The first fix is particularly needed for people using the kernel
"bootconfig" configuration parameters to add options to the kernel
command line:
This mechanism systematically adds quotes around options
with values, for example:
init="/sbin/preinit"
Without the fix, the wrong init program can be started from the
initramfs and debug messages are ignored when "debug" is
present after "init" in the kernel command line.
For readability and performance sake, also use shell variable operators
instead of "sed" to remove leading and trailing quotes.
Tested both on host and target machines.
With the below kernel command line:
rootwait init="/sbin/preinit" debug root=/dev/mmcblk0p2 console=ttymxc0 dyndbg="file drivers/usb/core/hub.c +pltf" quiet
The following variables are set:
bootparam_rootwait="true"
bootparam_init="/sbin/preinit"
bootparam_root="/dev/mmcblk0p2"
bootparam_debug="true"
bootparam_console="ttymxc0"
bootparam_dyndbg="file drivers/usb/core/hub.c +pltf"
bootparam_quiet="true"
Signed-off-by: Michael Opdenacker <michael.opdenacker@rootcommit.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Patrick Wicki [Thu, 26 Mar 2026 16:06:50 +0000 (17:06 +0100)]
systemd: backport fix for tpm2 without efi support
See https://github.com/systemd/systemd/pull/41231 or the patch commit
message for details. The regression affects v259.1 to 259.5 as well as
v260.1. Requested a backport to v259 but for now a patch is needed.
Signed-off-by: Patrick Wicki <patrick.wicki@siemens.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Latest autoconf is splitting long cmd lines in config.status
it generates using sed/awk to have compatibility with
platform like HPUX,Solaris,AIX which is understandable given
autotools try to achieve wider portability, however, this does
mean that in OE builds we might get these newlines added in
places dividing commands including buildpaths in them and the
methods deployed to scrub them from output artifacts will fail
since the string is now on two lines resulting in build QA to
pass but the strings do sneak in affecting reproducibility
one such example is e2tools recipe in meta-filesystems and there
perhaps are more
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
As of ghostscript 10.06.0 the build is good with C23[1] and our cross
compiler is 15.2, so we can stop adding -std=gnu17 to the target CFLAGS.
However, our buildtools are currently using GCC 14.2 which has the
interesting behaviour that it has a -std=gnu23 option but does not then
actually claim to support C23:
This then interacts badly with autoconf 2.73 which tells the compiler to
use C23, breaking stdpre.h which handles a number of different
compilers and C standards.
A bug has been filed with ghostscript[2] to try and handle this this
case in the source, but a workaround is to tell the native compiles to
explicitly use C17.
Martin Jansa [Thu, 2 Apr 2026 00:14:58 +0000 (02:14 +0200)]
native/cross: ar wrapper: don't prepend 'D' when @<file> is used
In some cases bazel-native build calls ar with
@<file> - read options from <file>
syntax, where the ar params are generated in *.param file by
separate bazel action before ar is called.
Unfortunately this intercept breaks that syntax by prepending D like:
Don't try to inject D into first line of @<file>, lets assume the caller
uses D already (bazel uses 'rcsD' by default).
* Ar flags for combining object files into archives. If this is not set, it
* defaults to "rcsD".
* TODO(b/37271982): Remove after blaze with ar action_config release
Signed-off-by: Martin Jansa <martin.jansa@gmail.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Sets the correct license for the libgcc-src package. Note that even
though the package is not in PACKAGES, it is implicitly added when
PACKAGE_DEBUG_SPLIT_STYLE is "debug-with-srcpkg" (the default). This
was likely not noticed sooner because the fix to allow the code to
detect this was relatively recent in 1816c5a5e7 ("lib/package: Check
incompatible licenses at packaging time")
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Tue, 7 Apr 2026 16:23:37 +0000 (17:23 +0100)]
busybox: fix DISTRO_FEATURES detection
Changes to how DISTRO_FEATURES is evaluated meant that busybox was using
a partial DISTRO_FEATURES and thus disabling features it should not be.
This is due to the use of immediate assignments which are evaulated
before the final value is calculated (by anonymous Python in base.bbclass).
Remove entirely DO_IPv4/DO_IPv6 as they're used once, replacing with
inline bb.utils.contains_any().
Remove the immediate assignments to OE_FEATURES/OE_DEL so that they are
evaluated on use. The evaluation is expensive, but it only happens once.
[1] oe-core 159148f4de ("meta: Support opting out of any distro features")
Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Tue, 7 Apr 2026 21:02:26 +0000 (22:02 +0100)]
classes/sbom-cve-check-recipe: add recipe-scanning class
Add a second sbom-cve-check class that scans the recipe-SBOM, unlike
sbom-cve-check.bbclass which scans specifically an image's SBOM.
In most cases, image-derived SBOM scanning is preferred as this is able
to analyse the actual content of the image, e.g. reporting just the
kernel issues that have actually been compiled into the image (for
linux-yocto 6.18.19, this reduces the CVE count from 108 to 52).
However, for metrics or other specific purposes it might be useful to
scan a recipe-SPDX, so add a class that can do this.
Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Tue, 7 Apr 2026 21:02:25 +0000 (22:02 +0100)]
classes/sbom-cve-check: extract common functionality to a -common.bbclass
Extract the common configuration variables and run_sbom_cve_check() that
actually invokes sbom-cve-check to a separate class, so that other
classes that are not tied to image generation can use the same logic.
No code changes, just movement.
Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Benjamin Robin [Tue, 7 Apr 2026 21:02:21 +0000 (22:02 +0100)]
sbom-cve-check-update-db: Fix unpack removing other databases
Previously, `UNPACKDIR` was set to `${SBOM_CVE_CHECK_DEPLOY_DB_DIR}`,
which points to the `./databases/` directory and may contain multiple
databases. Since `do_unpack` cleans the `${UNPACKDIR}` directory,
`UNPACKDIR` must only contain a single database.
To address this, set `UNPACKDIR` to
`${SBOM_CVE_CHECK_DEPLOY_DB_DIR}/${SBOM_CVE_CHECK_DB_NAME}` and
configure `destsuffix` to an empty string. However, it is currently not
possible to set `BB_GIT_DEFAULT_DESTSUFFIX` to an empty string, so
`destsuffix` is configured through the SRC_URI instead.
Signed-off-by: Benjamin Robin <benjamin.robin@bootlin.com> Tested-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The `do_populate_lic` task was failing because it runs after `do_patch`,
but the indirect dependency on `do_unpack` was lost when the `do_patch`
task was deleted.
It is safe, and even preferable, to retain the `do_patch` task, as this
allows users to apply patches to their CVE databases.
When "wic create ..." is invoked with a bare *wks name (i.e. without the
`.wks` extension), wic calls engine.py:find_canned_images() to find the
fully qualified *wks file. This function searches every directory formed by:
- permutating all BBLAYERS with `/wic`
- permutating all BBLAYERS with `/scripts/lib/wic/canned-wks`
- checking `<scripts_path>/lib/wic/canned-wks`
Where `<scripts_path>` is the directory containing the wic program.
When wic is part of oe-core, the last search path succeeds in finding
the canned *wks files in `<topdir>/scripts/lib/wic/canned-wks` (since
the wic program is found in oe-core's `<topdir>/scripts` directory, and
`<topdir>/scripts` is not a BBLAYER).
However, once wic is removed from oe-core, this algorithm will not find
these bare *wks files in any of the above-mentioned search paths since
the oe-core layer will no longer be the home of the wic program, and the
canned *wks files are not located in any directory relative to BBLAYERS.
Since these *wks files are specific to oe-core's meta layer, they should
stay with this layer. Therefore move the *wks files so they exist in one
of the locations searched relative to oe-core/meta's BBLAYERS.
NOTE: this patch is in preparation for removing wic from oe-core
the wic oe-selftests work fine with this patch being added now
[RP: Updated meta/wic -> meta/files/wic] Reviewed-by: Bruce Ashfield <bruce.ashfield@gmail.com> Reviewed-by: Mark Hatle <mark.hatle@kernel.crashing.org> Signed-off-by: Trevor Woerner <twoerner@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Sun, 5 Apr 2026 07:05:09 +0000 (08:05 +0100)]
image_types_wic: Add files/wic to the search path for wks files
With the move of wic to a standalone tool, "files/wic" makes the most
logical place to look for files in the standard layer structure. Add
this to the search path.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The wic utility will no longer be integrated into the oe-core
repository. However, the wic utility will continue to exist under The
Yocto Project umbrella. This will allow wic to be more easily used
independently of bitbake and oe-core.
The primary repository for standalone wic will be:
https://git.yoctoproject.org/wic
Reviewed-by: Bruce Ashfield <bruce.ashfield@gmail.com> Reviewed-by: Mark Hatle <mark.hatle@kernel.crashing.org> Signed-off-by: Trevor Woerner <twoerner@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Delete the wic.Wic2.test_sparse_copy test since it tests code that is
internal to wic itself. Once wic is removed from oe-core it will not be
possible to test this function from this layer.
NOTE: this patch is in preparation for removing wic from oe-core
the wic oe-selftests work fine with this patch being added now
Reviewed-by: Bruce Ashfield <bruce.ashfield@gmail.com> Reviewed-by: Mark Hatle <mark.hatle@kernel.crashing.org> Signed-off-by: Trevor Woerner <twoerner@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The wic oe-selftest defines its own class (WicTestCase) for handling
setup, teardown, and various other pieces needed to run the individual
wic oe-selftests. As part of oe-core, the wic.CLITests do not need
setup and teardown. However, once wic is no longer part of oe-core, the
oe-selftests will need to know where to find wic that comes from a
recipe. Update PATH so wic will be available.
NOTE: this patch is in preparation for removing wic from oe-core
the wic oe-selftests work fine with this patch being added now
AI-Generated: codex/gpt-5.4 (high) Reviewed-by: Bruce Ashfield <bruce.ashfield@gmail.com> Reviewed-by: Mark Hatle <mark.hatle@kernel.crashing.org> Signed-off-by: Trevor Woerner <twoerner@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add a recipe for the external wic utility from
https://git.yoctoproject.org/wic. Add wic to the list of native
wic-tools, and make it a dependency of the image bbclass for wic images.
Add myself as maintainer for this new recipe, as well as the wic-tools
recipe (which did not have a maintainer).
NOTE: this patch is in preparation for removing wic from oe-core
the wic oe-selftests work fine with this patch being added now
Reviewed-by: Bruce Ashfield <bruce.ashfield@gmail.com> Reviewed-by: Mark Hatle <mark.hatle@kernel.crashing.org> Signed-off-by: Trevor Woerner <twoerner@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
weston-init: add repaint-window=10 to [core] config
Weston's default repaint-window is 7ms. At 60 fps the vsync interval is
~16ms. Under load (multi-surface composition or 4K fullscreen
weston-simple-egl), the compositor cannot complete repaints within this
window, causing up to 50% FPS drops.
Changing repaint-window to 10ms gives the compositor sufficient time to
complete repaints before vblank while retaining a 6ms buffer acquisition
window, improving frame delivery consistency without introducing additional
frame latency.
Signed-off-by: Yash Gupta <ygupt@qti.qualcomm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Thu, 2 Apr 2026 10:42:45 +0000 (11:42 +0100)]
conf/packagegroups: Drop usbhost/usbgadget from DISTRO_FEATURES to MACHINE_FEATURES
Whilst the intention was good, nobody really needs to exclude usbhost/usbgadget from a distro
level any more, it is sufficient to have it as a machine feature which configuraitons
could disable.
At the distro level it just confuses people and looks very dated, so
drop it to a machine feature only.
Instead, for distro level control you could simply now do:
MACHINE_FEATURES:remove = "usbgadget usbhost"
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Thu, 2 Apr 2026 10:37:12 +0000 (11:37 +0100)]
conf/packagegroups: Drop pcmcia from DISTRO_FEATURES to MACHINE_FEATURES
Whilst the intention was good, nobody really needs to exclude "pcmcia" from a distro
level any more, it is sufficient to have it as a machine feature which configuraitons
could disable.
At the distro level it just confuses people and looks very dated, so
drop it to a machine feature only.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Barker [Fri, 3 Apr 2026 08:38:33 +0000 (09:38 +0100)]
oelib: utils: Support opting out of all features
If '*' is present as a separate token in DISTRO_FEATURES_OPTED_OUT or
MACHINE_FEATURES_OPTED_OUT, interpret this as opting out of all default
features.
If '*' is part of a larger word, this is not treated specially - 'FOO*'
will not trigger removal of all features.
This is implemented in set_difference() so that the behaviour can be
reused in other similar processing we may need to do in the future.
Signed-off-by: Paul Barker <paul@pbarker.dev> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Barker [Fri, 3 Apr 2026 08:38:32 +0000 (09:38 +0100)]
bitbake.conf: Document renamed default machine/distro features vars
Adding support for opting out of any machine/distro features has
obsoleted a few variables, add them to BB_RENAMED_VARIABLES so that
users get an error if they try to use the old names.
Signed-off-by: Paul Barker <paul@pbarker.dev> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Barker [Fri, 3 Apr 2026 07:37:15 +0000 (08:37 +0100)]
checklayer: Fix current_tune tracking
Previous attempts to fix get_signatures() (see fixes tags below) were
misguided.
SIGGEN_UNIHASHMAP was added by commit 11373def3171
("sstatesig/populate_sdk_ext: Improve unihash cache handling"), and
exists to map taskhashes to unihashes for use by other code.
Importantly, entries in the list are duplicates of entries in
SIGGEN_LOCKEDSIGS_t-* lists but are not split by tune here.
The code in get_signatures() was not updated to handle SIGGEN_UNIHASHMAP
and so was accidentally treating these as additional signatures to check
for conflicts. However, current_tune was stuck at the value of the last
SIGGEN_LOCKEDSIGS_t-* assignment seen, typically x86-64 due to sorting.
So, we got nonsensical errors like the following (split for
readability):
The error only occurred with a hash equivalence server running, since
without one SIGGEN_UNIHASHMAP is empty. It was also non-deterministic -
a task only appears in the unihash map after the hashequiv server has
recorded a mapping for it, which may not happen on the first build after
a metadata change.
After this change, the locked-sigs.inc parser in yocto-check-layer is
still somewhat fragile and we need to be careful with future changes
that modify the locked sigs output. However, we can at least track which
variable we are looking at now :)
Fixes: 225923f3bfec ("checklayer: Really fix regex in get_signatures") Fixes: a2f7052cf832 ("checklayer: Fix regex in get_signatures") Signed-off-by: Paul Barker <paul@pbarker.dev> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Barker [Fri, 3 Apr 2026 11:54:35 +0000 (12:54 +0100)]
sanity: Require tar 1.35 or later on rhel9-alike distros
tar 1.34 (and possibly earlier versions) is unable to extract tarballs
containing read-only files with xattrs. This was fixed upstream, but
it's unlikely at this point that the fix will be backported to RHEL9
related distros (CentOS Stream 9, AlmaLinux 9, Rocky Linux 9). The issue
affects these distros specifically because they have selinux enabled by
default and this uses xattrs.
The specific failure we've seen is with the /usr/lib/udev/hwdb.bin file
installed by the systemd recipe - this file is chmod 0444. This leads to
the following error, typically during do_image_wic (shortened and split
to make it readable):
subprocess.CalledProcessError: Command
'tar --xattrs --xattrs-include='*' -cf - -S -C .../tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0/rootfs -p . |
tar --xattrs --xattrs-include='*' -xf - -C .../tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0/tmp-wic/rootfs2'
returned non-zero exit status 2.
That error message is likely to confuse users, and the fix is not
obvious. So, error out if tar 1.34 or earlier is present on affected
distros and recommend upgrading or using the buildtools tarball.
Signed-off-by: Paul Barker <paul@pbarker.dev> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
ptest-packagelists.inc: add missing whitespace for :append
Noticed while reviewing the log, let's fix those before they create
unexpected problems in the future.
Fixes: 388cd4770e04 ("ptest-packagelists: Exclude ptests from musl which are known to fail") Signed-off-by: Antonin Godard <antonin.godard@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
libxcrypt: Use configure knob to disable warnings as errors
Passing Wno-error via environment flags for target and nativesdk
is intended but is not effective due to command line ordering and
as a result some patches have been added to disable particular kind
of warning as error. Given the scenario, warnings as errors should
be disabled for all builds, this makes it portable across hosts and
across compilers ( gcc, clang ) and glibc versions.
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Adam Duskett [Tue, 31 Mar 2026 09:57:10 +0000 (11:57 +0200)]
librepo: add PACKAGECONFIG[sequoia]
Currently, librepo compiled with -DUSE_GPGME=ON (the default setting)
causes dnf5 to fail importing repository keys. A very long writeup
of the issue is linked below. [1]
Add a new PACKAGECONFIG[sequoia] option which sets -DUSE_GPGME=OFF
and adds rpm and rpm-sequoia to the dependency list which ensures
dnf5 works with repository signing.
Ross Burton [Mon, 30 Mar 2026 13:28:23 +0000 (14:28 +0100)]
diffstat: change configure.in to use standard autoconf
diffstat uses a fork of autoconf which we don't package, but we need to
autoreconf the configure.in because it has buggy macros. The new version
of autoconf however notices that AC_OUTPUT is being called with invalid
arguments and refuses to run.
Luckily it's easy to use standard autoconf: delete the hand-coded
config_h.in so that autoheader runs, and use the standard form of
AC_OUTPUT to generate the Makefile and config.h.
Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
HOSTCC is used for linking as well but does not use any flags that
we can manipulate to add only during link step, we do depend on
what runtime to link to when using clang for host compiler which is
controlled via BUILD_LDFLAGS, therefore add that option to hostcc
This helps building busybox with TOOLCHAIN_NATIVE is set to clang
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
inetutils: Disable format-security warning as error with clang
GCC treats returns from _() as special since they are checked by
msgfmt-c and it knows this can be ignored, clang however does
not have this construct [1] and with latest clang-22 finds more
warnings and since in OE we turn these warnings into errors the
build fails.
Given that this is an addressed case, let clang not treat these
warnings as errors, we still see the diagnostic we just don't
break the build.
binutils: mark CVE-2025-69650 and CVE-2025-69651 as disputed
Both CVEs are disputed by third parties. The observed behavior
(double free / invalid pointer free in readelf) only occurred in
pre-release code and did not affect any tagged version [1][2].
CVE_STATUS[CVE-2025-69650] = "disputed: observed behavior only in pre-release code, does not affect any tagged version"
CVE_STATUS[CVE-2025-69651] = "disputed: observed behavior only in pre-release code, does not affect any tagged version"
U-Boot and barebox both have the vulnerability (signature verification
with FIT images).
Barebox published an advisory[0] linking to the fixing U-Boot commit.
The commit is on U-Boot v2026.04-rc4 and had to be adjusted for v2026.01.
Removed the check for a non-existent property since it was not
supported in v2026.01.
patchtest/selftest: Update selftest to handle non-zero exit code
Use subprocess.run() instead of subprocess.check_output(),
supbrocess.run() return CompletedProcess instance who provide:
- returncode
- stdout and stderr with stderr=subprocess.STDOUT argument
Update callers of test() to capture the return code returned by patchtest along
with the command output.
Include the command return code in analyze_result() and use it to validate test
for XPASS, XFAIL and XSKIP.
This allows selftest to take the command exit status into account when
analyzing results.
Signed-off-by: Naftaly RALAMBOARIVONY <naftaly.ralamboarivony@smile.fr> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Barker [Wed, 1 Apr 2026 17:41:58 +0000 (18:41 +0100)]
meta: Support opting out of any machine features
Add default values to MACHINE_FEATURES using the new
filter_default_features() function.
This change obsoletes the variables MACHINE_FEATURES_BACKFILL and
MACHINE_FEATURES_BACKFILL_CONSIDERED. Instead, all defaults are added
via MACHINE_FEATURES_DEFAULTS and users can opt out of any of these
using MACHINE_FEATURES_OPTED_OUT. Hopefully the variable naming here is
easier for people to understand and remember.
Migration notes:
- MACHINE_FEATURES will now get the default features added
automatically. You will need to review these and add any features you
do not want to use to MACHINE_FEATURES_OPTED_OUT.
- If you previously set MACHINE_FEATURES_BACKFILL_CONSIDERED, use the new
variable MACHINE_FEATURES_OPTED_OUT instead.
- If you previously modified MACHINE_FEATURES_BACKFILL, don't do that.
Signed-off-by: Paul Barker <paul@pbarker.dev> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Barker [Wed, 1 Apr 2026 17:41:57 +0000 (18:41 +0100)]
meta: Support opting out of any distro features
Add default values to DISTRO_FEATURES using the new
filter_default_features() function.
This change obsoletes the variables DISTRO_FEATURES_BACKFILL and
DISTRO_FEATURES_BACKFILL_CONSIDERED. Instead, all defaults are added via
DISTRO_FEATURES_DEFAULTS and users can opt out of any of these using
DISTRO_FEATURES_OPTED_OUT. Hopefully the variable naming here is easier
for people to understand and remember.
Migration notes:
- If you have previously assigned DISTRO_FEATURES without using
DISTRO_FEATURES_DEFAULT, you will now get the default features added
automatically. You will need to review these and add any features you
do not want to use to DISTRO_FEATURES_OPTED_OUT.
- DISTRO_FEATURES_DEFAULT is now unused, the new variable name is
slighlty different to ensure that it is not accidentally used if a
layer hasn't been modified to adapt to the new naming.
- If you previously set DISTRO_FEATURES_BACKFILL_CONSIDERED, use the new
variable DISTRO_FEATURES_OPTED_OUT instead.
- If you previously modified DISTRO_FEATURES_BACKFILL, don't do that.
Signed-off-by: Paul Barker <paul@pbarker.dev> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>