9d2d2bc0c2
Добавлен package-режим в tools/build.sh: --package, --dist-dir, --version. Реализована сборка Debian-пакета, metadata/control, postinst/postrm и SHA256SUMS. Установочные пути унифицированы под /usr/sbin и /lib/systemd/system для production-модели.
2.6 KiB
2.6 KiB
AWG2 Harness builder
Основной скрипт: build.sh.
Целевой crate: traffic_core.
Unit: awg2-harness.service.
Пример конфига: config.example.toml.
Supported host
- Debian/Ubuntu (apt-based)
- amd64/x86_64
Purpose
Скрипт используется на build-machine для проверки, сборки и упаковки AWG2 Harness.
Default mode
./tools/build.sh
Дефолтный запуск не изменяет систему. Он:
- проверяет prereqs;
- запускает
fmt/clippy/test/buildв locked-режиме; - печатает
file,ldd,sha256для собранного бинаря.
Flags
--prepare-build-env— установить недостающие build-пакеты;--prepare-runtime-env— установить недостающие runtime-пакеты;--bootstrap-rust— установить rustup и pinned toolchain;--build— запустить build gate явно;--package— собрать Debian-пакет вdist/;--dist-dir <path>— директория для release artifacts;--version <version>— переопределить версию пакета;--install— установить бинарь + systemd unit (без enable/start);--enable—systemctl enable --now awg2-harness.service;--yes— подтверждение системных изменений (apt/rustup);--skip-fmt— пропуститьcargo fmt --check;--help— справка.
Build machine flow
./tools/build.sh --prepare-build-env --bootstrap-rust --yes
./tools/build.sh --build
./tools/build.sh --package
Production host flow
В нормальном production deployment не нужно клонировать репозиторий на целевой хост. Ставится сгенерированный пакет:
apt install ./awg2-harness_*_amd64.deb
Manual source-tree install
--install и --enable оставлены для staging/debug из checked-out source tree.
Это не рекомендуемый production path.
What the script intentionally does not do
- не устанавливает Docker автоматически;
- не генерирует production config из example;
- не включает сервис без явного
--enable; - не управляет установкой AmneziaWG.