From e20a5f44d8cf6a6590b6e52c1a7235ca7db52fef Mon Sep 17 00:00:00 2001 From: Sergio Date: Wed, 9 Sep 2026 19:43:05 +0000 Subject: [PATCH] takana: --takana-bin, con --hammer-bin como alias MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Era la ultima superficie de CLI que quedaba con el nombre viejo. Mismo patron que forja: el canonico es el nuevo, el viejo sigue aceptandose como alias. El default pasa a .../release/takana. El DESTINO no se toca: el binario se sigue instalando en /usr/bin/hammer dentro del rootfs del producto, porque ese rootfs se hashea. Moverlo cambia el hash del producto y obliga a rehacer el baseline del selfhost — es etapa 6 y decision aparte, no efecto colateral de renombrar un flag. Verificado en el subcomando correcto (bootstrap builder, no product): las dos formas se aceptan. 605 tests en verde. --- crates/takana-cli/src/main.rs | 13 +++++++++---- scripts/selfhost-verify.sh | 2 +- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/crates/takana-cli/src/main.rs b/crates/takana-cli/src/main.rs index 5481d337..ce3df589 100644 --- a/crates/takana-cli/src/main.rs +++ b/crates/takana-cli/src/main.rs @@ -694,8 +694,13 @@ enum BootstrapCmd { #[arg(long, default_value = "recipes")] recipes: String, /// Binario `takana` estático a instalar en `/usr/bin/hammer`. - #[arg(long, default_value = "target/x86_64-unknown-linux-musl/release/hammer")] - hammer_bin: String, + /// + /// El DESTINO sigue siendo `/usr/bin/hammer` a propósito: está dentro del rootfs del + /// producto, que se hashea, así que moverlo cambia el hash del producto y obliga a + /// rehacer el baseline del selfhost (ADR 0016, etapa 6). Lo que se renombra acá es el + /// flag, con `--hammer-bin` como alias de compatibilidad. + #[arg(long, alias = "hammer-bin", default_value = "target/x86_64-unknown-linux-musl/release/takana")] + takana_bin: String, /// Toolchain del sandbox de build → `/toolchain` (rootfs Alpine de `.dev-fs`). #[arg(long, default_value = ".dev-fs/alpine")] toolchain: String, @@ -1189,7 +1194,7 @@ fn main() -> anyhow::Result<()> { seed_hash, seed, recipes, - hammer_bin, + takana_bin, toolchain, toolchain_tag, ref_content, @@ -1205,7 +1210,7 @@ fn main() -> anyhow::Result<()> { seed_hash: takana_core::ArtifactHash::from_hex(seed_hash.trim_start_matches("b3:")), seed_kind, recipes_dir: std::path::PathBuf::from(recipes), - hammer_bin: std::path::PathBuf::from(hammer_bin), + hammer_bin: std::path::PathBuf::from(takana_bin), toolchain_src: std::path::PathBuf::from(toolchain), toolchain_tag, ref_content: ref_content diff --git a/scripts/selfhost-verify.sh b/scripts/selfhost-verify.sh index dd4ccfbd..79419caa 100755 --- a/scripts/selfhost-verify.sh +++ b/scripts/selfhost-verify.sh @@ -219,7 +219,7 @@ for s in ${SWAPS:-}; do SWAP_ARGS+=(--swap "$s"); done say "ensamblar builder (toolchain in-rootfs + hammer baseline + ref${SWAP_ARGS:+ + swaps})" "$HAMMER" --store "$STORE" bootstrap builder \ --stage1 "$ROOTFS_HASH" --seed-hash "$SEED_HASH" \ - --hammer-bin "$HAMMER_BIN" \ + --takana-bin "$HAMMER_BIN" \ --toolchain "$TOOLCHAIN" --toolchain-tag "$TOOLCHAIN_TAG" \ --ref-content "$REF" \ "${SWAP_ARGS[@]}" \