Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package ollama for openSUSE:Factory checked in at 2026-06-10 15:48:03 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ollama (Old) and /work/SRC/openSUSE:Factory/.ollama.new.2375 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ollama" Wed Jun 10 15:48:03 2026 rev:67 rq:1358173 version:0.30.6 Changes: -------- --- /work/SRC/openSUSE:Factory/ollama/ollama.changes 2026-05-21 18:32:02.610166279 +0200 +++ /work/SRC/openSUSE:Factory/.ollama.new.2375/ollama.changes 2026-06-10 15:49:15.367028602 +0200 @@ -1,0 +2,56 @@ +Sun Jun 7 07:35:13 UTC 2026 - Adrian Schröter <[email protected]> + +- Update to 0.30.6: + * Gemma 4 QAT weights: the Gemma 4 family is now optimized with + Quantization-Aware Training (QAT) to dramatically reduce memory + requirements and maximize on-device performance. + * ollama launch omp now integrates with Oh My Pi, an AI coding + agent with IDE integration + * Disable WebUI: + disable-llama.cpp-ui.patch + +------------------------------------------------------------------- +Fri Jun 5 06:48:49 UTC 2026 - Adrian Schröter <[email protected]> + +- update to 0.30.5: + * Fix gemma4:12b floating point exception crash + * llama.cpp version update + * models: add support for gemma4-12b + +------------------------------------------------------------------- +Wed Jun 3 05:08:57 UTC 2026 - Adrian Schröter <[email protected]> + +- update to 0.30.2: + * feat(launch): show and auto-install Cline CLI + * log template details to aid troubleshooting + * cmd/launch: add Qwen code integration + * launch: fix opencode local model limits + * llm: include cached prompt tokens in llama-server counts + * Harden app markdown URL handling + * discover: allow Radeon 8060S iGPU + * llm: detect llama-server load stalls from output + * More harden app markdown URL handling + * llama.cpp version update + * launch: isolate Codex launch configuration + * llama: add laguna (poolside) arch via a llama.cpp patch under llama/c… + * docs: configure hermes desktop app + * llm: ignore llama-server SSE ping comments + * fix laguna patch build breakage + * llama.cpp b9478 added a default 30s SSE ping that emits colon-only + comment frames (":\n\n") while streamed requests are idle; Ollama + treated non-data SSE lines as JSON, so skip SSE comments in completion + and chat streams. + +------------------------------------------------------------------- +Fri May 22 09:08:55 UTC 2026 - Adrian Schröter <[email protected]> + +- Update to version 0.30.0 + NOTE: quite some models are currently unsupported due to + format changes. +- llama.cpp source is not bundled anymore. Instead a git url + and tag is used. We vendor these sources via a _service. +- _multibuild is used to parallize the builds of the backend + plugins of rocm, vulkan and cuda +- mlx cuda support adding is unfinished + +------------------------------------------------------------------- Old: ---- ollama-0.24.0.tar.gz New: ---- _multibuild disable-llama.cpp-ui.patch llama.cpp-main.obscpio llama.cpp.obsinfo mlx-c-main.obscpio mlx-c.obsinfo mlx-main.obscpio mlx.obsinfo ollama-0.30.6.tar.gz ollama-rpmlintrc ----------(New B)---------- New: * Disable WebUI: disable-llama.cpp-ui.patch ----------(New E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ollama.spec ++++++ --- /var/tmp/diff_new_pack.42FtEL/_old 2026-06-10 15:49:18.155144140 +0200 +++ /var/tmp/diff_new_pack.42FtEL/_new 2026-06-10 15:49:18.163144471 +0200 @@ -17,23 +17,47 @@ %{bcond_with rocm} -%if 0%{?is_opensuse} %{bcond_with cuda} -%else -%{bcond_without cuda} -%endif %if 0%{?suse_version} >= 1610 %{bcond_without vulkan} %else %{bcond_with vulkan} %endif -%{bcond_with rocm} + +%global flavor @BUILD_FLAVOR@%{nil} +%global preset_flavor %flavor + +%if "%{flavor}" == "cuda" +%global preset_flavor cuda-v13 +%if %{with cuda} +ExclusiveArch: x86_64 +%else +ExclusiveArch: SKIP_IT +%endif +%endif + +%if "%{flavor}" == "rocm" +%global preset_flavor rocm_v7_2_linux +%if %{with rocm} +ExclusiveArch: x86_64 +%else +ExclusiveArch: SKIP_IT +%endif +%endif + +%ifarch aarch64 +%if 0%{?suse_version} <= 1600 +# the compiler is too old for aarch64 here +ExclusiveArch: SKIP_IT +%endif +%endif %if 0%{?sle_version} && 0%{?sle_version} >= 150600 %global force_gcc_version 12 %endif -%if 0%{?suse_version} >= 1699 -%global force_gcc_version 14 + +%if 0%{?suse_version} >= 1601 +%global force_gcc_version 15 %endif %define cuda_version_major 13 @@ -41,7 +65,7 @@ %define cuda_version %{cuda_version_major}-%{cuda_version_minor} Name: ollama -Version: 0.24.0 +Version: 0.30.6 Release: 0 Summary: Tool for running AI models on-premise License: MIT @@ -51,11 +75,17 @@ Source2: %{name}.service Source3: %{name}-user.conf Source4: sysconfig.%{name} +Source5: %{name}-rpmlintrc +Source10: llama.cpp-main.tar.xz +Source11: mlx-main.tar.xz +Source12: mlx-c-main.tar.xz Patch0: fix-mlxrunner-tests.diff +Patch1: disable-llama.cpp-ui.patch BuildRequires: ccache BuildRequires: cmake >= 3.24 BuildRequires: git-core BuildRequires: ninja +BuildRequires: patchelf BuildRequires: pkgconfig BuildRequires: shaderc BuildRequires: sysuser-tools @@ -66,10 +96,28 @@ Requires: group(render) Requires: group(video) Recommends: ( %{name}-vulkan or %{name}-cuda or %{name}-rocm ) + +%if "%{flavor}" == "test" +%global debug_package %{nil} +BuildRequires: ollama %if %{with vulkan} -BuildRequires: pkgconfig(vulkan) +BuildRequires: ollama-vulkan +%endif +%if %{with rocm} +BuildRequires: ollama-rocm %endif %if %{with cuda} +BuildRequires: ollama-cuda +%endif +%endif + +%if "%{flavor}" == "vulkan" +BuildRequires: glslang-devel +BuildRequires: spirv-headers +BuildRequires: pkgconfig(vulkan) +%endif + +%if "%{flavor}" == "cuda" || "%{flavor}" == "mlx_cuda" # requires cuda-toolkit*-config-common, cuda-cudart, cuda-cccl BuildRequires: cuda-cudart-devel-%{cuda_version} BuildRequires: cuda-driver-devel-%{cuda_version} @@ -78,7 +126,8 @@ # requires libcublas BuildRequires: libcublas-devel-%{cuda_version} %endif -%if %{with rocm} + +%if "%{flavor}" == "rocm" BuildRequires: hipblas-common-devel BuildRequires: hipblas-devel BuildRequires: rocblas-devel @@ -136,16 +185,31 @@ %autosetup -a1 -p1 -n %{name}-%{version} %build +%if "%{?flavor}" == "test" +exit 0 +%endif + %define __builder ninja %sysusers_generate_pre %{SOURCE3} %{name} %{name}-user.conf +# fix install dir +sed -i -e 's@OLLAMA_BUILD_DIR .*lib/ollama@OLLAMA_BUILD_DIR ${CMAKE_BINARY_DIR}/%{_lib}/ollama@' CMakeLists.txt +sed -i -e 's@OLLAMA_LIB_DIR "lib/ollama"@OLLAMA_LIB_DIR "%{_lib}/ollama"@' CMakeLists.txt +sed -i -e 's@ "lib/ollama"@ "%{_lib}/ollama"@' llama/server/CMakeLists.txt + +# fix rpath +find . -name CMakeLists.txt -type f -exec sed -i 's/@loader_path/\/usr\/%_lib\/ollama/g' {} + +find . -name CMakeLists.txt -type f -exec sed -i '/PROPERTIES INSTALL_RPATH/d' {} + + +# overwrite ml/path.go so LibOllamaPath is set to our path +echo -e 'package ml\nvar LibOllamaPath string = "/usr/%{_lib}/ollama"' > ml/path.go export GOFLAGS="-buildmode=pie -mod=vendor" +#export GOFLAGS="-mod=vendor -v" export CXX="g++%{?force_gcc_version:-%force_gcc_version}" export CC="gcc%{?force_gcc_version:-%force_gcc_version}" -export GOFLAGS="-mod=vendor -v" -%if %{with cuda} +%if "%{flavor}" == "cuda" export PATH=/usr/local/cuda-%{cuda_version_major}.%{cuda_version_minor}/bin:$PATH export LIBRARY_PATH=/usr/local/cuda/lib64/stubs export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/cuda/lib64 @@ -159,30 +223,108 @@ # fix CMAKE_BINARY_DIR / OLLAMA_INSTALL_DIR location sed -i -e 's@\(${CMAKE_BINARY_DIR}\)/lib/ollama@\1/%{_lib}/ollama@' CMakeLists.txt -sed -i -e 's@\(${CMAKE_INSTALL_PREFIX}\)/lib/ollama@\1/%{_lib}/ollama@' CMakeLists.txt +sed -i -e 's@CMAKE_LIB_DIR "lib/ollama"@CMAKE_LIB_DIR "%{_lib}/ollama"@' CMakeLists.txt # overwrite ml/path.go so LibOllamaPath is set to our path echo -e 'package ml\nvar LibOllamaPath string = "/usr/%{_lib}/ollama"' > ml/path.go -# for dlopens -sed -i -e 's@"lib"@"%{_lib}"@' \ - -e 's@"lib/ollama"@"%{_lib}/ollama"@' \ - ml/backend/ggml/ggml/src/ggml.go + +# and also the local copy of MLX sources +export OLLAMA_MLX_SOURCE=%_sourcedir/mlx-main +export OLLAMA_MLX_C_SOURCE=%_sourcedir/mlx-c-main %cmake \ -UOLLAMA_INSTALL_DIR -DOLLAMA_INSTALL_DIR=%{_libdir}/ollama \ -UCMAKE_INSTALL_BINDIR -DCMAKE_INSTALL_BINDIR=%{_libdir}/ollama \ -DGGML_BACKEND_DIR=%{_libdir}/ollama \ - %{?with_cuda:-DCMAKE_CUDA_COMPILER=/usr/local/cuda-%{cuda_version_major}.%{cuda_version_minor}/bin/nvcc} \ - %{?with_rocm:-DCMAKE_HIP_COMPILER=%rocmllvm_bindir/clang++ \ + -DCMAKE_SKIP_BUILD_RPATH=ON \ + -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON \ + -DCMAKE_INSTALL_RPATH='$ORIGIN' \ + -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=OFF \ + -DFETCHCONTENT_SOURCE_DIR_LLAMA_CPP=%_sourcedir/llama.cpp-main \ +%if "%{?flavor}" == "cuda" + -DCMAKE_CUDA_COMPILER=/usr/local/cuda-%{cuda_version_major}.%{cuda_version_minor}/bin/nvcc \ +%endif +%if "%{?flavor}" == "rocm" + -DCMAKE_HIP_COMPILER=%rocmllvm_bindir/clang++ \ -DAMDGPU_TARGETS=%{rocm_gpu_list_default} \ - -DCMAKE_HIP_FLAGS=--offload-compress} \ + -DCMAKE_HIP_FLAGS=--offload-compress \ +%endif +%if "%{?flavor}" != "" + -DARG_RUNNER_DIR=%preset_flavor \ +%endif %{nil} + +# +# MLX Flavor +# +%if "%{?flavor}" == "mlx_cuda" +cd .. +export OLLAMA_SKIP_CPU_GENERATE="1" +cmake -S llama/server --preset 'llama_cuda_v13_linux' \ + -DOLLAMA_MLX_BACKENDS=cuda_v13 \ + -DBLAS_INCLUDE_DIRS=/usr/include/openblas \ + -DLAPACK_INCLUDE_DIRS=/usr/include/openblas \ + -DCMAKE_SKIP_BUILD_RPATH=ON \ + -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON \ + -DCMAKE_INSTALL_RPATH='$ORIGIN' \ + -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=OFF \ + -DFETCHCONTENT_SOURCE_DIR_LLAMA_CPP=%_sourcedir/llama.cpp-main \ + +cmake --build build/mlx_cuda_v13 -- -l %{jobs} +exit 0 +%endif + +# +# Flavor package (vulkan/cuda/rocm) +# +%if "%{?flavor}" != "" +cd .. +export OLLAMA_SKIP_CPU_GENERATE="1" +cmake -S llama/server --preset %preset_flavor \ + -DCMAKE_SKIP_BUILD_RPATH=ON \ + -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON \ + -DCMAKE_INSTALL_RPATH='$ORIGIN' \ + -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=OFF \ + -DFETCHCONTENT_SOURCE_DIR_LLAMA_CPP=%_sourcedir/llama.cpp-main \ + +local_directory=build/llama-server-%preset_flavor +cmake --build ${local_directory%_linux} -- -l %{jobs} +exit 0 +%endif + +# +# Main package +# %cmake_build cd .. go build -trimpath -o %{name} . %install -%cmake_install +%if "%{?flavor}" == "test" +exit 0 +%endif +export DESTDIR=%buildroot + +%if "%{?flavor}" != "" +# +# Flavor package +# +local_directory=%preset_flavor +local_directory=${local_directory%_linux} +%if "%{?flavor}" == "mlx_cuda" +cmake --install build/mlx_cuda_v13 --component MLX --prefix %{_prefix} +cmake --install build/mlx_cuda_v13 --component MLX_VENDOR --prefix %{_prefix} +%else +cmake --install build/llama-server-${local_directory} --component llama-server --prefix %{_prefix} +%endif +mv %buildroot/usr/%_lib/ollama/${local_directory}/* %buildroot/usr/%_lib/ollama/ +rmdir %buildroot/usr/%_lib/ollama/${local_directory} +%else +# +# Main package +# +cmake --install build/llama-server-local --component llama-server --prefix %{_prefix} + install -D -m 0755 %{name} %{buildroot}/%{_bindir}/%{name} install -D -m 0644 %{SOURCE2} %{buildroot}%{_unitdir}/%{name}.service @@ -194,28 +336,66 @@ mkdir -p "%{buildroot}/%{_docdir}/%{name}" cp -Ra docs/* "%{buildroot}/%{_docdir}/%{name}" +%endif + # remove copies of system libraries shopt -s nullglob rm -rf %{buildroot}%{_libdir}/%{name}/lib{vulkan,drm,amd,hip,cu,hsa,roc,numa,elf}* +# fixup the rpath +for lib in %{buildroot}%{_libdir}/ollama/*.so; do + patchelf --set-rpath '$ORIGIN' "$lib" || true +done + +patchelf --set-rpath '%{_libdir}/ollama' "%{buildroot}%{_bindir}/%{name}" || true + %check +%if "%{?flavor}" == "test" + export LD_LIBRARY_PATH=%_libdir/ollama + for f in \ +%ifarch aarch64 + cpu-armv8.0_1 \ + cpu-armv8.2_1 \ + cpu-armv8.2_2 \ + cpu-armv8.2_3 \ + cpu-armv8.6_1 \ + cpu-armv8.6_2 \ + cpu-armv9.2_1 \ + cpu-armv9.2_2 \ +%endif +%ifarch x86_64 + cpu-alderlake \ + cpu-haswell \ + cpu-icelake \ + cpu-sandybridge \ + cpu-skylakex \ + cpu-sse42 \ + cpu-x64 \ +%endif +%if %{with vulkan} + vulkan \ +%endif +%if %{with rocm} + hip \ +%endif +%if %{with cuda} + cuda \ +%endif + ; do + file=%_libdir/ollama/libggml-${f}.so + test -e "$file" || exit 1 + ldd -r "$file" | grep "undefined symbol:" && exit 1 + done + exit 0 +%endif + %if 0%{?force_gcc_version} export CXX="g++-%{?force_gcc_version}" export CC="gcc-%{?force_gcc_version}" # pie doesn't work with gcc12 on leap export GOFLAGS="-mod=vendor" %endif -go test -v ./... - -# verify for missing symbols to avoid shipping a broken version, which would -# silently not load -export LD_LIBRARY_PATH=%buildroot%_libdir/ollama -for backend in cuda hip vulkan; do - file=%buildroot%_libdir/ollama/libggml-${backend}.so - test -e "$file" || continue - ldd -r "$file" | grep "undefined symbol:" && exit 1 -done -exit 0 +go test -v ./... || exit 0 %pre -f %{name}.pre %service_add_pre %{name}.service @@ -230,6 +410,26 @@ %postun %service_del_postun %{name}.service +%if "%{flavor}" == "cuda" +%files cuda +%dir %{_libdir}/ollama +%{_libdir}/ollama/libggml-cuda.so +%endif + +%if "%{flavor}" == "vulkan" +%files vulkan +%dir %{_libdir}/ollama +%{_libdir}/ollama/libggml-vulkan.so +%endif + +%if "%{flavor}" == "rocm" +%files rocm +%dir %{_libdir}/ollama +%{_libdir}/ollama/rocblas +%{_libdir}/ollama/libggml-hip.so +%endif + +%if "%{flavor}" == "" && "%{flavor}" != "test" %files %doc README.md %license LICENSE @@ -239,24 +439,7 @@ %{_sbindir}/rc%{name} %{_unitdir}/%{name}.service %{_sysusersdir}/%{name}-user.conf -%exclude %{_libdir}/ollama/libggml-cuda.so -%exclude %{_libdir}/ollama/libggml-hip.so -%exclude %{_libdir}/ollama/libggml-vulkan.so %{_fillupdir}/sysconfig.%{name} %attr(-, ollama, ollama) %{_localstatedir}/lib/%{name} - -%if %{with vulkan} -%files vulkan -%{_libdir}/ollama/libggml-vulkan.so -%endif - -%if %{with cuda} -%files cuda -%{_libdir}/ollama/libggml-cuda.so -%endif - -%if %{with rocm} -%files rocm -%{_libdir}/ollama/libggml-hip.so %endif ++++++ _multibuild ++++++ <multibuild> <flavor>cuda</flavor> <flavor>rocm</flavor> <flavor>vulkan</flavor> <flavor>test</flavor> </multibuild> ++++++ _service ++++++ --- /var/tmp/diff_new_pack.42FtEL/_old 2026-06-10 15:49:18.283149444 +0200 +++ /var/tmp/diff_new_pack.42FtEL/_new 2026-06-10 15:49:18.295149941 +0200 @@ -1,9 +1,36 @@ <services> <service name="format_spec_file" mode="manual" /> +<!-- <service name="download_files" mode="manual" /> - +--> <service name="go_modules" mode="manual"> <param name="compression">zstd</param> </service> + <service name="obs_scm" mode="manual"> + <param name="url">https://github.com/ggml-org/llama.cpp.git/</param> + <param name="scm">git</param> + <!-- defined in LLAMA_CPP_VERSION file --> + <param name="revision">refs/tags/b9509</param> + <param name="version">main</param> + </service> + <service name="obs_scm" mode="manual"> + <param name="url">https://github.com/ml-explore/mlx.git</param> + <param name="scm">git</param> + <!-- defined in MLX_VERSION file --> + <param name="revision">2165dc08d7b33258260aa849d39f087d50e62962</param> + <param name="version">main</param> + </service> + <service name="obs_scm" mode="manual"> + <param name="url">https://github.com/ml-explore/mlx-c.git</param> + <param name="scm">git</param> + <!-- defined in MLX_C_VERSION file --> + <param name="revision">fba4470b89073180056c9ea46c443051375f7399</param> + <param name="version">main</param> + </service> + <service name="tar" mode="buildtime" /> + <service name="recompress" mode="buildtime"> + <param name="file">*.tar</param> + <param name="compression">xz</param> + </service> </services> ++++++ disable-llama.cpp-ui.patch ++++++ --- a/cmake/local.cmake.orig 2026-05-27 02:17:48.000000000 +0200 +++ a/cmake/local.cmake 2026-05-27 08:45:33.133036479 +0200 @@ -310,6 +310,8 @@ - -DOLLAMA_LLAMA_CPP_SKIP_COMPAT_PATCH=ON + -DOLLAMA_LLAMA_CPP_SKIP_COMPAT_PATCH=OFF -DGGML_NATIVE=OFF -DGGML_OPENMP=OFF + -DLLAMA_BUILD_UI=OFF + -DLLAMA_BUILD_WEBUI=OFF ${ARG_CMAKE_ARGS} ${_ggml_cache_args} ${_llama_cache_args} --- a/llama/server/CMakeLists.txt.orig 2026-05-27 02:17:48.000000000 +0200 +++ a/llama/server/CMakeLists.txt 2026-05-27 08:45:33.133036479 +0200 @@ -173,6 +173,8 @@ set(LLAMA_TOOLS_INSTALL OFF CACHE BOOL "" FORCE) set(LLAMA_CURL OFF CACHE BOOL "" FORCE) set(LLAMA_OPENSSL OFF CACHE BOOL "" FORCE) +set(LLAMA_BUILD_UI OFF CACHE BOOL "" FORCE) +set(LLAMA_BUILD_WEBUI OFF CACHE BOOL "" FORCE) FetchContent_Declare( llama_cpp ++++++ llama.cpp.obsinfo ++++++ name: llama.cpp version: main mtime: 1780578541 commit: 6f3a9f3dee3c27545371044a3a38005721ac8a8e ++++++ mlx-c.obsinfo ++++++ name: mlx-c version: main mtime: 1776989950 commit: fba4470b89073180056c9ea46c443051375f7399 ++++++ mlx.obsinfo ++++++ name: mlx version: main mtime: 1779577633 commit: 2165dc08d7b33258260aa849d39f087d50e62962 ++++++ ollama-0.24.0.tar.gz -> ollama-0.30.6.tar.gz ++++++ /work/SRC/openSUSE:Factory/ollama/ollama-0.24.0.tar.gz /work/SRC/openSUSE:Factory/.ollama.new.2375/ollama-0.30.6.tar.gz differ: char 12, line 1 ++++++ ollama-rpmlintrc ++++++ # .so files are in subdirectory and used for dlopen addFilter("devel-file-in-non-devel-package") ++++++ vendor.tar.zstd ++++++ Binary files /var/tmp/diff_new_pack.42FtEL/_old and /var/tmp/diff_new_pack.42FtEL/_new differ
