gioser

sergio/takana

> Una distribución Linux construida con un laboratorio funcional y hermético en el > sótano, y una terminal mutable, clásica y anárquica en el piso de arriba — diseñada > desde el suelo para que una IA programadora entienda, modifique y co…

TOML 188Rust 55Shell 30Markdown 281211 Definiciones

⎇ 8730aad34e868068796f9c85ca4e4c89cfb43fa6 scripts/fuentes/mirror-env.sh Shell · 27 líneas · 1.9 KB Historia crudo

takana etapa 3b: las 49 invocaciones pasan a ./target/release/takana 8730aad34 · Sergio ·

1# mirror-env.sh — activa el mirror de fuentes (ADR 0013). Se hace `source`, no se ejecuta:
2#
3#     . scripts/fuentes/mirror-env.sh
4#     flock work/.farm-build.lock ./target/release/takana --store ./store build <receta>
5#
6# Sin esto `hammer build` va derecho a upstream, que es el comportamiento de siempre: el mirror es
7# ADITIVO y su ausencia nunca rompe un build. Por eso no está horneado en el binario — un default
8# que apunta a una máquina concreta convertiría un fallo de red en un fallo de hammer para cualquiera
9# que clone el repo.
10#
11# LISTA, no una URL (ADR 0014): las dos variables aceptan varios orígenes separados por comas y se
12# prueban todos antes de caer a upstream. Con uno solo, el mecanismo que existe para no depender de
13# 79 servidores ajenos dependía de UNO nuestro. Para añadir el espejo público:
14#
15#     export HAMMER_MIRROR="sftp://…/hammer/fuentes,https://<bucket>.r2.dev/fuentes"
16#
17# El orden se ROTA por el hash de cada objeto, así que todos los orígenes se ejercitan en una tanda
18# del corpus — un espejo que sólo se usa cuando el otro falla es un espejo que nadie prueba.
19#
20# La ruta lleva `/~/` a propósito. curl interpreta lo que sigue al host en una URL `sftp://` como
21# ruta ABSOLUTA del servidor, así que `…:23/hammer/fuentes` busca en la raíz y devuelve
22# «(78) Could not open remote file for reading» aunque el fichero exista. `/~/` lo ancla al home.
23export HAMMER_MIRROR="${HAMMER_MIRROR:-sftp://u647150@u647150.your-storagebox.de:23/~/hammer/fuentes}"
24# Fuentes git: bundles shallow por commit. Variable APARTE de HAMMER_MIRROR porque son dos espacios
25# de nombres distintos —`{sha256}.tar` vs `{commit}.bundle`— y se pueblan y se pierden por separado.
26export HAMMER_MIRROR_GIT="${HAMMER_MIRROR_GIT:-sftp://u647150@u647150.your-storagebox.de:23/~/hammer/fuentes-git}"
27export HAMMER_MIRROR_KEY="${HAMMER_MIRROR_KEY:-$HOME/.ssh/github5}"