Обновления из файла для закрытого контура: пакет с портала → проверка подписи → ядро, потом модули

- release: пакет обновления (ExtractBundle/ReadStagedManifest/WriteBundle), Artifact.MinCore,
  план блокирует модуль, которому нужно ядро новее, чем будет после установки
- bj-release: модули получают min_core = версия релиза
- настройки → Обновления: «Обновить из файла» (zip до 2 ГБ), фон как у сетевого обновления,
  причина блокировки в таблице компонентов

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Q4YVo4UMopqT5DzicqpPjL
This commit is contained in:
zuevav
2026-09-18 11:27:23 +03:00
parent 5bafd60df6
commit 17d8ec3988
8 changed files with 443 additions and 2 deletions
+5
View File
@@ -120,8 +120,12 @@ func build(args []string) {
fatal("hash %s: %v", e.Name(), err)
}
exec, ok := known[e.Name()]
minCore := ""
if c, isComp := release.ComponentByName(e.Name()); isComp {
exec, ok = c.Exec, true
if !c.Core {
minCore = *version // модуль собран под ядро этого релиза: на более старое ядро не ставится
}
}
// Своя версия компонента: <файл>.version рядом с файлом (независимые обновления).
ver := *version
@@ -139,6 +143,7 @@ func build(args []string) {
SHA256: sha,
Size: size,
Exec: exec,
MinCore: minCore,
})
}
sort.Slice(arts, func(i, j int) bool { return arts[i].Name < arts[j].Name })