contrib/manifest/generate.py + pre-commit hook; install-git-hooks.sh creates .local/build-release-manifest.sh (gitignored). Remove scripts/ from remote.
1.8 KiB
Release manifest
Файлы release/manifest-VERSION.json — SHA256 агентских скриптов как в git (после checkout на Linux). Updater сверяет их до копирования на хост.
Автоматически (рекомендуется)
Один раз после clone:
./contrib/install-git-hooks.sh
При коммите, если изменились version.txt, SSH_MONITOR_VERSION в ssh-monitor или любой из агентских файлов (ssh-monitor, *.sh из списка manifest), pre-commit вызовет contrib/manifest/generate.py и добавит release/manifest-{версия}.json в коммит.
Ручная генерация (локально)
Скрипт .local/build-release-manifest.sh создаётся install-git-hooks.sh и не коммитится (см. .gitignore).
./.local/build-release-manifest.sh
./.local/build-release-manifest.sh 2.2.3-SAC
git add release/manifest-2.2.3-SAC.json
Ядро генерации в репозитории: contrib/manifest/generate.py (используется hook и локальным wrapper).
Релиз (чек-лист)
- Bump
SSH_MONITOR_VERSION+version.txt git addизменённые файлыgit commit— hook обновит manifest (или вручную.local/build-release-manifest.sh)git tag X.Y.Z-SAC- Push в kalinamall (+ GitHub при необходимости)
Поле git_commit в manifest по умолчанию пустое (проверяются только SHA256 файлов). Опционально после коммита: python3 contrib/manifest/generate.py --pin-commit.
См. также auto-update.ru.md.