Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package onnxruntime for openSUSE:Factory checked in at 2026-10-26 09:59:39 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/onnxruntime (Old) and /work/SRC/openSUSE:Factory/.onnxruntime.new.2252680 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "onnxruntime" Mon Oct 26 09:59:39 2026 rev:4 rq:1392338 version:1.31.0 Changes: -------- --- /work/SRC/openSUSE:Factory/onnxruntime/onnxruntime.changes 2026-08-25 13:19:36.687947164 +0200 +++ /work/SRC/openSUSE:Factory/.onnxruntime.new.2252680/onnxruntime.changes 2026-10-26 09:59:56.600563573 +0100 @@ -1,0 +2,521 @@ +Sat Oct 24 04:54:57 UTC 2026 - Martin Pluskal <[email protected]> + +- Update to version 1.31.0: + * Stabilize model-package and EPContext data APIs in C and C++, + with EPContext callback support across language bindings. + * Cut CPU session-init overhead via parallel weight prepacking and + faster quantized MoE experts (MLAS QNBit kernels); fused CPU + LinearAttention and FP16 LayerNorm/RMSNorm acceleration. + * Add Arm KleidiAI SVE2.1 FP16 GEMM and more RISC-V vector kernels. + * Enable CoreML device-based execution-provider selection. + * Harden model loading, graph partitioning and tensor validation. + * GatherBlockQuantized with out-of-range indices now yields zero + slices instead of following Gather error semantics. + * Many more fixes and improvements; see upstream's release notes + for the full list. +- Bundled onnx stays at 1.22.0, which is not affected by + CVE-2026-44512 (boo#1271019). +- Add system-gsl-version.patch relaxing the GSL version gate so system + ms-gsl 5.x is accepted (fixes a configure failure that already broke + 1.29.0). +- Add system-cpuinfo.patch restoring the system cpuinfo find upstream + 1.31.0 dropped (same configure failure class). +- Restrict tar_scm tag matching to v* so commits shared with plugin + releases no longer resolve to plugin tags. +- Apply the onnx patch with upstream's flags (its newer hunks need + --ignore-whitespace). +- Spec cleanup: spec-cleaner canonical, plain -devel names kept. + +------------------------------------------------------------------- +Tue Sep 01 14:16:10 UTC 2026 - Paolo Stivanin <[email protected]> + +- Update to version 1.29.0: + * [CUDA] Update cuda archs in packaging pipelines (#31992) + * [CUDA] Add GatedAdd contrib operator (#31835) + * Validate SkipLayerNorm prepacked lengths (#31676) + * Validate whisper beginning_timestamp_token_id bounds (#31636) + * Handle RNN activation parameters safely (#31675) + * Harden CUDA fp16 transpose index math against int overflow (#31644) + * Validate QLinearConv bias size against output channels (#31684) + * Fix TfIdfVectorizer weight indexing semantics (#31649) + * Validate FeatureVectorizer batch sizes (#31671) + * [WebGPU] Add MRotaryEmbedding support (#31976) + * Fix LinearAttention on GPUs with limited shared memory (#31982) + * [WebGPU plugin EP] Update Python package test to only pass one WebGPU EP device (#31699) + * Validate GatherBlockQuantized CUDA indices bounds (#31645) + * Add fused MRotaryEmbedding contrib op for Qwen mRoPE variants (#31728) + * [Build] Fix cuda plugin windows wheel name (#31959) + * [CUDA] Add state_window to LinearAttention and CausalConvWithState to support MTP (#31157) + * Remove onnxruntime/python/tools/tensorrt (unused internal dashboard tooling) (#29395) + * Avoid eager static initialization in ORT (#31964) + * Fix path traversal in TensorRT EP RefitEngine (#29396) + * [WebGPU] Deferred-dispatch to parallelize cold-start shader compilation (#29557) + * [WebGPU EP] Support int64 for Min and Max (#31709) + * Wire max-shape inference into workspace estimation (#31613) + * Weightless support for all initializers (#29607) + * [CUDA] Split matmul nbits gemv to multiple cu files (#31837) + * [CUDA] Fix CUDA 13 packaging build failures (#31748) + * [ARM] MLAS: portable machine-code SVE elementwise kernels, FEXPA exp (#31145) + * Fix GatherBlockQuantized default zero point on CUDA (#31693) + * Make DML runtime fused graph kernel own its model path (#31664) + * [Build] Split matmul_nbits cu files (#31834) + * [Build] Reduce nvcc_threads to 1 for linux cuda plugin ci (#31729) + * Add double support for Cos op on CPU EP (#28975) + * Minimize telemetry context and modernize 1DS integration (#29872) + * [Build] Install complete Perl runtime in Linux packaging images (#31724) + * [MLAS] Add int8 extreme-value coverage for ARM64 SymmQgemm (#31606) + * Validate constant tensor byte size in DML OnnxTensorWrapper (#31665) + * WebGPU: Support int32 and uint32 for CumSum (#31702) + * [CUDA] Skip FP4 QMoE fc1 activation expansion (#31479) + * Add regression test ConstantFoldingCopiesAliasedTensorBuffer for PR 29789 (#29826) + * Update CUDA plugin package outputs (#31722) + * [WebGPU] Initial PagedAttention implementation (1/n) (#31611) + * [CUDA] Add LinearAttentionGate and GatedRMSNorm contrib operators (#31158) + * Use stream-aware scratch buffer in CUDA DeformConv (#31642) + * Fix CUDA BeamSearch fp16 score mapping and add regression test (#31640) + * webgpu: Fix TurboQuant quantized KV cache for batch>1 with per-batch seqlens (#29752) + * Add more paths for cuda plugin ep (#31688) + * onnxruntime-web JSEP deprecation announcement for developers (#31683) + * Add onnxruntime/test/providers/webgpu to plugin-ep-webgpu/paths.txt (#31685) + * [WebGPU] Support odd-N subgroup matrix MatMul weights (#29893) + * Update ort release skill for cuda plugin (#31669) + * [CUDA] GroupQueryAttention: dequantize the K and V caches in one launch (#31480) + * [WebGPU] Accumulate MatMulNBits wide-tile in output_element_t (#29611) + * [CUDA] Speed up the NVFP4 QMoE decode GEMV and enable it for MTP verify (#31159) + * [CPU] Tighten cache_indirection shape contract in MultiHeadAttention (#31634) + * Guard CUDA LayerNorm/RMSNorm int32 offset range (#31650) + * [CUDA] Add build option for TensorRT fused attention cubins (#31632) + * Add ort-release-notes skill to draft release notes (#31614) + * [CUDA] PagedAttention: quantized KV cache, XQA decode, MLA, QK-Norm and head sink (#29912) + * [CUDA] Add win-arm64 packaging and size options to plugin pipeline (#31635) + * [WebGPU plugin EP] Update release and packaging-related docs (#29059) + * Handle empty tensors in CUDA InstanceNormalization (#31647) + * [DML EP] Fix wide string handling in OpKernelInfoWrapper::GetWideName (#31656) + * web: fix webpack/Terser release build crash in Web CI Pipeline (#31652) + * [CUDA] MatMulBlockQuantizedFp8Weight: fold the W8A8 activation QDQ into the decode GEMV (#31481) + * [onnxruntime-web] Plans to deprecate and remove WebGL and JSEP (#29716) + * [WebNN EP] Reuse shared WASM loader for Blob-backed external data (#31151) + * Throw error on negative Split tensor axis [CPU] (#31149) + * [Build] update build flags of cuda plugin CI to avoid OOM (#31622) + * [WebGPU EP] Support int64 for Tile and Concat (#31049) + * [Build] Fix cuda plugin linux build errors (#31616) + * [Build] Fix Windows ARM64 CUDA plugin build (#31617) + * [Build] Disable SM120 TMA kernels with MSVC and CUDA 13 (#31615) + * Fix WebGPU data transfer callbacks on Windows x86 (#31568) + * [Build] Exclude sm120 TMA in Windows Cuda 13 plugin (#31609) + * [CUDA] Speed up 8-bit MatMulNBits dequantization with byte permutes (#31350) + * Fix cuda 13 windows cuda plugin build (#31608) + * [CUDA] Support bfloat16 in AllReduce, AllGather and AllToAll (#31571) + * Fix segfault in MatMulNBits prepacking when weights/scales are parent-graph initializers in subgraph (#31141) + * [OpenVINO EP] Fix get/set_float_initializer_data for raw_data backed float initializers (#31138) + * [WebNN EP] Support LpNormalization op (#31197) + * [CUDA] Coalesce QMoE MXFP4/NVFP4 weight dequantization (#31349) + * [WebGPU] Add GRU operator support (#29840) + * [OpenVINO EP] Fix constant output mis-routing for names containing '/' (#29882) + * [CUDA] Block-scaled MatMul decode GEMV: tensor cores, packed FP4 decode and M-tiling (#31155) + * Fix LinearAttention output shape inference for standard GQA (q > kv) (#29892) + * Correct the overstated exception-free claim in ReadEpContextData (#31195) + * [OpenVINO EP] Support dot-separated KV cache tensor names in stateful (CausalLM) transform (#29895) + * Add AzureContainerRegistry network isolation policy to WebGPU/CUDA plugin EP package test pipelines (#31194) + * [XNNPACK EP] Read Gemm M from the input tensor at Compute time (#31189) + * [WebGPU EP] Support device-free compile-only sessions for offline graph transformation (#29681) + * [WebNN EP] Fix MatMulNBits when K is not a multiple of block_size (#31152) + * [CUDA] QMoE: release raw MXFP4 weight initializers after PrePack (#31154) + * [CUDA] Cut the MoE routing prologue/epilogue cost for small-batch decode (#31156) + * EPContext sample helper follow-ups + compiled-model encryption design doc (#29294) + * [QNN-EP] Add reshape handler for split axes reshape (#29660) + * upgrades adm-zip for onnxruntime-node (#31192) + * Enforce K/V shape consistency in 3D Attention [CPU] (#31190) + * Move PropagateCastOps metadata to compile time (#29648) + * Add verbose trace logs for graph transformer manager (#29569) + * Add model-ingestion error-path tests for InferenceSession (#29558) + * Fix dead dedup guard in GraphTransformerManager::Register (audit F10) (#29556) + * GQA support sliding_window_cache (#29904) + * [CUDA] Address feedback for block-scaled MatMul and MoE GEMV (#29910) + * Fix usage of stream for memory pattern allocation with arena (#29589) + * Delay load shell32 (#30889) + * Split W2 AVX-512-VNNI dispatch into its own TU to work around MSVC C1001 (#29885) + * Fix Dawn WebGPU parallel build race on webgpu_enum_class_bitmasks.h in wasm_inferencing_webgpu_jspi (#29777) + * WebGPU EP: Add uint8 support to Gather kernel (#29861) + * [WebGPU EP] Gate int64 Clip kernel behind enable_int64 (#29918) + * [WebGPU EP] Add PRelu support (#30512) + * [MLAS] Integrate symmetric Q4 SME2 kernels in MatMulNBits (#29898) + * [WebGPU] Loosen the conditions to use Split-K on Panther Lake iGPU (#30514) + * [CUDA] Fuse MoE softmax/top-k into the expert-map prologue at decode (#29919) + * Fix TensorScatter CPU security issue (#29916) + * Add a cuDNN SDPA decode tier to the ONNX standard Attention CUDA kernel (Phase 1) (#29715) + * [js/webgpu] Add DFT operator (#29454) + * [WebGPU EP] Support uint8 for Expand (#29854) + * [WebGPU EP] Support uint8 for Reshape (#29897) + * Update nextjs-default e2e fixture lockfile for security advisories (#29926) + * [MLAS][KleidiAI] Add MatMul, Gemm, and Conv FP16 execution paths (#29709) + * [MLAS] Extend the fp16 direct C output to the 4 bit CompFp32 path (#29901) + * Fix MoE security issue when the attribute k is larger than the number of experts (#29907) + * Fix memory leak in GetOverridableInitializerNames() (#29616) + * [WebNN EP] Support uint8-packed 4-bit GatherBlockQuantized (#29801) + * [MLAS] Document SDE based validation of the ISA dispatch tiers (#29903) + * WebGPU: Support int64 for Add operator (#29844) + * Fix segfault importing onnxruntime from static init order fiasco (#29880) + * Fix NuGet packages missing onnxruntime_experimental_c_api.inc (#29866) + * Fix SM120 FP8xFP4 MoE undefined symbol when both FP8 and FP4 QMoE enabled (#29852) + * [WebGPU] Add Max and Min operators (#29833) + * [CUDA] Add MatMulBlockQuantizedFp4Weight contrib operator (#29818) + * [CUDA] Fuse MoE finalize into FC2 GEMV and skip expandInputRows (#29887) + * [CUDA] Optimize MatMulBlockScaledFp8 GEMV decode (#29896) + * [MLAS] Fix MLAS AVX2 build failure on toolchains without AVX-VNNI assembler support (#28767) + * [CUDA] Serve quantized KV caches with XQA: attention sinks, independent and per-channel scales (#29900) + * Follow-up to #29504: detach csharp/js consumers + harden doc build + track QNN materialize deps (#29577) + * Two-level workspace estimation for MatMulNBits (CUDA EP, fpA_intB/CUTLASS) (#29811) + * [MLAS] Quantize fp16 activations directly on the AVX-512 MatMulNBits CompInt8 path (#29842) + * [Webgpu] Avoid mappedAtCreation staging upload (#29846) + * Validate min_tokens_to_keep in the Sampling op to prevent an out-of-bounds access (#29871) + * [CUDA] Add MatMulBlockQuantizedFp8Weight contrib op (#29850) + * Size default thread pools from ORT_*_NUM_THREADS environment variables (#29688) + * Fix GPU discovery error (#29858) + * Widen the fp16 direct C output to 2 and 8 bit MatMulNBits CompInt8 (#29864) + * [WebGPU EP] Support Cast to and from uint8 (#29839) + * [WebGPU EP] Add AveragePool 19/22 and integer Clip kernel registrations (#29835) + * WebGPU: Add Trilu kernel (#29845) + * WebGPU: Add int32/uint32 support to Tile operator (#29847) + * Fix GCC 15 -Werror build warnings (#29679) + * Add POSIX telemetry (#27379) + * Add decode benchmark comparing ONNX Attention CUDA with contrib GQA (#29684) + * [CUDA] Add NVFP4 native FP4xFP4 prefill for QMoE on SM120 (#29824) + * [MLAS] Add ARM64 NEON fp32 RoPE kernel (#29836) + * [WebGPU EP] Support int64 Clip via a dedicated ClipInt64 kernel (#29834) + * [CPU] Support FP16 GQA with quantized KV cache (#29825) + * [Build] Speed up fpA_intB CUDA build (#29699) + * Skip DXGI device discovery if Win32k system calls are disabled (#29755) + * Add Intel WebGPU subgroup-matrix Gemm f16 kernel (#29813) + * [CUDA] Fix MaxPool wrong values/indices for dilation>1 with non-zero begin padding (#29638) + * WebGPU: Support int64 for Reshape (#29830) + * Validate tensor element enum conversion at compile time (#29646) + * Make TensorProto element sizes compile-time (#29644) + * Allow zero input for EpContext node (#29799) + * Update npm lockfiles to latest versions (#29827) + * Update location of llvm-tblgen for new dawn builds (#29829) + * WebGPU: Add HardSwish support (#29828) + * [MLAS] Run fp16 MatMulNBits through the int8 path without fp32 temporaries (#29791) + * [MLAS] Drop the ignored columnwise flag from the 2-bit fp-zero-point dequant (#29798) + * Fix initializer load for in-memory external data (#29349) + * Fix non-deterministic constant folding output (#29789) + * Fix Incorrect PIP_INDEX_URL piping (#29823) + * Revert "[Build] Use GPU pool to unblock CI temporarily (#29731)" (#29795) + * Add int32 support for CPU Trilu (#29476) + * Enable cuDNN SDPA for contrib Attention (#29717) + * Add rotary embedding onnx domain support (#29261) + * [CUDA] Add NVFP4 support in QMoE (#29697) + * [Build] Fix windows build for sm90 or later (#29776) + * [CUDA] Make cuFFT optional at runtime (#29808) + * [OpenVINO EP] Fix float16 constant-output corruption in FillOutputsWithConstantData (#29729) + * Remove deprecated docfx. Keep newer method for validation docs during… (#29812) + * Avoid redundant LUT buffer initialization (#29690) + * Propagate pip index url to container build stages that require it (#29803) + * [MLAS] Route ARM64 S8U8 QGEMM to the UDOT kernel (#29787) + * [WebGPU] Intel SubgroupMatrix MatMul: batched-B support (#29749) + * [MLAS] Integrate Q4 asymmetric KleidiAI kernels into MatMulNBits (#29654) + * [WebGPU] implements online softmax for non-flash attention webgpu ep (#29724) + * [Performance] Improve CPU masked attention performance (#29719) + * Fix plugin EP allocator deleter lifetime (#29770) + * Add /ort-ci skill for triaging and re-running CI checks (#29721) + * Add VS Spectre-mitigated libs installation step to Windows CI workflows (#29796) + * Harden React Native iOS Detox CI against simulator shell crashes (#29626) + * [MLAS] Vectorize 2-bit blockwise dequantization with fp zero points (#29766) + * Fix type/shape inferencing double recursion for subgraphs (#29617) + * add timeout to every CI job (default is currently 6h when missing) (#29765) + * [Build] install java in Windows nuget packaging (#29774) + * [CPU] Fix output saturation in int8 QLinearSoftmax (#29728) + * [WebGPU] updates webgpu softmax to use online algorithm (#29694) + * Ignore excess data in DFT. (#29680) + * Additional validation in LSTM and DynamicQuantizedLSTM (#29595) + * Add OrtErrorCode::ORT_DEVICE_RESET. (#29748) + * webgpu: add MatMulBnb4 contrib op support (#29587) + * [MLAS] Add RISC-V RVV backend for MLAS QNBitGemm (MatMulNBits) (#29537) + * Enable fpA_intB GEMM in CUDA builds and add configurable options (#29622) + * Fix structure of EpLibraryPlugin::Load so that we call Unload on error. (#29634) + * Add Java setup to Windows x64 QNN CI Pipeline (#29754) + * [WebGPU] Upgrade Dawn to the latest (#29389) + * [MLAS][KleidiAI] Add MLAS Arm64 half GEMM and convolution support (#28786) + * Add Intel WebGPU subgroup-matrix MatMul implementation (#29592) + * Add Windows ARM64 CUDA plugin package and align CUDA metadata/artifact naming (#28896) + * [MLAS] Add AVX2 (+VNNI) 2-bit weight CPU kernels (#29619) + * [ORT] Extend reshape fusion (#29027) + * [CUDA] Fix null allocator passed to plugin EP kernel PrePack (#29658) + * [BUILD] CUDA_QUANT_PREPROCESS off by default and Adjust CI (#29687) + * Fix CPU AvgPool ceil_mode + count_include_pad wrong average (opset 7-18 / MLAS path) (#29629) + * Validate GridSample input spatial dimensions are non-empty (#29255) + * Enable Spectre-mitigated MSVC libs for BinSkim builds (#29624) + * Fix CPU FlashAttention disabled on Linux/aarch64 by detecting L2 cache via cpuinfo (#29621) + * [WebNN EP] Fix scale/zero_point rank for per-axis QDQ on last axis (#29475) + * Detach C++ node tests from ONNX on-disk data/node artifacts (onnx#7959) + retiring equivalence proof + corpus-collapse tripwire (#29504) + * [CUDA] Add cuDNN-free ArgMax/ArgMin/ReduceSum and fix LogSoftmax on plugin EP (#29620) + * [CUDA] Update cuda arch list for packages of cuda 12.8 (#29711) + * [CUDA] Do not link nvrtc (#29705) + * [CUDA] Fix XQA GroupQueryAttention cudaErrorInvalidValue on Blackwell (sm_120) (#29706) + * [Build] Use GPU pool to unblock CI temporarily (#29731) + * Add missing rank/length validation to pooling operators (fix OOB reads) (#29579) + * [web] Support Blob-backed external data for on-demand loading in JSPI builds (#29477) + * [TensorRT] Deduplicate context path helpers (#29640) + * Fix over-copy of packed sub-byte tensors in OrtApi::GetValue (#29157) + * Fix CUDA AveragePool wrong results with asymmetric padding and dilation (#29631) + * Validate initializer data length and guard element-count computation in contrib Range shape inference (#29265) + * Hoist CropAndResize index offset to a named int64_t (#29623) + * Fix JSEP pooling output shape to honor ceil_mode (#29627) + * Add error-path tests for InferenceSession Run/Load/Initialize validation (#29555) + * [webgpu] Enable im2col-matmul for newer Xe platforms; limit to fp16 (#29505) + * webgpu: Bump FlashAttentionDecodeQKV workgroup to 128, tile_size_k_vec to 32 (#29586) + * [ORT] onnxruntime_perf_test: Add multi-shape profiling support to perftest tool (--data_shape) (#29571) + * Guard GridSample CUDA coordinate conversion (#29581) + * Avoid throwing C++ exceptions from WebGPU EP Dawn callbacks (#29625) + * Add IOBinding test for preallocated CPU output buffer reuse (#29566) + * Avoid small MatMul batch parameter heap allocations (#29085) + * Fix libcudart.so.13 hard dependency in pybind module breaking import on CPU-only Linux (#29590) + * Handle non-finite ROI coordinates in CropAndResize (#29605) + * Validate DynamicQuantizeLSTM recurrence quantization parameter shapes (#29254) + * Speed up CUDA build by splitting SM80 MoE GEMM generated files (#29614) + * Skip MinLength logits processor construction when eos_token_id is negative (#29604) + * [CUDA] Support attention_bias in GroupQueryAttention via the unfused path (#29525) + * webgpu: two optimizations for the subgroup Gemm/MatMul kernels: (#29271) + * chore: bump version to 1.29.0 (#29600) + * [WebGPU] Fix OrtReleaseEnv self-deadlock after failed adapter request on Linux (#29591) + * Fix web e2e (npm/vite) and Python DML CI pipelines (#29609) + * Bump onnx to 1.22.0 and protobuf to 6.33.5 to fix security CVEs (#29606) + * [CUDA] Enable native SM90, block_size=32, and fused bias for fpA_intB MatMulNBits (#29585) + * [CUDA] Fix QMoE profiler cross-stream race and CUDA-graph-capture safety (#29584) + * Fix CustomOp forward compatibility: cap version instead of rejecting (#29574) + * adjusts conv kernel to use get/set by offset helpers (#29463) + * Fix rotary embedding oob issue (#29014) + * Validate B/scales/zero_points shape in MatMulNBits::PrePack (#29445) + * Fix signed-int overflow in SamplingState::Init to prevent heap-buffer-overflow (#29443) + * Clamp 1D attention mask_index to valid bounds (#29449) + * Model package: fold external_data into session options and remove legacy directory load path (#29501) + * Fix packed-QKV and broadcast-head bias strides in quantized GQA flash attention (#28963) + * Release outputHandlesArr in OrtTrainingSession.evalStep JNI binding (#29576) + * webgpu: Fix GQA decode split-reduce head_size out-of-bounds race (#29593) + * [CUDA] Fix fpA_intB internal test build: typed nullptr for TryMatMulNBits bias (#29596) + * Recover Conv/ConvTranspose rank from weight when input shape is unknown (#29149) + * Fix extended minimal builds with the Core ML EP (#29387) ++++ 224 more lines (skipped) ++++ between /work/SRC/openSUSE:Factory/onnxruntime/onnxruntime.changes ++++ and /work/SRC/openSUSE:Factory/.onnxruntime.new.2252680/onnxruntime.changes Old: ---- onnx-1.21.0.zip onnxruntime-1.27.0.tar.zst New: ---- onnx-1.22.0.zip onnxruntime-1.31.0.tar.zst system-cpuinfo.patch system-gsl-version.patch ----------(New B)---------- New: 1.29.0). - Add system-cpuinfo.patch restoring the system cpuinfo find upstream 1.31.0 dropped (same configure failure class). New: CVE-2026-44512 (boo#1271019). - Add system-gsl-version.patch relaxing the GSL version gate so system ms-gsl 5.x is accepted (fixes a configure failure that already broke ----------(New E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ onnxruntime.spec ++++++ --- /var/tmp/diff_new_pack.bWr7Xb/_old 2026-10-26 10:00:03.501853115 +0100 +++ /var/tmp/diff_new_pack.bWr7Xb/_new 2026-10-26 10:00:03.504853241 +0100 @@ -18,11 +18,15 @@ %global flavor @BUILD_FLAVOR@%{nil} %define archs x86_64 aarch64 ppc64le - %if "%{flavor}" == "" %bcond_with python %else -%bcond_without python +%define python python%{pyver} +# %%python_sitearch is hardcoded to the system-default python3, not the flavor +# being built, so override it with the flavor-specific platlib path. Otherwise +# the %%install cleanup and %%files reference the wrong site-packages directory +# for any flavor whose version differs from the default interpreter. +%define python_sitearch %{_libdir}/python%{pyver}/site-packages %if "%{flavor}" == "python311" %define pyver 3.11 %define pysuff 311 @@ -38,16 +42,9 @@ %else %{error:Unknown flavor '%{flavor}'} %endif -%define python python%{pyver} -# %%python_sitearch is hardcoded to the system-default python3, not the flavor -# being built, so override it with the flavor-specific platlib path. Otherwise -# the %%install cleanup and %%files reference the wrong site-packages directory -# for any flavor whose version differs from the default interpreter. -%define python_sitearch %{_libdir}/python%{pyver}/site-packages +%bcond_without python %endif - %global sover 1 - # --------------------------------------------------------------------------- # Dependencies # --------------------------------------------------------------------------- @@ -65,25 +62,28 @@ # bundled three are pointed at by FETCHCONTENT_SOURCE_DIR_<name> in %%build, and # FETCHCONTENT_FULLY_DISCONNECTED=ON makes any missing system dep fail the build # instead of attempting a download. +# +# Telemetry is explicitly disabled in %%build. Since 1.29.0 ONNX Runtime can +# also do telemetry on non-Windows platforms, via Microsoft's 1DS SDK +# (cpp_client_telemetry, which drags in curl + mbedTLS + a vendored sqlite/zlib). +# It is off by default upstream -- we pin it off so an upstream default flip +# cannot silently enable it. # --------------------------------------------------------------------------- %define date_ver 3.0.1 -%define onnx_ver 1.21.0 +%define onnx_ver 1.22.0 %define safeint_ver 3.0.28 # eigen 3.4-branch snapshot ORT pins in cmake/deps.txt; bundled only on # Leap/SLE (suse_version < 1699), whose system eigen is the older 3.4.0 release. # (3.4.90 = the post-3.4.0 development version this snapshot reports.) %define eigen_commit 1d8b82b0740839c0de7f1242a3585e3390ff5f33 %define eigen_ver 3.4.90 - Name: onnxruntime -Version: 1.27.0 +Version: 1.31.0 Release: 0 Summary: Cross-platform machine-learning inference and training accelerator -Group: Development/Libraries/Other License: Apache-2.0 AND MIT AND MPL-2.0 AND BSL-1.0 AND BSD-2-Clause URL: https://github.com/microsoft/onnxruntime Source0: %{name}-%{version}.tar.zst - # ----------------------------------------------------------------------- # Bundled FetchContent dependencies (no network access in OBS). # Only the deps openSUSE does not package are bundled; everything else comes @@ -105,7 +105,6 @@ # element_wise_ops.cc needs (added on eigen's 3.4 branch after the 3.4.0 tag). # Factory ships eigen 5.0 and keeps using the system package (see %%prep / %%build). Source25: https://github.com/eigen-mirror/eigen/archive/%{eigen_commit}/eigen-%{eigen_commit}.zip - Patch0: gcc-false-positives.patch Patch1: system-pybind11.patch # Drop ORT's exact-version gate on abseil so the system abseil-cpp can be used @@ -116,46 +115,63 @@ Patch4: system-mp11.patch # Take flatbuffers from the system (alias shared target; schemas regenerated in %%build) Patch5: system-flatbuffers.patch - -# MLAS only supports these architectures -ExclusiveArch: %archs - +# Drop ORT's 4.0 version gate on GSL so the system ms-gsl can be used (its +# SameMajorVersion config rejects the 5.x Factory ships; without this, +# configure falls back to a disconnected download and fails) +Patch6: system-gsl-version.patch +# Take cpuinfo from the system (upstream 1.31.0 dropped the FIND_PACKAGE_ARGS +# its Linux declare had in 1.29.0, so configure falls back to a disconnected +# download; the system cpuinfo already ships cpuinfo_deinitialize as in 1.29.0) +Patch7: system-cpuinfo.patch +# abseil + re2 must be a matched pair (re2 is built against this abseil) +BuildRequires: abseil-cpp-devel BuildRequires: cmake >= 3.28 +BuildRequires: cpuinfo-devel +BuildRequires: execstack BuildRequires: fdupes +# flatbuffers-devel provides the headers, CMake config and /usr/bin/flatc +BuildRequires: flatbuffers-devel BuildRequires: gcc-c++ >= 11 +# Boost.Mp11 (header-only) + BoostConfig.cmake for find_package(Boost) +BuildRequires: libboost_headers-devel +BuildRequires: ms-gsl-devel BuildRequires: ninja +BuildRequires: nlohmann_json-devel +BuildRequires: pkgconfig +# Dependencies taken from system libraries instead of bundling (see deps +# comment above). protobuf21 pins the exact 21.12 the runtime needs and +# provides protoc; do NOT pull the default protobuf-devel (34.x). +BuildRequires: protobuf21-devel BuildRequires: python3 >= 3.11 # python3-base guarantees the /usr/bin/python3 interpreter in the buildroot # (the bare python3 meta does not ship it); used for the flatbuffers schema # regeneration in %%build. BuildRequires: python3-base -BuildRequires: execstack BuildRequires: unzip BuildRequires: zstd BuildRequires: pkgconfig(libpng) BuildRequires: pkgconfig(zlib) -# Dependencies taken from system libraries instead of bundling (see deps -# comment above). protobuf21 pins the exact 21.12 the runtime needs and -# provides protoc; do NOT pull the default protobuf-devel (34.x). -BuildRequires: protobuf21-devel -BuildRequires: ms-gsl-devel -BuildRequires: nlohmann_json-devel -# abseil + re2 must be a matched pair (re2 is built against this abseil) -BuildRequires: abseil-cpp-devel +# re2 kept as plain -devel (not pkgconfig(re2)): it must stay visibly paired +# with abseil-cpp-devel above (re2 is built against this abseil). BuildRequires: re2-devel +# date/onnx/SafeInt are statically linked into the built libraries (the shared +# lib and the python extension); eigen too on Leap/SLE. Declared once here for +# bundled-library tracking. +Provides: bundled(date) = %{date_ver} +Provides: bundled(SafeInt) = %{safeint_ver} +Provides: bundled(onnx) = %{onnx_ver} +# MLAS only supports these architectures +ExclusiveArch: %{archs} # System eigen3: Factory ships 5.0, which has the min/max<NaNPropagation> # ArrayBase overloads ORT needs. Leap/SLE 16.x ship only the eigen 3.4.0 # release, which predates them, so there we bundle ORT's 3.4-branch snapshot # instead (see Source25, %%prep and %%build) and do not require the system one. %if 0%{?suse_version} >= 1699 +# eigen3 kept as plain -devel (not pkgconfig(eigen3)): matches the header +# comment's system/bundled listing and keeps the Leap-conditional split below +# reviewable. BuildRequires: eigen3-devel %endif -# flatbuffers-devel provides the headers, CMake config and /usr/bin/flatc -BuildRequires: flatbuffers-devel -BuildRequires: cpuinfo-devel -# Boost.Mp11 (header-only) + BoostConfig.cmake for find_package(Boost) -BuildRequires: libboost_headers-devel - %if %{with python} BuildRequires: python%{pysuff}-devel BuildRequires: python%{pysuff}-numpy-devel @@ -165,13 +181,6 @@ BuildRequires: python%{pysuff}-setuptools BuildRequires: python%{pysuff}-wheel %endif - -# date/onnx/SafeInt are statically linked into the built libraries (the shared -# lib and the python extension); eigen too on Leap/SLE. Declared once here for -# bundled-library tracking. -Provides: bundled(date) = %{date_ver} -Provides: bundled(SafeInt) = %{safeint_ver} -Provides: bundled(onnx) = %{onnx_ver} %if 0%{?suse_version} < 1699 Provides: bundled(eigen3) = %{eigen_ver} %endif @@ -203,10 +212,10 @@ %if %{with python} %package -n python%{pysuff}-onnxruntime Summary: Python %{pyver} bindings for ONNX Runtime +Requires: python%{pysuff}-flatbuffers # date/onnx/SafeInt are statically linked into the pybind extension (eigen too on # Leap/SLE). Requires: python%{pysuff}-numpy -Requires: python%{pysuff}-flatbuffers Requires: python%{pysuff}-packaging Requires: python%{pysuff}-protobuf Requires: python%{pysuff}-sympy @@ -260,6 +269,14 @@ unzip -qo %{SOURCE11} -d _deps unzip -qo %{SOURCE17} -d _deps unzip -qo %{SOURCE21} -d _deps + +# ONNX Runtime ships cmake/patches/onnx/onnx.patch and normally applies it through +# the onnx FetchContent PATCH_COMMAND. Setting FETCHCONTENT_SOURCE_DIR_ONNX (see +# %%build) makes CMake skip the whole populate step -- patch step included -- so +# apply it by hand here with the same flags upstream uses (its newer hunks rely +# on --ignore-whitespace). Its functional hunk drops .Deprecate() from the +# GroupNormalization-18 schema, which ONNX Runtime relies on. +patch --binary --ignore-whitespace -d _deps/onnx-%{onnx_ver} -p1 < cmake/patches/onnx/onnx.patch %if 0%{?suse_version} < 1699 # eigen, bundled on Leap/SLE only (see the %%prep workaround block above) unzip -qo %{SOURCE25} -d _deps @@ -308,7 +325,7 @@ %if %{with python} -Donnxruntime_ENABLE_DLPACK=OFF \ -Donnxruntime_ENABLE_PYTHON=ON \ - -DPython_EXECUTABLE=/usr/bin/python%{pyver} \ + -DPython_EXECUTABLE=%{_bindir}/python%{pyver} \ %else -Donnxruntime_ENABLE_PYTHON=OFF \ %endif @@ -316,6 +333,7 @@ -Donnxruntime_BUILD_UNIT_TESTS=OFF \ -Donnxruntime_BUILD_BENCHMARKS=OFF \ -Donnxruntime_ENABLE_TRAINING=OFF \ + -Donnxruntime_USE_TELEMETRY=OFF \ -Donnxruntime_USE_FULL_PROTOBUF=ON %cmake_build @@ -331,7 +349,7 @@ --no-build-isolation \ . -rm -rf %{buildroot}%{_prefix}/bin +rm -rf %{buildroot}%{_bindir} rm -f %{buildroot}%{python_sitearch}/onnxruntime/capi/libonnxruntime.so* execstack -c %{buildroot}%{python_sitearch}/onnxruntime/capi/onnxruntime_pybind11_state.so find %{buildroot}%{python_sitearch}/onnxruntime -name '*.so' -exec strip --strip-unneeded {} + ++++++ _service ++++++ --- /var/tmp/diff_new_pack.bWr7Xb/_old 2026-10-26 10:00:03.614857856 +0100 +++ /var/tmp/diff_new_pack.bWr7Xb/_new 2026-10-26 10:00:03.623858234 +0100 @@ -3,7 +3,8 @@ <param name="url">https://github.com/microsoft/onnxruntime</param> <param name="scm">git</param> <param name="exclude">.git</param> - <param name="revision">v1.27.0</param> + <param name="revision">v1.31.0</param> + <param name="match-tag">v*</param> <param name="versionformat">@PARENT_TAG@</param> <param name="changesgenerate">enable</param> <param name="versionrewrite-pattern">v(.*)</param> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.bWr7Xb/_old 2026-10-26 10:00:03.662859870 +0100 +++ /var/tmp/diff_new_pack.bWr7Xb/_new 2026-10-26 10:00:03.669860164 +0100 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/microsoft/onnxruntime</param> - <param name="changesrevision">8f0278c77bf44b0cc83c098c6c722b92a36ac4b5</param></service></servicedata> + <param name="changesrevision">402979ac1bef89dcd55add41eaa7277c407599eb</param></service></servicedata> (No newline at EOF) ++++++ onnx-1.21.0.zip -> onnx-1.22.0.zip ++++++ /work/SRC/openSUSE:Factory/onnxruntime/onnx-1.21.0.zip /work/SRC/openSUSE:Factory/.onnxruntime.new.2252680/onnx-1.22.0.zip differ: char 11, line 2 ++++++ onnxruntime-1.27.0.tar.zst -> onnxruntime-1.31.0.tar.zst ++++++ /work/SRC/openSUSE:Factory/onnxruntime/onnxruntime-1.27.0.tar.zst /work/SRC/openSUSE:Factory/.onnxruntime.new.2252680/onnxruntime-1.31.0.tar.zst differ: char 7, line 1 ++++++ system-cpuinfo.patch ++++++ Take cpuinfo from the system instead of the network. Upstream 1.31.0 dropped the "FIND_PACKAGE_ARGS NAMES cpuinfo" its Linux FetchContent declare carried in 1.29.0, so with FETCHCONTENT_FULLY_DISCONNECTED=ON configure falls back to a download that cannot work on OBS and the cpuinfo::cpuinfo target is never defined. Restoring the find lets the system cpuinfo-devel be used, as in 1.29.0: it already ships cpuinfo_deinitialize (as a stub, exactly what 1.29.0 linked against), so behavior is unchanged. diff --git a/cmake/external/onnxruntime_external_deps.cmake b/cmake/external/onnxruntime_external_deps.cmake --- a/cmake/external/onnxruntime_external_deps.cmake +++ b/cmake/external/onnxruntime_external_deps.cmake @@ -396,6 +396,7 @@ # https://github.com/pytorch/cpuinfo/pull/400 ${Patch_EXECUTABLE} --binary --ignore-whitespace -p1 < ${PROJECT_SOURCE_DIR}/patches/cpuinfo/enable_deinit_refcounting.patch + FIND_PACKAGE_ARGS NAMES cpuinfo ) else() onnxruntime_fetchcontent_declare( ++++++ system-gsl-version.patch ++++++ Relax ONNX Runtime's GSL version gate so the openSUSE system ms-gsl can be used instead of the bundled 4.2.1 source. Upstream asks for exactly 4.0+ via "FIND_PACKAGE_ARGS 4.0 NAMES Microsoft.GSL", but ms-gsl's CMake config is SameMajorVersion, so any 5.x system GSL is rejected and the disconnected FetchContent fallback aborts configure. Dropping the version lets find_package accept whatever ms-gsl Factory currently ships (5.0.1) -- ONNX Runtime only uses long-stable APIs (span, narrow, not_null, finally, ...) present in both major versions. diff --git a/cmake/external/onnxruntime_external_deps.cmake b/cmake/external/onnxruntime_external_deps.cmake --- a/cmake/external/onnxruntime_external_deps.cmake +++ b/cmake/external/onnxruntime_external_deps.cmake @@ -425,7 +425,7 @@ # containing microsoft/GSL#1213 (commit 543d0dd). PATCH_COMMAND ${Patch_EXECUTABLE} --binary --ignore-whitespace -p1 < ${PROJECT_SOURCE_DIR}/patches/gsl/1213.patch EXCLUDE_FROM_ALL - FIND_PACKAGE_ARGS 4.0 NAMES Microsoft.GSL + FIND_PACKAGE_ARGS NAMES Microsoft.GSL ) set(GSL_TARGET "Microsoft.GSL::GSL") set(GSL_INCLUDE_DIR "$<TARGET_PROPERTY:${GSL_TARGET},INTERFACE_INCLUDE_DIRECTORIES>")
