docs SDD 20: la campaña de licencias quedó cerrada — 1166/1166 y el guardián arreglado
El documento decía que `lsof` y `tzdata` «siguen vetando a propósito», y ya no: las 26 recetas que faltaban están hechas desde su fuente pineada. Se agrega la sección del cierre, con el fallo del guardián que apareció al medir (resolvía por nombre de FICHERO y el paquete se llama por su campo `name`: 14 falsos vetos) y los dos paquetes que NO se pueden redistribuir, que ahora el veto ve. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LCt3ettR4Z7b6wPCBmbvEV
This commit is contained in:
@@ -140,8 +140,39 @@ y toda la familia `kube*` son herramientas Go sin relación con KDE.
|
||||
> `MANIFEST.tsv` (1,0 MB para el perfil `cli`). Los 44 textos SPDX viven en `licenses/`.
|
||||
>
|
||||
> **Y VETA**: sale ≠0 si un paquete del rootfs no declara licencia. Al estrenarlo reveló que `base`
|
||||
> y `cli` llevaban 10 y 12 paquetes con binarios y licencia desconocida; hoy van 2 cada uno (`lsof`
|
||||
> y `tzdata`, que necesitan la vía `LicenseRef-` y siguen vetando a propósito).
|
||||
> y `cli` llevaban 10 y 12 paquetes con binarios y licencia desconocida; después bajaron a 2 cada
|
||||
> uno (`lsof` y `tzdata`, que necesitaban la vía `LicenseRef-`).
|
||||
|
||||
### Cerrado el 2026-09-09: 1166/1166, y el guardián contaba mal
|
||||
**Las 26 que faltaban están hechas**, ninguna adivinada: cada una sale del fichero de licencia de
|
||||
su fuente PINEADA —el tarball del `sha256` de la receta, o el commit exacto en la forja— y la cita
|
||||
queda como comentario en la propia receta. `lsof` y `tzdata` ya no vetan: llevan
|
||||
`LicenseRef-lsof` y `LicenseRef-tz-public-domain` con su texto real en `licenses/`.
|
||||
|
||||
> ⚠ **Y el guardián tenía un fallo que valía más que las 26.** `licencias-rootfs.sh` resolvía la
|
||||
> receta por **nombre de fichero** (`ls recipes/$pkg.toml`), y el paquete se llama por su campo
|
||||
> `name`, que en **34 recetas no coincide** (`nu.toml`→`nushell`, `dust.toml`→`du-dust`,
|
||||
> `incoming-kde/qtbase.toml`→`qt6-qtbase`…). Medido: **14 paquetes que SÍ declaraban licencia
|
||||
> salían como «desconocida»** y el guardián vetaba una imagen publicable. El falso veto se nota; el
|
||||
> hermano silencioso no —un `<pkg>.toml` que pertenece a otro paquete daba la licencia EQUIVOCADA
|
||||
> sin decir nada—, y aunque hoy eso no ocurre (0 casos; de los 34 duplicados, ninguno declara
|
||||
> licencias distintas), el índice por `name` lo hace imposible en vez de improbable.
|
||||
>
|
||||
> El arreglo va por **los dos lados**, y el primer intento rompió el otro: el grafo de estado nombra
|
||||
> sus nodos por el FICHERO (`dust`) y el artefacto del store por `name` (`du-dust`). Ahora busca por
|
||||
> `name` y cae al fichero. Medido en los dos sentidos: corpus 1128/1128 y perfil `base`+`cli` 81/81.
|
||||
> Y probado con **rotura a propósito** además del control: paquete inexistente → exit 1; control →
|
||||
> exit 0 con los textos escritos.
|
||||
|
||||
**Dos paquetes del catálogo NO se pueden redistribuir**, y ahora el veto los ve en vez de dejarlos
|
||||
pasar con el campo vacío: `duplicacy` no es software libre (su `LICENSE.md` cobra licencias por
|
||||
equipo para uso comercial) y `waybackurls` **no declara licencia ninguna** en el commit pineado, lo
|
||||
que por defecto reserva todos los derechos. Ninguno está hoy en un perfil de imagen.
|
||||
|
||||
Hueco anotado: `XFree86-1.0` —una de las dos ramas del `OR` de `hwdata`— se queda sin texto porque
|
||||
SPDX no publica ese identificador (sólo `XFree86-1.1`, que es otra licencia) y el tarball lo nombra
|
||||
sin incluirlo. El guardián avisa y no veta, que es lo correcto: la otra rama es la GPL y su texto sí
|
||||
se entrega.
|
||||
|
||||
### Espejo de fuentes — la obligación que más se malentiende
|
||||
La GPL no pide «que el código exista en internet»: pide que **quien recibe el binario pueda obtener
|
||||
|
||||
Reference in New Issue
Block a user