el logo OFICIAL de takana, extraído del PNG — y rustc entra al corpus como foreign
EL LOGO. El usuario pasó el PNG oficial. El ASCII no se inventa: se MIDE. Extraído celda por celda
del original — bbox 348×348 en un lienzo de 512, cuadrícula **7×7**, celda de 49,7 px — con cuatro
colores exactos y ninguno más:
#a63a25 ladrillo · #df6b2a naranja · #e3a63d dorado · #fff6de crema
La primera versión que puse era un martillo dibujado a ojo: era *un* martillo, no *el* logo. Cada
celda son DOS caracteres de bloque porque un carácter de terminal es alto y angosto, y `██` es lo que
conserva la geometría cuadrada del original; reconstruirlo a ojo la pierde y deja de ser el logo.
Van los dos ficheros: `logo.png` (el oficial, tal cual) y `logo.txt` (el mismo en ANSI de color
verdadero), más la config global de fastfetch con `file-raw` — con `file` los escapes se imprimirían
como texto. Y `os-release` se mueve de `cli` a **`base`**: toda imagen de takana debe saber decir qué
es, incluida la más pelada. «No sólo para esta máquina, para siempre en takana».
De paso, dos cosas que sólo se ven construyendo: `cp -a` aborta en el sandbox («failed to preserve
ownership»), va `cp -r`; y un config de fastfetch que sólo define `logo` dibuja el logo y NI UN DATO
— `modules` hay que listarlo aunque parezca redundante.
RUSTC, PASO 1. `rust-toolchain-bin` 1.97.0, el tarball oficial de rust-lang verificado por su sha256
y sellado tal cual, con `foreign = true` porque son bytes ajenos y no un build nuestro (clase
`ajeno`: no infla el recuento del corpus, ADR 0015). Target **musl**, no gnu: un toolchain gnu
traería el cargador de glibc y sería needed-colgante otra vez.
Por qué importa, y no es gusto: TODO el instrumental de takana es Rust —12 crates, 42 555 líneas— y
el `rustc` que los construye sale del LAB, un rootfs ajeno que ENTRA en el ArtifactHash. La distro
depende de bytes de otro para reconstruirse a sí misma. Y el corpus tenía **44 recetas `cargo-*` y
CERO de rustc**: subcomando-sin-driver a escala de toolchain.
Es el paso 1 de tres, y los otros dos no son opcionales: (2) rustc desde fuente con el `llvm18` que
YA está sellado (379 M), y (3) la cadena mrustc→1.91.1 que ya existe documentada en el selfhost pero
vive en el bootstrap, no en el corpus.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016Tf9T4vGzsMoT7eS8YzMFn
This commit is contained in:
@@ -24,6 +24,12 @@ descripcion = "userland foundational C: la distro arranca y se usa (shell, VCS,
|
||||
# Lift verbatim de BASE_SYSTEM_PKGS (scripts/product-userland-from-repo.sh). De-Alpinizado y firmado,
|
||||
# tandas base-system-1..3.
|
||||
paquetes = [
|
||||
# `os-release` (2026-09-14): la IDENTIDAD del sistema — nombre, URL, color y **el logo oficial**.
|
||||
# No existía: la caja decía «Host: vServer» y ni una palabra de takana. Va en `base` y no en `cli`
|
||||
# porque toda imagen de takana debe saber decir qué es, incluida la más pelada: lo lee cualquier
|
||||
# programa que no sea nuestro, y sin él la distro es anónima. «No sólo para esta máquina, para
|
||||
# siempre en takana» (usuario, 2026-09-14).
|
||||
"os-release",
|
||||
# `tar` (GNU, 2026-09-14): el `tar` de busybox **no entiende `--zstd`** ni `-p` ni
|
||||
# `--delay-directory-restore`. Ya costó dos veces: la caja no podía desempacar su propio LAB, y
|
||||
# `qorpa pull` de un rootfs ajeno moría imprimiendo la ayuda de busybox sin nombrar la causa.
|
||||
@@ -108,11 +114,6 @@ hereda = ["base"]
|
||||
# declara abajo es el subconjunto que ya estaba sellado y que un usuario de esta capa espera
|
||||
# encontrar — cero recetas nuevas, cero builds: sólo dejan de ser invisibles.
|
||||
paquetes = [
|
||||
# `os-release` (2026-09-14): la IDENTIDAD del sistema, que no existía. Se descubrió al meter
|
||||
# fastfetch: la caja decía «Host: vServer» y ni una palabra de takana, porque `/etc/os-release` no
|
||||
# estaba. Lo lee todo el que quiera saber en qué distro corre — sin él, la distro es anónima para
|
||||
# cualquier programa que no sea suyo.
|
||||
"os-release",
|
||||
# `fastfetch` (2026-09-14, pedido del usuario): la tarjeta de presentación del sistema. En una
|
||||
# distro propia es lo primero que contesta «¿qué estoy corriendo?» sin leer tres ficheros de
|
||||
# `/proc`, y en una caja recién instalada distingue «arrancó» de «arrancó lo que yo creía».
|
||||
|
||||
Reference in New Issue
Block a user