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 1411Shell 141Markdown 84Rust 832898 Definiciones

tinysparql: el artefacto sellaba en VERDE sin los enlaces del nombre viejo

`src/libtinysparql/symlink-libtracker-sparql.sh` crea los enlaces de compatibilidad
`libtracker-sparql-3.0.so*` → `libtinysparql-3.0.so*`, para quien enlace `-ltracker-sparql-3.0`
sin pasar por pkg-config. Usa `find … -type f,l`, que es GNU find 4.5.12+, y el find del sandbox es
busybox:

    find: invalid argument 'f,l' to '-type'      ← y la receta selló con rc=0

El script no comprueba el find, así que el bucle no itera y no hay enlaces. `ls usr/lib` del
artefacto sellado daba `libtinysparql-3.0.so{,.0,.0.902.0}` y ni un `libtracker-sparql`: un ausente
falla ruidoso, un incompleto llega al final diciendo que todo fue bien (regla 3 del repo).

Y NO lo iba a destapar nautilus, que es el consumidor de esta tanda: `tracker-sparql-3.0.pc` trae
`Requires: tinysparql-3.0` y `Libs: -lm -ldl`, o sea que nautilus enlaza `-ltinysparql-3.0` y el
hueco viajaba entero, sin síntoma, hasta el primer consumidor del nombre viejo.

`\( -type f -o -type l \)` es POSIX y lo entienden los dos find. Verificado sobre el artefacto
nuevo (b3:93bc525e): los tres enlaces están.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

3a0b6dc036685302e7481e2bbee4f5c1d1506153 · por Sergio · (hace 29 d) · padre 7683212c4 · ver el árbol en este commit

Delta semántico

Ninguna definición cambió: el cambio es de texto, documentación o datos.

1 archivos · +18 −1

diff --git a/recipes/incoming-gnome/tinysparql.toml b/recipes/incoming-gnome/tinysparql.toml
index 65e3598d..7b56e690 100644
--- a/recipes/incoming-gnome/tinysparql.toml
+++ b/recipes/incoming-gnome/tinysparql.toml
@@ -42,6 +42,23 @@
 # `R_X86_64_32` fuera de `.debug`, medido) y esto produce `libtinysparql-3.0.so`. Mismo caso que
 # libarchive en `gnome-autoar`.
 #
+# ⚠ EL SEGUNDO `sed` (`-type f,l`) ARREGLA UN ARTEFACTO QUE SELLABA INCOMPLETO EN VERDE ──────────
+# `src/libtinysparql/symlink-libtracker-sparql.sh` crea los enlaces de compatibilidad con el nombre
+# viejo (`libtracker-sparql-3.0.so*` → `libtinysparql-3.0.so*`), para quien enlace
+# `-ltracker-sparql-3.0` sin pasar por pkg-config. Su `find … -type f,l` es sintaxis de GNU find
+# 4.5.12+, y el `find` del sandbox es el de busybox. Medido en la primera corrida:
+#
+#     find: invalid argument 'f,l' to '-type'        ← y la receta selló con rc=0 igual
+#
+# El script no comprueba el `find`, así que el bucle no itera, no hay enlaces, y **nada falla**:
+# `ls usr/lib` daba `libtinysparql-3.0.so{,.0,.0.902.0}` y ni un `libtracker-sparql`. Es la forma
+# exacta que el repo ya tiene nombrada —un ausente falla ruidoso, un incompleto llega al final
+# diciendo que todo fue bien— y por eso se arregla acá en vez de anotarse.
+# `\( -type f -o -type l \)` es POSIX y lo entienden los dos `find`.
+# ⚠ Esto NO lo destapó nautilus: nautilus enlaza `-ltinysparql-3.0` porque `tracker-sparql-3.0.pc`
+# trae `Requires: tinysparql-3.0` y `Libs: -lm -ldl`. O sea que el hueco habría viajado entero y sin
+# síntoma hasta el primer consumidor del nombre viejo.
+#
 # ⚠ EL `sed` DEL `ar`: es la mina conocida de `gettext-tiny`, no una manía. Su `msgfmt` revienta con
 # SIGILL ante un mensaje de SEIS formas plurales y deja un `.mo` de 0 bytes
 # ([[gettext-tiny-msgfmt-plural-arabe]]). Medido en ESTE tarball: `po/ar.po` trae **7** `msgstr[5]`.
@@ -61,7 +78,7 @@ target   = "x86_64-linux-musl"
 link     = "dynamic"
 
 [build.phases]
-configure = "sed -i '/^ar$/d' po/LINGUAS && PKG_CONFIG_PATH=/usr/lib/pkgconfig PYTHONPATH=/usr/lib/python3.12/site-packages meson setup output --prefix=/usr --buildtype=release --wrap-mode=nodownload -Ddefault_library=shared -Dintrospection=disabled -Dvapi=disabled -Dman=false -Ddocs=false -Dtests=false -Dstemmer=disabled -Davahi=disabled -Dbash_completion=false -Dsystemd_user_services=false -Dunicode_support=icu -Dc_args=-Wno-error=date-time"
+configure = "sed -i '/^ar$/d' po/LINGUAS && sed -i 's/-type f,l/\\\\( -type f -o -type l \\\\)/' src/libtinysparql/symlink-libtracker-sparql.sh && PKG_CONFIG_PATH=/usr/lib/pkgconfig PYTHONPATH=/usr/lib/python3.12/site-packages meson setup output --prefix=/usr --buildtype=release --wrap-mode=nodownload -Ddefault_library=shared -Dintrospection=disabled -Dvapi=disabled -Dman=false -Ddocs=false -Dtests=false -Dstemmer=disabled -Davahi=disabled -Dbash_completion=false -Dsystemd_user_services=false -Dunicode_support=icu -Dc_args=-Wno-error=date-time"
 compile   = "PYTHONPATH=/usr/lib/python3.12/site-packages ninja -C output"
 install   = "PYTHONPATH=/usr/lib/python3.12/site-packages DESTDIR=/out meson install -C output --no-rebuild"