Package-origin ALT Linux distribution: Zig tooling, rootfs/ISO and two-stage installer
  • Zig 83.9%
  • Python 15.2%
  • Shell 0.9%
Find a file
2026-09-09 09:04:50 +00:00
docs chore: activate worktree PR review flow [t_7c5ff17b] (#1) 2026-09-09 09:04:50 +00:00
examples feat: add pure storage plan schema 2026-09-08 22:43:00 +00:00
kanban chore: activate worktree PR review flow [t_7c5ff17b] (#1) 2026-09-09 09:04:50 +00:00
profiles/base feat: lock ALT P11 base profile contract 2026-09-09 00:26:28 +00:00
rpm feat: add TTY installer RPM prerequisite 2026-09-09 01:06:14 +00:00
schemas feat: add pure storage plan schema 2026-09-08 22:43:00 +00:00
src feat: add TTY installer RPM prerequisite 2026-09-09 01:06:14 +00:00
tests feat: lock ALT P11 base profile contract 2026-09-09 00:26:28 +00:00
.gitattributes test: verify Forgejo ALT registry layout 2026-09-08 17:45:35 +00:00
.gitignore feat: add TTY installer RPM prerequisite 2026-09-09 01:06:14 +00:00
.hermes.md docs: require worktree PR review lifecycle 2026-09-09 07:28:39 +00:00
build.zig feat: add TTY installer RPM prerequisite 2026-09-09 01:06:14 +00:00
build.zig.zon feat: add TTY installer RPM prerequisite 2026-09-09 01:06:14 +00:00
LICENSE docs: define component ownership boundaries 2026-09-08 17:20:15 +00:00
README.md docs: require worktree PR review lifecycle 2026-09-09 07:28:39 +00:00

multi-alt

multi-alt — проект собственной сборки ALT Linux с воспроизводимым package-origin rootfs, собственными пакетами и установщиком. multi-alt-installer — Zig 0.16.0 TTY frontend над общей installer state machine; он читает strict InstallPlan v1, показывает canonical destructive summary, требует exact SHA-256 plan confirmation и вызывает только явный effect port.

Основные правила

  • Все разрабатываемые проектом исполняемые программы и библиотеки пишутся на Zig 0.16.0. Внешние инструменты ALT, загрузчики, ядро, DE и библиотеки могут использоваться как пакетные/runtime-зависимости.
  • Готовый rootfs, OCI-слой или официальный ISO не являются bootstrap-источником для основной сборки. Rootfs строится из проверенных metadata и RPM.
  • Сначала используется ALT Package Registry Forgejo: https://git.wetgrape.su/api/packages/hermes/alt/multi-alt/p11/stable.repo; официальная ветка ALT P11 остаётся fallback.
  • Выбор источника доказывается тестом коллизии пакетов, а не только порядком строк в sources.list.
  • Сборка rootfs, RPM и ISO должна выполняться в Forgejo Actions на git.wetgrape.su.
  • Любая публикация пакета/образа требует проверок, provenance и явной стадии promotion; существующую стабильную версию нельзя перезаписывать.

Уже существующие активы

Компонент Состояние Роль в multi-alt
hermes/ember Zig 0.16, early 0.2.0; initial ALT RPM bootstrap работает Основной rootfs/image engine
hermes/crucible Экспериментальный Rust-аналог hasher Поведенческий прототип; конечная реализация переносится на Zig
hermes/crucible-builder Docker/CI image Временная инфраструктура; должна перейти на Zig Crucible и Ember-built root
hermes/forgejo-publish JavaScript publisher Прототип API; project-owned publisher переписывается на Zig
kiper220/dots-hyprland Активные Hyprland dots Версионированный optional bundle второго этапа установки

ember на момент создания проекта имеет незакоммиченные изменения. Они не принадлежат этому orchestration-репозиторию и не должны автоматически изменяться, коммититься или отбрасываться.

MVP

MVP — два загружаемых x86_64 UEFI ISO и воспроизводимая цепочка сборки:

  1. Online ISO — маленькая live/TTY-среда; все пакеты целевой системы загружаются во время установки.
  2. Offline ISO — содержит проверенный package pool для всей поддерживаемой MVP-матрицы; сеть не обязательна, но перед установкой или после неё можно обновиться.
  3. Один общий Zig installer работает из TTY и live-среды.
  4. Доступны режимы без DE, Hyprland и stock KDE Plasma из P11.
  5. Доступны редакции minimal, workstation, domain, virtualization.
  6. DE выбирается ровно один раз: на live-этапе или на этапе доустановки.
  7. Dots-файлы и их пакетные зависимости устанавливаются только на втором этапе и только по явному выбору пользователя.
  8. Свежий Hyprland и необходимый совместимый стек собираются собственным Zig-сборщиком RPM в Forgejo CI и публикуются в native ALT registry.
  9. Итоговые установки проходят автоматические QEMU smoke-тесты и ручной acceptance gate.

Точный контракт: docs/MVP.md. Архитектура: docs/ARCHITECTURE.md. Обязательный worktree → PR → independent review/merge lifecycle: docs/WORKFLOW.md. Typed resolver профилей: docs/PROFILE-COMPOSITION.md. Locked ALT P11 Base layer и его acceptance validators: docs/BASE-PROFILE.md. Общая state machine установщика и InstallPlan: docs/INSTALLER-CORE.md. Read-only hardware discovery и disk safety gate: docs/HARDWARE-DISCOVERY.md. Pure automatic erase-disk planner и storage schema v1: docs/STORAGE-PLAN.md. Confirmed destructive executor, exact allowlist, CI loop/QEMU gate и journal/rollback limits: docs/STORAGE-EXECUTOR.md. Замороженный baseline интерфейсов и реестр рисков: docs/ARCHITECTURE-BASELINE.md. Threat/trust/reproducibility model: docs/THREAT-MODEL.md. Решения и отложенный scope: docs/DECISIONS.md. Владение компонентами и миграция репозиториев: ADR-012.

Не входит в первый MVP

  • собственная реализация apt/libapt;
  • собственная реализация RPM DB и полного transaction engine;
  • Secure Boot production key ceremony;
  • ARM64 и legacy BIOS;
  • графический toolkit установщика, отдельный от общей TTY-модели;
  • полный каталог DE/редакций вне MVP-матрицы.

Эти направления остаются частью продукта, но начнутся после доказанного end-to-end MVP, чтобы не блокировать установочный образ многолетней реализацией package manager ABI.

Лицензия

Оригинальный код и документация этого репозитория распространяются по MIT; импортированные fixtures, upstream sources и содержимое собираемых RPM сохраняют собственные лицензии и attribution. См. LICENSE и component policy в ADR-012.