# arje-packager — el firmador del seed de atestación (plan A1). HERRAMIENTA de build-time, NO se # embarca en el producto: takana lo construye y lo corre durante el ensamblado del product-rootfs para # firmar las concesiones (`Card::attest`) sobre el BLAKE3 de los binarios críticos, bajo una rootkey. # # Con `--seed-out` (añadido en tawasuyu c78a0ada) emite el seed firmado STANDALONE (JSON), que takana # inyecta en /ente/seed.card.json del product-rootfs (que arma como disco, no como initramfs). El gate # de arje-zero-attest lo verifica al boot (A2). Reusa la cripto canónica (arje-attest/agora) — cero # criptografía nueva en takana. # # Commit 06184e43 (rama selfhost/arje-zero-attest-lockfile) = c78a0ada + Cargo.lock committeado ⇒ `cargo # vendor --locked` ⇒ build bit-reproducible (mismo lock que arje-zero-attest, mismo árbol). # # Estático musl con zig cc: corre en el host (durante el ensamblado) sin loader, como busybox/bwrap. name = "arje-packager" version = "0.0.1" license = "MIT" [source] repo = "https://git.tawasuyu.net/tawasuyu/tawasuyu.git" commit = "619431cac9753cd55d0f9e2d99ff8efe7fab651b" # tawasuyu COMMITEA su propio `vendor/` (smithay 0.7.0 parcheado por `[patch.crates-io]` POR # RUTA: 159 líneas en 4 ficheros —flip async DRM, y dos de layer-shell—). El `cargo vendor` de # takana vendorea por default a `vendor/`, que convierte ESE dir en reemplazo de fuente, donde # cada crate debe traer `.cargo-checksum.json` — que el patch nunca tuvo (`git ls-tree`: no # existió nunca). El pin viejo (06184e43, 20-jun) es ANTERIOR a que ese `vendor/` naciera # (a37815634, 21-jul), por eso esta receta no lo traía: salta al mover el pin. No entra en # `hash_inputs`. cargo_vendor_dir = ".hammer-cargo-vendor" [build] compiler = "zig-cc" target = "x86_64-linux-musl" link = "static" # -p + --bin: el root del monorepo es un manifiesto VIRTUAL ⇒ `-p` elige el paquete, y como # arje-packager tiene lib + bin, `cargo rustc -- ` exige además `--bin` (target único). flags = ["-p", "arje-packager", "--bin", "arje-packager"]