Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package llamacpp for openSUSE:Factory checked in at 2026-09-08 16:58:19 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/llamacpp (Old) and /work/SRC/openSUSE:Factory/.llamacpp.new.1265 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "llamacpp" Tue Sep 8 16:58:19 2026 rev:34 rq:1376340 version:0.4.0 Changes: -------- --- /work/SRC/openSUSE:Factory/llamacpp/llamacpp.changes 2026-08-05 17:49:35.608350772 +0200 +++ /work/SRC/openSUSE:Factory/.llamacpp.new.1265/llamacpp.changes 2026-09-08 17:02:00.023707917 +0200 @@ -1,0 +2,90 @@ +Mon Sep 7 13:10:00 UTC 2026 - Robert Munteanu <[email protected]> + +- Update to version 0.4.0 + * Initial Qwen3.8-Flash-Next and NVIDIA Nemotron-3-Puzzle support. + * Add on-demand tensor reading, per-slot server context limits, and + video input options. + * GGML updated to 0.23.0 with sparse flash attention, asynchronous + backend APIs, and Apple RDMA transport. + * Improve CUDA, Vulkan, Metal, SYCL, OpenCL, and other accelerator + backends. + * Include the matching b10809 Web UI asset. +- Package switched to semantic versioning + +------------------------------------------------------------------- +Wed Sep 2 11:15:38 UTC 2026 - Eyad Issa <[email protected]> + +- Add fix-negative-top-n.patch for CVE-2026-52132 (bsc#1278079): + reject negative top_n values in the reranking endpoint + +------------------------------------------------------------------- +Sun Aug 30 22:39:08 UTC 2026 - Eyad Issa <[email protected]> + +- Enable Leap 15.7 builds with GCC 13 +- Disable unavailable OpenCL and OpenVINO backends on Leap 15.7 + +------------------------------------------------------------------- +Sun Aug 30 22:16:18 UTC 2026 - Eyad Issa <[email protected]> + +- Add skip-sme-variants-when-unsupported.patch to skip SME CPU variants + when unsupported, allowing aarch64 builds on Leap 16.0 with GCC 13 + +------------------------------------------------------------------- +Sun Aug 30 22:09:17 UTC 2026 - Eyad Issa <[email protected]> + +- Explicitly select GCC 16 on aarch64 so SME CPU variants build + +------------------------------------------------------------------- +Thu Aug 28 18:01:41 UTC 2026 - Robert Munteanu <[email protected]> + +- Update to version 10676 + * ggml bumped to 0.22.0, llama.cpp bumped to 0.3.0 + * New model support: MiniMaxText01, MiniMaxM1, BailingMoE3, + Kimi-K3 text, Nanbeige 4.2 3B, Qwen3.8-Flash-Next (qwen4exp), + DSpark speculator checkpoints, GLM-4.5-Air MTP. + * Vulkan: tiled transpose for 0<->2 permuted CONT, coopmat1 + SHMEM_STRIDE_PAD/APPLY_SLM_A_RESHAPE for Intel Xe, hoisting + support for row IDs and expert count, cross_entropy_loss op. + * Metal: per-op source split with parallel compile, per-device + tuned flash-attn vec (M4, M4 Pro, M3 Max, M5, M5 Pro), + chunked SSD MMA for Mamba-2 prefill, dequantize q8_0 using + packed types, null-check buffer alloc fix, memory leak fix. + * CUDA: MMVQ nwarps=8 for bs=1 dense models on DGX Spark, + unblock mmq for MoE on sm_60. + * SYCL: fused mul_mat(gate)+mul_mat(up)+GLU for q4_K dense FFN, + OPT_STEP_ADAMW/OPT_STEP_SGD ops, TILE for quantized KV decode + on BMG, fix thread/block count in quantized cpy kernel. + * OpenCL: fix WAR race in generic FA tile kernels when WG spans + subgroups, add bin kernels for MoE GEMM (q4_0/q8_1, mxfp4). + * WebGPU: mulmat with overlapping src0/src1 (for MiniMax-01), + fix infinity handling in ARGSORT and TOP_K. + * RPC: implement event and async backend APIs, support Apple + RDMA as transport. + * Hexagon: support for multi-NPU devices (IQ9, IQ10) and fully + async backend, HTP unary ops for ABS and LOG. + * Server: re-designed yield_to_queue thread model, add + ctx-per-slot (--kv-unified-per-slot), dedup-cache-models + preset option, dedup-cache-models, and reject prefilled + assistant messages with tool calls. + * Common: migrate deprecated --mmap/--no-mmap to --load-mode, + support --models-dir loading MTP assistant models, share + thread pools when n_threads differ. + * Quantization: optimise memory usage by evicting weights after + processing each layer, cap working memory size. + * UI: stores and services consolidation refactor, dialog-based + settings/MCP views, browser get_info tool, API key field + masking, move get_datetime tool to frontend, read structured- + Content from MCP tool result, alphabetical enum member ordering. + * Fixes: conv_transpose_2d for multiple batches, various mtmd + fixes (Granite4 Vision, LFM2 tiling threshold, video moov + atom, sha256 input hashing), grammar char class hyphen, + unicode collapsed symbol class. + * Vendor updates: cpp-httplib to 0.53.1, BoringSSL to + 0.20260813.0. + * KleidiAI: reworked build system/integration. + * OpenVINO: updated to 2026.3.1, whisper.cpp support, + Qwen3.5 on NPU, new ops. + * Full commit log: + https://github.com/ggml-org/llama.cpp/compare/b10154...b10676 + +------------------------------------------------------------------- Old: ---- llama-b10154-ui.tar.gz llamacpp-10154.tar.gz New: ---- fix-negative-top-n.patch llama-b10809-ui.tar.gz llamacpp-0.4.0.tar.gz skip-sme-variants-when-unsupported.patch ----------(New B)---------- New: - Add fix-negative-top-n.patch for CVE-2026-52132 (bsc#1278079): reject negative top_n values in the reranking endpoint New: - Add skip-sme-variants-when-unsupported.patch to skip SME CPU variants when unsupported, allowing aarch64 builds on Leap 16.0 with GCC 13 ----------(New E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ llamacpp.spec ++++++ --- /var/tmp/diff_new_pack.AndU0t/_old 2026-09-08 17:02:01.097752811 +0200 +++ /var/tmp/diff_new_pack.AndU0t/_new 2026-09-08 17:02:01.099752894 +0200 @@ -18,44 +18,62 @@ %global backend_dir %{_libdir}/ggml +%global upstream_build 10809 -%global llama_sover 0.0.%{version} +%global llama_sover %{version} %global llama_sover_suffix 0 -%global mtmd_sover 0.0.%{version} +%global mtmd_sover %{llama_sover} %global mtmd_sover_suffix 0 -%global ggml_sover 0.17.0 +%global ggml_sover 0.23.0 %global ggml_sover_suffix 0 +%if 0%{?suse_version} == 1500 +%bcond_with opencl +%bcond_with openvino +%else +%bcond_without opencl %ifarch x86_64 aarch64 %bcond_without openvino %else %bcond_with openvino %endif +%endif Name: llamacpp -Version: 10154 +Version: 0.4.0 Release: 0 Summary: Inference of Meta's LLaMA model (and others) in pure C/C++ License: MIT URL: https://github.com/ggml-org/llama.cpp -Source: %{URL}/archive/b%{version}/%{name}-%{version}.tar.gz -Source1: %{URL}/releases/download/b%{version}/llama-b%{version}-ui.tar.gz +Source: %{URL}/archive/refs/tags/v%{version}/%{name}-%{version}.tar.gz +Source1: %{URL}/releases/download/b%{upstream_build}/llama-b%{upstream_build}-ui.tar.gz +Patch0: skip-sme-variants-when-unsupported.patch +Patch1: fix-negative-top-n.patch BuildRequires: cmake >= 3.14 -# Newer llama.cpp enables SME, found in ARMv9.2. Only gcc>=16 knows about SME +%if 0%{?suse_version} == 1500 +BuildRequires: gcc13-c++ +%else %ifarch aarch64 +%if 0%{?suse_version} >= 1610 BuildRequires: gcc16-c++ %else BuildRequires: gcc-c++ %endif +%else +BuildRequires: gcc-c++ +%endif +%endif BuildRequires: git BuildRequires: ninja BuildRequires: pkgconfig BuildRequires: shaderc BuildRequires: spirv-headers +%if %{with opencl} BuildRequires: pkgconfig(OpenCL) BuildRequires: pkgconfig(OpenCL-CLHPP) +%endif BuildRequires: pkgconfig(libcurl) %if %{with openvino} BuildRequires: pkgconfig(openvino) @@ -104,7 +122,9 @@ %package -n libggml%{ggml_sover_suffix} Summary: A tensor library for C++ Requires: libggml-cpu +%if %{with opencl} Recommends: libggml-opencl +%endif Recommends: libggml-vulkan %description -n libggml%{ggml_sover_suffix} @@ -138,6 +158,7 @@ This package includes the Vulkan backend for ggml. +%if %{with opencl} %package -n libggml-opencl Summary: A tensor library for C++ (OpenCL backend) @@ -146,7 +167,9 @@ and WhisperCpp projects. This package includes the OpenCL backend for ggml. +%endif +%if %{with openvino} %package -n libggml-openvino Summary: A tensor library for C++ (OpenVINO backend) @@ -155,6 +178,7 @@ and WhisperCpp projects. This package includes the OpenVINO backend for ggml. +%endif %package -n ggml-devel Summary: Development files for ggml @@ -195,7 +219,7 @@ %ldconfig_scriptlets -n libmtmd%{mtmd_sover_suffix} %prep -%autosetup -p1 -n llama.cpp-b%{version} +%autosetup -p1 -n llama.cpp-%{version} mkdir -p tools/ui/dist tar -xzf %{SOURCE1} --strip-components=1 -C tools/ui/dist @@ -204,6 +228,18 @@ %define _lto_cflags %{nil} %define __builder ninja +%if 0%{?suse_version} == 1500 +export CC=gcc-13 +export CXX=g++-13 +%else +%ifarch aarch64 +%if 0%{?suse_version} >= 1610 +export CC=gcc-16 +export CXX=g++-16 +%endif +%endif +%endif + mkdir -p %{_libdir} %cmake \ @@ -216,15 +252,20 @@ -DGGML_CPU=ON \ -DGGML_CPU_ALL_VARIANTS=ON \ -DGGML_VULKAN=ON \ +%if %{with opencl} -DGGML_OPENCL=ON \ +%else + -DGGML_OPENCL=OFF \ +%endif %if %{with openvino} -DGGML_OPENVINO=ON \ %endif -DGGML_BACKEND_DL=ON \ -DGGML_BACKEND_DIR="%{backend_dir}" \ -DGGML_OPENCL_USE_ADRENO_KERNELS=OFF \ - -DLLAMA_BUILD_NUMBER=%{version} \ - -DLLAMA_VERSION="0.0.%{version}" \ + -DLLAMA_BUILD_IS_DEV=OFF \ + -DLLAMA_BUILD_NUMBER=%{upstream_build} \ + -DLLAMA_VERSION="%{version}" \ %{nil} %cmake_build @@ -289,10 +330,12 @@ %dir %{backend_dir} %{backend_dir}/libggml-vulkan.so +%if %{with opencl} %files -n libggml-opencl %license LICENSE %dir %{backend_dir} %{backend_dir}/libggml-opencl.so +%endif %if %{with openvino} %files -n libggml-openvino ++++++ fix-negative-top-n.patch ++++++ From: Eyad Issa <[email protected]> Date: Wed, 2 Sep 2026 00:00:00 +0200 Subject: [PATCH] server: reject negative rerank top_n Validate top_n before queuing rerank work. A negative value passed to std::vector::resize() is converted to a very large size_t and can raise std::bad_alloc. diff --git a/tools/server/server-common.cpp b/tools/server/server-common.cpp --- a/tools/server/server-common.cpp +++ b/tools/server/server-common.cpp @@ -1478,1 +1478,1 @@ - elements.resize(std::min(top_n, (int)elements.size())); + elements.resize(std::min(std::max(top_n, 0), (int)elements.size())); diff --git a/tools/server/server-context.cpp b/tools/server/server-context.cpp --- a/tools/server/server-context.cpp +++ b/tools/server/server-context.cpp @@ -5153,1 +5153,5 @@ - int top_n = json_value(body, "top_n", (int)documents.size()); + int top_n = json_value(body, "top_n", (int)documents.size()); + if (top_n < 0) { + res->error(format_error_response("\"top_n\" must be non-negative", ERROR_TYPE_INVALID_REQUEST)); + return res; + } ++++++ llama-b10154-ui.tar.gz -> llama-b10809-ui.tar.gz ++++++ ++++ 7555 lines of diff (skipped) ++++++ llamacpp-10154.tar.gz -> llamacpp-0.4.0.tar.gz ++++++ /work/SRC/openSUSE:Factory/llamacpp/llamacpp-10154.tar.gz /work/SRC/openSUSE:Factory/.llamacpp.new.1265/llamacpp-0.4.0.tar.gz differ: char 13, line 1 ++++++ skip-sme-variants-when-unsupported.patch ++++++ From: Eyad Issa <[email protected]> Subject: ggml: skip SME CPU variants when the compiler lacks SME support GCC only gained support for the AArch64 +sme architecture modifier in version 14. Keep the other optimized ARM variants available when building with an older compiler. --- ggml/src/CMakeLists.txt | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/ggml/src/CMakeLists.txt b/ggml/src/CMakeLists.txt index 6283fbcec..c017927f1 100644 --- a/ggml/src/CMakeLists.txt +++ b/ggml/src/CMakeLists.txt @@ -525,8 +525,14 @@ if (GGML_CPU_ALL_VARIANTS) ggml_add_cpu_backend_variant(armv8.2_3 DOTPROD FP16_VECTOR_ARITHMETIC SVE) ggml_add_cpu_backend_variant(armv8.6_1 DOTPROD FP16_VECTOR_ARITHMETIC SVE MATMUL_INT8) ggml_add_cpu_backend_variant(armv8.6_2 DOTPROD FP16_VECTOR_ARITHMETIC SVE MATMUL_INT8 SVE2) - ggml_add_cpu_backend_variant(armv9.2_1 DOTPROD FP16_VECTOR_ARITHMETIC SVE MATMUL_INT8 SME) - ggml_add_cpu_backend_variant(armv9.2_2 DOTPROD FP16_VECTOR_ARITHMETIC SVE MATMUL_INT8 SVE2 SME) + include(CheckCXXCompilerFlag) + check_cxx_compiler_flag("-march=armv9.2-a+sme" GGML_COMPILER_SUPPORTS_SME) + if (GGML_COMPILER_SUPPORTS_SME) + ggml_add_cpu_backend_variant(armv9.2_1 DOTPROD FP16_VECTOR_ARITHMETIC SVE MATMUL_INT8 SME) + ggml_add_cpu_backend_variant(armv9.2_2 DOTPROD FP16_VECTOR_ARITHMETIC SVE MATMUL_INT8 SVE2 SME) + else() + message(STATUS "Skipping ARM SME CPU variants: compiler does not support SME") + endif() elseif (CMAKE_SYSTEM_NAME MATCHES "Android") # Android-specific backends with SoC-compatible feature sets ggml_add_cpu_backend_variant(android_armv8.0_1) -- 2.53.0
