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:
@@ -5,6 +5,8 @@
|
|||||||
# Для embedded royalty-free неприменим → берём GPL-3.0 (вариант A; финал по UI-тулкиту/лицензии — к v4,
|
# Для embedded royalty-free неприменим → берём GPL-3.0 (вариант A; финал по UI-тулкиту/лицензии — к v4,
|
||||||
# см. docs/specs/v0.1-v0.6-foundation.md §12). Шипимый UI-бинарь прод-образа (v4) будет копилефтным.
|
# см. docs/specs/v0.1-v0.6-foundation.md §12). Шипимый UI-бинарь прод-образа (v4) будет копилефтным.
|
||||||
# Точечные exceptions для slint-крейтов ниже — НЕ глобальный allow GPL.
|
# Точечные exceptions для slint-крейтов ниже — НЕ глобальный allow GPL.
|
||||||
|
# ⚠️ Риск: минорный апгрейд Slint может добавить новый i-slint-* крейт → cargo-deny упадёт (fail-closed)
|
||||||
|
# на нём — добавить в exceptions. Slint держим запиненным (Cargo.lock), апгрейд — осознанное событие.
|
||||||
|
|
||||||
[advisories]
|
[advisories]
|
||||||
version = 2
|
version = 2
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ ConditionPathExists=/data/state/machine-id
|
|||||||
[Service]
|
[Service]
|
||||||
Type=oneshot
|
Type=oneshot
|
||||||
RemainAfterExit=yes
|
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]
|
[Install]
|
||||||
WantedBy=shturman.target
|
WantedBy=shturman.target
|
||||||
|
|||||||
@@ -2,6 +2,9 @@
|
|||||||
Description=Штурман — v0 critical set (Stage 1: ядро + первый кадр)
|
Description=Штурман — v0 critical set (Stage 1: ядро + первый кадр)
|
||||||
Requires=data.mount
|
Requires=data.mount
|
||||||
After=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]
|
[Install]
|
||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
|
|||||||
Reference in New Issue
Block a user