mirror of
https://github.com/R0m1k3/Loki.git
synced 2026-10-22 14:38:12 +02:00
Migration : reecrire les chemins absolus pointant vers l'ancien dossier
Bug trouve en testant la migration sur une vraie machine (5,4 Go, 51 351 fichiers). Le rename du dossier reussissait, mais config.env contenait BIN=C:\ProgramData\jean\backends\llama.cpp\build\bin\Release\llama-server.exe soit un chemin ABSOLU vers le dossier qu'on venait de renommer. Resultat : le dossier migre intact, et llama-server ne demarre plus. Ca touche tous ceux qui ont fait un `llamacpp install`, donc le cas nominal, pas un cas limite. Les presets de configs/ portent le meme BIN et etaient touches pareil (deux presets concernes sur la machine de test). Apres un rename reussi, on reecrit donc les references a l'ancien chemin dans les fichiers de config qu'on ecrit nous-memes : config.env, model_dirs.json, mcp.json, webprefs.json et les presets de configs/. Les deux ecritures de separateur sont couvertes, Windows acceptant \ et / dans une meme valeur. Restreint a ces fichiers texte : on ne reecrit pas a l'aveugle les 51 000 fichiers d'un dossier de donnees. Les fichiers d'etat du service sont repris au passage (jean.pid/jean.log -> ajean.pid/ajean.log), meme raison que pour le worker de lien : le PID dit si le service tourne, l'ignorer ferait demarrer un second service. Non traite volontairement : l'arborescence de build llama.cpp (CMakeCache.txt et consorts) contient aussi des chemins absolus. Elle est regenerable par `ajean llamacpp update` et la reecrire en masse serait plus risque qu'utile. Verifie de bout en bout sur la machine de test : service demarre, llama-server chargé depuis le nouveau chemin, /health ok, completion reelle ok. Deux tests ajoutes reproduisant le cas.
This commit is contained in:
1 parent
993be881d5
commit
8a2b5c6687
3 files changed
+156
-2
No files matched your search
@@ -16,7 +16,7 @@ import (
|
||||
// et on l'expose à la fois en ligne de commande (`ajean where`) et dans l'UI.
|
||||
|
||||
type ajeanPaths struct {
|
||||
Home string `json:"home"` // JEAN_HOME : racine des données
|
||||
Home string `json:"home"` // AJEAN_HOME : racine des données
|
||||
Config string `json:"config"` // config.env
|
||||
Exe string `json:"exe"` // binaire en cours d'exécution
|
||||
Installed string `json:"installed"` // binaire installé (peut différer de Exe)
|
||||
@@ -64,7 +64,7 @@ func cmdWhere(args []string) error {
|
||||
p := currentPaths()
|
||||
fmt.Printf("Emplacements AJEAN\n\n")
|
||||
for _, row := range [][2]string{
|
||||
{"données (JEAN_HOME)", p.Home},
|
||||
{"données (AJEAN_HOME)", p.Home},
|
||||
{"configuration", p.Config},
|
||||
{"binaire en cours", p.Exe},
|
||||
{"binaire installé", p.Installed},
|
||||
|
||||
Reference in new issue
Block a user