Files
takana/docs/state/repro-verificado.tsv
T
Sergio a90b4ef626 valkey: la familia «caché en memoria» estaba VACÍA — y el artefacto salió vacío sin que nada fallara
`scripts/mudanza/planear.py` agrupa el software del origen en familias funcionales y contesta, para
cada una, con qué la reemplaza takana. Cruzando esa tabla contra el catálogo, cuatro familias salen
SIN NADA sellado: caché en memoria, contenedores, correo y base vectorial. Ésta cierra la primera.

Valkey y no redis a propósito: redis dejó de ser software libre en 2024 (RSALv2/SSPLv1, que no pasan
la OSI); valkey es el fork de la Linux Foundation desde el último commit BSD, mismo protocolo y mismo
RDB/AOF. Y upstream instala los seis alias `redis-*`, así que un `redis-server` se reemplaza sin
tocar datos ni clientes. Para una distro que publica el catálogo con `license` poblado receta a
receta, meter SSPL sería meter algo que después hay que sacar.

**El hallazgo caro de esta receta no fue compilar: fue que el PRIMER artefacto se selló VACÍO.**
`make install PREFIX=/usr DESTDIR=/out` imprimió sus `INSTALL valkey-server` en verde y salió 0 — y
`/out` quedó sin un solo fichero. La causa está en la línea 65 de `src/Makefile`: valkey define
`INSTALL_BIN=$(PREFIX)/bin` **sin prefijar `$(DESTDIR)`**, o sea que IGNORA `DESTDIR` y copió los
binarios a `/usr/bin` dentro del sandbox, que se tira al terminar. Lo sellado fue un directorio con
`.hammer/recipe.toml` y nada más: un cache-hit permanente que habría contestado «valkey ya está»
para siempre. Es la regla 3 del repo en vivo — *un ausente falla ruidosamente; un vacío llega hasta
el final diciendo que todo fue bien*. Se vio mirando el árbol del artefacto, NO el código de salida.
El arreglo es `PREFIX=/out/usr`.

El otro muro, medido con un control mínimo fuera de valkey: con `zig cc` el link muere con
`undefined symbol: __cpu_model` en los tres binarios. No es valkey — es que `__builtin_cpu_supports()`
(que valkey usa para elegir en runtime las rutas AVX2/AVX-512) emite esa referencia y el
`compiler_rt` de zig 0.16.0 no la trae:

    printf '#include <stdio.h>\nint main(void){__builtin_cpu_init();return printf("%d",__builtin_cpu_supports("avx2"));}\n' > t.c
    zig cc -target x86_64-linux-musl -O2 -o t t.c   ⇒  ld.lld: error: undefined symbol: __cpu_model

De ahí `compiler = "gcc"`, que es la palanca declarativa que el lab expone justo para esto. Arrancarle
el multiversioning a parches habría costado las rutas SIMD de `BITCOUNT`/`PFCOUNT` y habría que
rehacer el parche en cada versión.

Verificado: REPRODUCE bit a bit. Único NEEDED `libc.so`, que provee `musl-shared` — raíz de `base`
desde hoy ⇒ resuelve en cualquier imagen sin declarar nada en la receta.
2026-09-11 17:29:41 +00:00

7.2 KiB

