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>
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"