tawasuyu

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 1572Shell 203Rust 109Markdown 993728 Definiciones

⎇ f33df351cfd0c70b5909b01d1f0ff4105adf9010 recipes/wireless-regdb.toml TOML · 49 líneas · 3.1 KB Historia crudo

busybox sale de las 24 build-deps: ya no viaja en NINGUNA imagen b53d91edf · Sergio ·

1# wireless-regdb — la base de datos regulatoria del WiFi: qué canales y a qué potencia se puede
2# emitir en cada país.
3#
4# ── POR QUÉ EXISTE (2026-09-17) ─────────────────────────────────────────────────────────────────
5# `firmware-tigerlake` la pedía de `linux-firmware` y cortaba con «falta regulatory.db». No era un
6# fallo suyo: **upstream la sacó del tarball de linux-firmware**. `regulatory.db` es un proyecto
7# aparte (`wireless-regdb`, del mismo kernel.org) y hoy sólo se publica ahí. Se comprobó sobre el
8# artefacto sellado de linux-firmware 20260910: `find -name "regulatory*"` no devuelve nada.
9#
10# ── QUÉ PASA SIN ELLA, QUE NO ES «NO HAY WIFI» ─────────────────────────────────────────────────
11# `cfg80211` arranca igual y la tarjeta asocia — por eso es fácil no notarlo—, pero se queda en el
12# dominio `world`: pierde canales (los de 5 GHz que dependen del país, el UNII-2 con DFS, buena
13# parte de 6 GHz) y emite a la potencia mínima. O sea, un WiFi que «funciona» y va mal.
14#
15# ── NO SE COMPILA: SON DATOS FIRMADOS ──────────────────────────────────────────────────────────
16# El tarball ya trae `regulatory.db` y su firma `regulatory.db.p7s`. El `make` de este proyecto sólo
17# sirve para REGENERARLA y firmarla con otra clave, y eso rompería la verificación: el kernel valida
18# la firma contra la clave que lleva compilada. Así que la receta **copia los dos ficheros tal cual**,
19# que es lo único correcto — y lo mismo hace cualquier distro.
20name    = "wireless-regdb"
21version = "2026.09.03"
22license = "ISC"
23
24[source]
25tarball = "https://www.kernel.org/pub/software/network/wireless-regdb/wireless-regdb-2026.09.03.tar.xz"
26sha256  = "b22e0901227b820cd1c280abe681a15b773a5103a5e10dc442e94ebb34cbf58d"
27
28[build]
29compiler = "zig-cc"       # no se usa: no hay nada que compilar, pero el campo es obligatorio
30target   = "x86_64-linux-musl"
31link     = "static"
32flags    = []
33
34[build.phases]
35configure = "echo 'wireless-regdb: nada que configurar — son datos firmados'"
36compile   = "echo 'wireless-regdb: nada que compilar — regenerar la db la firmaría con otra clave y el kernel la rechazaría'"
37install = '''
38set -e
39mkdir -p /out/lib/firmware
40cp -L regulatory.db /out/lib/firmware/
41[ -f regulatory.db.p7s ] && cp -L regulatory.db.p7s /out/lib/firmware/
42# CLAUDE.md §3: un artefacto presente pero vacío pasa por bueno. Acá el contenido es el punto.
43[ -s /out/lib/firmware/regulatory.db ] || { echo "wireless-regdb: regulatory.db vacío o ausente" >&2; exit 1; }
44[ -s /out/lib/firmware/regulatory.db.p7s ] || { echo "wireless-regdb: falta la FIRMA regulatory.db.p7s — sin ella cfg80211 ignora la base y el WiFi se queda en el dominio world, que es justo lo que veníamos a arreglar" >&2; exit 1; }
45echo "wireless-regdb: $(wc -c < /out/lib/firmware/regulatory.db) bytes de db + firma"
46'''
47
48[deps]
49build = []