takana: --takana-bin, con --hammer-bin como alias
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.
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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[@]}" \
|
||||
|
||||
Reference in New Issue
Block a user