--- /dev/null
+# GGML dependencies
+# libggml-base as external library
+find_library(GGML_BASE_LOCATION ggml-base)
+message (STATUS "Found GGML base library: ${GGML_BASE_LOCATION}")
+add_library(ggml-base SHARED IMPORTED GLOBAL)
+set_target_properties(ggml-base PROPERTIES IMPORTED_LOCATION ${GGML_BASE_LOCATION})
+
+# libggml as external library
+# defines GGML as target so that it is disabled in llama.cpp build
+find_library(GGML_LOCATION ggml)
+message (STATUS "Found GGML library: ${GGML_LOCATION}")
+add_library(ggml SHARED IMPORTED GLOBAL)
+set_target_properties(ggml PROPERTIES IMPORTED_LOCATION ${GGML_LOCATION})
+# transitive dependency
+target_link_libraries(ggml INTERFACE ${GGML_BASE_LOCATION})
+
+add_compile_definitions(NDEBUG)
+
+install(DIRECTORY ${CMAKE_BINARY_DIR}/common/ DESTINATION lib/${CMAKE_LIBRARY_ARCHITECTURE}/llama.cpp/common FILES_MATCHING PATTERN "*.a" )
+install(DIRECTORY ${CMAKE_SOURCE_DIR}/common/ DESTINATION include/llama.cpp/common FILES_MATCHING PATTERN "*.h" )
+
+# build number, in line with changelog
+set(BUILD_NUMBER 4719)
+
+++ /dev/null
-cmake_minimum_required(VERSION 3.14) # for add_link_options and implicit target directories.
-
-# GGML dependencies
-# libggml-base as external library
-find_library(GGML_BASE_LOCATION ggml-base)
-message (STATUS "Found GGML base library: ${GGML_BASE_LOCATION}")
-add_library(ggml-base SHARED IMPORTED GLOBAL)
-set_target_properties(ggml-base PROPERTIES IMPORTED_LOCATION ${GGML_BASE_LOCATION})
-
-# libggml as external library
-# defines GGML as target so that it is disabled in llama.cpp build
-find_library(GGML_LOCATION ggml)
-message (STATUS "Found GGML library: ${GGML_LOCATION}")
-add_library(ggml SHARED IMPORTED GLOBAL)
-set_target_properties(ggml PROPERTIES IMPORTED_LOCATION ${GGML_LOCATION})
-# transitive dependency
-target_link_libraries(ggml INTERFACE ${GGML_BASE_LOCATION})
-
-add_compile_definitions(NDEBUG)
-
-install(DIRECTORY ${CMAKE_BINARY_DIR}/common/ DESTINATION lib/${CMAKE_LIBRARY_ARCHITECTURE}/llama.cpp/common FILES_MATCHING PATTERN "*.a" )
-install(DIRECTORY ${CMAKE_SOURCE_DIR}/common/ DESTINATION include/llama.cpp/common FILES_MATCHING PATTERN "*.h" )
-
/usr/include/llama*.h
include/llama-cpp.h /usr/include/
+# Symbolic links
+/usr/lib/*/libllama.so
+
/usr/lib/*/pkgconfig/*.pc
/usr/lib/*/cmake/llama/llama-*.cmake
-/usr/lib/*/libllama*
\ No newline at end of file
+/usr/lib/*/libllama.so.*
-libllama0: no-symbols-control-file usr/lib/x86_64-linux-gnu/libllama.so
+# According to https://wiki.debian.org/UsingSymbolsFiles
+# "For C++ libraries it is often better not to ship symbols files."
+libllama0: no-symbols-control-file usr/lib/x86_64-linux-gnu/libllama.so.*
+++ /dev/null
-activate-noawait ldconfig
--- /dev/null
+From: Mathieu Baudier <mbaudier@argeo.org>
+Date: Sun, 23 Feb 2025 11:31:46 +0100
+Subject: improve-cmake-build
+
+---
+ cmake/build-info.cmake | 4 ++++
+ src/CMakeLists.txt | 4 ++++
+ 2 files changed, 8 insertions(+)
+
+diff --git a/cmake/build-info.cmake b/cmake/build-info.cmake
+index c1a456e..66072b3 100644
+--- a/cmake/build-info.cmake
++++ b/cmake/build-info.cmake
+@@ -1,3 +1,5 @@
++if(NOT DEFINED BUILD_NUMBER) # Debian patch
++
+ set(BUILD_NUMBER 0)
+ set(BUILD_COMMIT "unknown")
+ set(BUILD_COMPILER "unknown")
+@@ -39,6 +41,8 @@ if(Git_FOUND)
+ endif()
+ endif()
+
++endif() # END Debian patch
++
+ if(MSVC)
+ set(BUILD_COMPILER "${CMAKE_C_COMPILER_ID} ${CMAKE_C_COMPILER_VERSION}")
+ set(BUILD_TARGET ${CMAKE_VS_PLATFORM_NAME})
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index e1b02e4..5883a5a 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -38,4 +38,8 @@ if (BUILD_SHARED_LIBS)
+ set_target_properties(llama PROPERTIES POSITION_INDEPENDENT_CODE ON)
+ target_compile_definitions(llama PRIVATE LLAMA_BUILD)
+ target_compile_definitions(llama PUBLIC LLAMA_SHARED)
++ if(DEFINED BUILD_NUMBER)
++ message(STATUS "Set llama shared library version to 0.0.${BUILD_NUMBER}")
++ set_target_properties(llama PROPERTIES VERSION 0.0.${BUILD_NUMBER} SOVERSION 0)
++ endif()
+ endif()
--- /dev/null
+0001-improve-cmake-build.patch
dh_auto_configure -- \
-DCMAKE_LIBRARY_ARCHITECTURE="$(DEB_HOST_MULTIARCH)" \
-DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_PROJECT_llama.cpp_INCLUDE=debian/cmake/debian-llama.cpp.cmake \
+ -DCMAKE_PROJECT_llama.cpp_INCLUDE=debian/cmake/debian-llama-cpp.cmake \
-DBUILD_SHARED_LIBS=ON \
-DGGML_BACKEND_DL=ON \
-DLLAMA_ALL_WARNINGS=OFF \