1# repro-verificado.tsv — qué artefactos se comprobaron que REPRODUCEN bit a bit, y cuándo.
2#
3# Clave = (receta, ArtifactHash). El hash resume la receta MÁS su cierre de deps, así que una
4# entrada deja de casar en cuanto algo aguas arriba cambia: no se puede dar por verificado lo
5# que ya no es lo mismo. Lo escribe scripts/verificar-repro.sh; se lee para medir cobertura y
6# para no volver a sortear lo ya hecho.
7#
8# receta<TAB>hash<TAB>fecha<TAB>veredicto
9libffi1df7e7a3eac63694f8d094646cfc231f3843995f6f9f945cda138760f6bc98382026-09-05reproduce
10packaging0378f4a8dba56e6519590778c2dad2291a99e92b7960d38960964f3fd52a7afc2026-09-05reproduce
11itstool158e4e38b2124e80856fbf64fdde1b0af39c1073de915d13a4a296f1ac8db0fd2026-09-05reproduce
12markupsafe9fcd3a2c0c442b4c9eb57683b6873dd47d227a681258bd8588f21d28327b4f062026-09-05reproduce
13musl-obstack4a5b3327efb9cd5ec015d3f62e9ec85451deb08560d4963b2567d1e2a124acbb2026-09-05reproduce
14hicolor-icon-theme98ad44a5c02059b4cac576bbbf24195a229cda1c807f1eb6c7e80424ceab1e162026-09-05reproduce
15musl-ftsb9681a5205197d51bb777efde1a271e9b189bf35d74091834c5f1aa43d82f16e2026-09-05reproduce
16npthe5682fca87a9f591d533855b0056a07b5724304fb53402c940524d885908d9802026-09-05reproduce
17poppler-render-check0d29dc69792df003726252fbc381a0133df7654daafccf547f8d5a82e526c1fe2026-09-05reproduce
18when5b4048a23584aaaca41a7d8c0e50a92c469b1b1710f5d10b2dd7abd908fe57b62026-09-05reproduce (tras poner al día un artefacto derivado)
19doas28bc42c24008f73d9541f407562cd4ed81e3788b95ab72fa00b5369ad606064a2026-09-05reproduce
20zstd1ceb6215a5a3061ac385e036da642341da61a585abe62a1c904bd0c8c2f4d5fb2026-09-05reproduce
21actionlint12e0640aa73729d170d992eb442bcca6b9d7b891a074d2d8b9f6583710717be32026-09-05reproduce
22addlicensee918fed592bc9eac2989262f030dba05e4dbdb32ab9ff715abe1f05bf9e688d32026-09-05reproduce
23adwaita-cursors22ae0ff6369e6f15cb6810ddd979d95ebe38307e8da668c1210d9434ef9b5b052026-09-05reproduce
24adwaita-hello09cf170c6a780bd09f46347c61aa48a16eccda81e27aee42184938242b0269182026-09-05reproduce
25ageb8ae28a4e360b61aa53667af7c6261951085285e62c2201f615173731ca367162026-09-05reproduce
26agora-clie05c41f1d4e46974195fbfb76a3efb591217e6733be8e17b007ba5d9cc3a153d2026-09-05reproduce
27air3761c6a516ab0bbcae825625e10c0fbd8015a15f25080e3b7dc36bfb7597d59f2026-09-05reproduce
28ali9017cf46ef5dc33c726a2fe4adf91c7463bee749ce605a94757eeea51f260c062026-09-05reproduce
29zoxide83359c57babdd2e051b7c53bd63694d319969cd9bcb5a27922707655f7b572af2026-09-05reproduce
30alsa-lib73fb200aae06b0743035dc9f961121fc94295e80a12d39dc358920d698b7bfe02026-09-05reproduce
31alterx415465a247da8489bfec54eac84d8bb2234e822423ba717974cbcbedfeb8905d2026-09-05reproduce
32amass385b4a140f8e8fa04282494f01e7523625aff42ae90f6eb38cd0230e6914aa562026-09-05reproduce
33amfora10560630b5d8302979b7844a22d2e30696a046c834968bd713efa7fcbc2b993a2026-09-05reproduce
34amp7b800350e79dda56eb1c3fca511700761cd91b2cd49ebf58f453fb4a01a629442026-09-05reproduce (tras poner al día un artefacto derivado)
35anew68ef0da2c17b474bee65caec2f61e4b24ccd5ea8e2d8357540ce572482bb57822026-09-05reproduce
36npthe5682fca87a9f591d533855b0056a07b5724304fb53402c940524d885908d9802026-09-05reproduce
37musl-ftsb9681a5205197d51bb777efde1a271e9b189bf35d74091834c5f1aa43d82f16e2026-09-05reproduce
38musl-obstack4a5b3327efb9cd5ec015d3f62e9ec85451deb08560d4963b2567d1e2a124acbb2026-09-05reproduce
39hicolor-icon-theme98ad44a5c02059b4cac576bbbf24195a229cda1c807f1eb6c7e80424ceab1e162026-09-05reproduce
40iputilsbf367f33fc000c41287c3b92e5caadee16ca1488ed433ec27ba3817d5b7953502026-09-05reproduce
41wlr-randr10359a8a229afa8804ced117d2c0568075d3b410032ff1396ba34762b2b23f0e2026-09-05reproduce
42dhcpcdc2cd34287983f133c1925697c46b727fab5cc99874aa65751b1a305df6fffac52026-09-05reproduce
43wpa_supplicantdc2d2899cbbd034aadd8c13f04557f202cdc96c71ec56c19a5567e76ef059cd62026-09-05reproduce (tras poner al día un artefacto derivado)
44libevdevddce688a0cb3d1971b2cfbaf07aa66509e77dcfe3c8b10d0d07a7b7259e3d4d62026-09-05reproduce
45less337ffc443208cbbe732c3c525d2e6a44012cbcb11b03f2a0cf90c085f178b4ef2026-09-05reproduce
46tig0b4fafb3afebcd1d679581fba4fde53f7554f85d451a3f8fc948c7c4359268772026-09-05reproduce
47file6fcc4803ed687c189754a995b1cf7676f5835e21995b142576afb014959b73de2026-09-05reproduce (tras poner al día un artefacto derivado)
48htopcacf87261facc6dbac1c6b3109894b7238490a90748ab56937d1d3bc4c3900382026-09-05reproduce
49iproute240ca1575c0ff07b08301ad3b603f7c50ee7718a4dd740ff2be40e40ea08889c52026-09-05reproduce
50dosfstools54a9bff43a204ab884e3f25c8467b9c54198142c86134b16e42db7d80f1e8cb42026-09-05reproduce
51libnlce24cca9f06781c6565b33ec4a041f2abee131fe54376f5a626cbc54e6a00fda2026-09-05reproduce
52jq54a87e3c3588db1126701a93ee360c9bec872d703152ade2aceafee158645fdb2026-09-05reproduce
53libssh2919428d7b9f28162d7c06f58c6dea71b6a52b8bc0d96d653c28b52668fed4aae2026-09-05reproduce (tras poner al día un artefacto derivado)
54dbus02833d5b5d3c6a577c0f10454591e73f5a7714df24ab66d5db97f7dadecd65a02026-09-05reproduce
55procps-ng6a8ebd6a53beafbc54792128466919d14ee7e8cab58507c2372be0f7f3e028ff2026-09-05reproduce
56vimb4c0d477428af4bf75e9b55d6ff2b2508b7f7e55f4ace9207a6f25c4d3080bd82026-09-05reproduce
57kbdbe9969f808c8499972e213f474a52d5f7477bf7faff78b6e0ec580aede5072312026-09-05reproduce
58npthe5682fca87a9f591d533855b0056a07b5724304fb53402c940524d885908d9802026-09-05reproduce
59musl-ftsb9681a5205197d51bb777efde1a271e9b189bf35d74091834c5f1aa43d82f16e2026-09-05reproduce
60json-glibe346cb599d070d407a853725cec97e6cd1b0a0a647b6767612093120050a5fa72026-09-08reproduce
61zathura685efcac30d6821ac9ac0a0f492815b2a469c3360bb3a3c1a6637b3258193dd52026-09-08reproduce
62zathura-pdf-poppler04c8b7bac22a303d7e4edaebcf91833277e52a2fdcf0a741d165176c9b49afd82026-09-08reproduce
63shared-mime-infofaa2101ec126a13f959c85dcb687587c1d9eec4a28d4f1b1541110abd5b9802b2026-09-08reproduce
64libfontenc20aeeabe5565d70fbae297b87bfd23bf1952f44aa33c481494abe5583bfd596f2026-09-08reproduce
65libxshmfence10a14013f92be4d25b228713fd3ac056e0b836a1857325497328f31e9b7f9b272026-09-08reproduce
66libxkbfile529bace3f42db52bac31f369f2e336f674c9621c3f61032e9ed3dbd2e35a33ba2026-09-08reproduce
67libXfont2297f66a9b864360a53e1495199c3f53c04c78db2616df8da6e37c5dbef87eb322026-09-08reproduce
68xkbcompae4a27e7b8b6672ba0ffd2ddba8127f4b5f84b50358b0c3337d0bf02818732252026-09-08reproduce
69xwaylandd43f7ba02a1f9f4b2cf01e1d03610020779991fb13adbd804f5dd3007244bf3d2026-09-08reproduce
70bash-completion86e9716873c35d1e8a4bc1b6317d3f37d5bc7b3d7c12132ae3a3ee7a24bcebaf2026-09-09reproduce
71desktop-file-utils590be503bc92262cee563d97c675022979e6c98fd205f2344129102c5cae43ec2026-09-09reproduce
72purpose2b4610926c50499c891a3d27aecfdb132846895e471250082042ea58c4204fc62026-09-09reproduce
73nftables47495be4b7570627bf9bc838884a54bedf9e3ef7a5de0dc9359845a1816239762026-09-10reproduce
74popt7202a918f06efe0315267027b071f5380f77aa15ce59eac83b5f078e6edd24f42026-09-11reproduce
75logrotate09698cb83519dc2423b8aa1905fa5803955ee1c79598590c30ff5b5b14e5e84d2026-09-11reproduce
76chronyb9e26374f000ef5820bcc32bdb761b2b3e7306d1ed400c147271cfdbd77557e92026-09-11reproduce
77cronie387347b89b107d97febbb2692ce2d292e74bc7b1fba105676befe396cc3ebf212026-09-11reproduce
78valkey9571c1a691ff8dd2e91611a341d2ddab11a9cc9a030ed8054006a4626542a06f2026-09-11reproduce