Commit e1f50377 authored by Daniel Hiltgen's avatar Daniel Hiltgen
Browse files

Harden generate patching model

Only apply patches if we have any, and make sure to cleanup
every file we patched at the end to leave the tree clean
parent 79131045
...@@ -65,15 +65,17 @@ apply_patches() { ...@@ -65,15 +65,17 @@ apply_patches() {
echo 'include (../../../ext_server/CMakeLists.txt) # ollama' >>${LLAMACPP_DIR}/examples/server/CMakeLists.txt echo 'include (../../../ext_server/CMakeLists.txt) # ollama' >>${LLAMACPP_DIR}/examples/server/CMakeLists.txt
fi fi
# apply temporary patches until fix is upstream if [ -n "$(ls -A ../patches/*.diff)" ]; then
for patch in ../patches/*.diff; do # apply temporary patches until fix is upstream
for file in $(grep "^+++ " ${patch} | cut -f2 -d' ' | cut -f2- -d/); do for patch in ../patches/*.diff; do
(cd ${LLAMACPP_DIR}; git checkout ${file}) for file in $(grep "^+++ " ${patch} | cut -f2 -d' ' | cut -f2- -d/); do
(cd ${LLAMACPP_DIR}; git checkout ${file})
done
done done
done for patch in ../patches/*.diff; do
for patch in ../patches/*.diff; do (cd ${LLAMACPP_DIR} && git apply ${patch})
(cd ${LLAMACPP_DIR} && git apply ${patch}) done
done fi
# Avoid duplicate main symbols when we link into the cgo binary # Avoid duplicate main symbols when we link into the cgo binary
sed -e 's/int main(/int __main(/g' <${LLAMACPP_DIR}/examples/server/server.cpp >${LLAMACPP_DIR}/examples/server/server.cpp.tmp && sed -e 's/int main(/int __main(/g' <${LLAMACPP_DIR}/examples/server/server.cpp >${LLAMACPP_DIR}/examples/server/server.cpp.tmp &&
...@@ -112,4 +114,12 @@ compress_libs() { ...@@ -112,4 +114,12 @@ compress_libs() {
# Keep the local tree clean after we're done with the build # Keep the local tree clean after we're done with the build
cleanup() { cleanup() {
(cd ${LLAMACPP_DIR}/examples/server/ && git checkout CMakeLists.txt server.cpp) (cd ${LLAMACPP_DIR}/examples/server/ && git checkout CMakeLists.txt server.cpp)
if [ -n "$(ls -A ../patches/*.diff)" ]; then
for patch in ../patches/*.diff; do
for file in $(grep "^+++ " ${patch} | cut -f2 -d' ' | cut -f2- -d/); do
(cd ${LLAMACPP_DIR}; git checkout ${file})
done
done
fi
} }
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment