fix(review): systemd target тянет critical set (#1) + harden machine-id bind + deny slint-note

- БЛОКЕР: shturman.target Wants= сервисов (enable target не каскадит) — иначе start поднимал только /data.
- machine-id bind: создаём /etc/machine-id, если нет, перед mount --bind.
- deny.toml: заметка о хрупкости slint-exceptions к апгрейдам.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Signed-off-by: Alexander <akotenev2003@gmail.com>
This commit is contained in:
2026-06-24 14:36:50 +03:00
parent bfe490e899
commit 6e8fe0796b
3 changed files with 6 additions and 1 deletions
+2
View File
@@ -5,6 +5,8 @@
# Для embedded royalty-free неприменим → берём GPL-3.0 (вариант A; финал по UI-тулкиту/лицензии — к v4,
# см. docs/specs/v0.1-v0.6-foundation.md §12). Шипимый UI-бинарь прод-образа (v4) будет копилефтным.
# Точечные exceptions для slint-крейтов ниже — НЕ глобальный allow GPL.
# ⚠️ Риск: минорный апгрейд Slint может добавить новый i-slint-* крейт → cargo-deny упадёт (fail-closed)
# на нём — добавить в exceptions. Slint держим запиненным (Cargo.lock), апгрейд — осознанное событие.
[advisories]
version = 2
+1 -1
View File
@@ -10,7 +10,7 @@ ConditionPathExists=/data/state/machine-id
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/bin/sh -c 'mount --bind /data/state/machine-id /etc/machine-id'
ExecStart=/bin/sh -c '[ -e /etc/machine-id ] || : > /etc/machine-id; mount --bind /data/state/machine-id /etc/machine-id'
[Install]
WantedBy=shturman.target
+3
View File
@@ -2,6 +2,9 @@
Description=Штурман — v0 critical set (Stage 1: ядро + первый кадр)
Requires=data.mount
After=data.mount
# Тянем членов critical set: `systemctl enable shturman.target` НЕ каскадит на WantedBy-юниты,
# поэтому target должен явно Wants= их (ordering — в самих юнитах через After=).
Wants=shturman-firstboot.service shturman-machineid.service shturman-power.service shturman-settings.service shturman-shell.service
[Install]
WantedBy=multi-user.target