Cierra el userland mínimo salvo el init definitivo. hammerd entra como tercer componente de stage1, construido por el lab vía BuildSys::Cargo + vendoring: - recipes/hammerd.toml: source git del repo hammer a commit fijado (ADR 0006), flags=["-p","hammerd"] para construir sólo ese binario del workspace, estático con zig cc; las deps se vendorean en el fetch (Lote 6) ⇒ build --offline - STAGE1_COMPONENTS += hammerd; el inittab provisional lo arranca como servicio respawn (/usr/bin/hammerd) tras montar los pseudo-FS - el test de recetas del repo ahora valida también hammerd.toml (parse + hash) Falta sólo sustituir el init provisional de busybox por arje (ADR 0007) para el CRASHED real. El cross-compile se valida en la VM. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
24 lines
1.0 KiB
TOML
24 lines
1.0 KiB
TOML
# hammerd — daemon de hammer (bus de agente en /run/agent.sock + diario de mutaciones), como
|
|
# servicio del userland mínimo del Stage 1 (SDD 11 §3).
|
|
#
|
|
# Receta Cargo (ADR 0008 / BuildSys::Cargo): el lab construye el crate `hammerd` del workspace
|
|
# hammer a un commit fijado (ADR 0006), con las deps vendoreadas en el fetch para un build
|
|
# hermético `--offline`. Enlaza con `zig cc` cross al target. El init provisional (busybox) lo
|
|
# arranca por /etc/inittab; cuando entre `arje` (ADR 0007) pasará a ser un servicio supervisado.
|
|
|
|
name = "hammerd"
|
|
version = "0.0.1"
|
|
|
|
[source]
|
|
# El repo del propio hammer: el `commit` es el identificador inmutable (la URL es sólo locator y
|
|
# no entra al hash de la receta). Subir el commit cuando hammerd avance.
|
|
repo = "ssh://gitea@git.gioser.net:2345/sergio/hammer.git"
|
|
commit = "e9b055121322d3ef8aef8e75738052d5aff0693a"
|
|
|
|
[build]
|
|
compiler = "zig-cc"
|
|
target = "x86_64-linux-musl"
|
|
link = "static"
|
|
# Sólo el binario `hammerd` del workspace (no el resto de crates).
|
|
flags = ["-p", "hammerd"]
|