From 93e8fd98484a391d43d99d574b2298be1caef4c3 Mon Sep 17 00:00:00 2001 From: Sergio Date: Thu, 27 Aug 2026 04:53:55 +0000 Subject: [PATCH] =?UTF-8?q?appstream:=20falta=20`xz`=20en=20[deps]=20?= =?UTF-8?q?=E2=80=94=20liblzma=20entra=20por=20el=20.pc=20Requires=20de=20?= =?UTF-8?q?libxmlb?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit libxmlb.pc → Requires: gio-2.0 >= 2.45.8, liblzma, libzstd appstream declaraba libxmlb y zstd pero NO xz, así que el link moría con `unable to find static system library 'lzma'`. Patrón `.pc Requires`→[deps]. Se veía primero en los binarios de tests/ (as-test_xml, as-test_validate…) y appstream 1.0.5 NO tiene opción `tests` en meson_options.txt. Sedear `subdir('tests')` —como ya hace la receta con docs/— habría tapado el síntoma y dejado el fallo para los 4 dependientes, que enlazan appstream estática y necesitan la liblzma igual. Verificado: sella en 23 s, 0 errores de lzma, artefacto de 18 M / 97 ficheros. Blast radius nulo: en deuda en los cinco grafos con 0 dependientes sellados. El dependiente adwaita-hello pasa de fallar en 23 s a 3m33s y ahora muere en gtk4 (libgtk-4.so contra libtiff/libfreetype/libfontconfig/libjpeg/libpng16 no-PIC), que es una decisión de arquitectura aparte y sigue abierta. --- recipes/appstream.toml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/recipes/appstream.toml b/recipes/appstream.toml index 30c78685..f156c6e3 100644 --- a/recipes/appstream.toml +++ b/recipes/appstream.toml @@ -30,6 +30,13 @@ configure = "sed -i \"\\#subdir('docs/')#d\" meson.build && PKG_CONFIG_PATH=/usr 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" +# ⚠ `xz` (liblzma) está acá por el `.pc Requires` de libxmlb, no porque appstream la nombre: +# libxmlb.pc → Requires: gio-2.0 >= 2.45.8, liblzma, libzstd +# Sin ella el link muere con `unable to find static system library 'lzma'`. Se ve PRIMERO en los +# binarios de `tests/` (as-test_xml, as-test_validate…) porque son lo último que enlaza ninguna +# opción puede saltarse: appstream 1.0.5 NO tiene opción `tests` en meson_options.txt. Arreglarlo +# sedeando `subdir('tests')` habría tapado el síntoma y dejado el fallo para los 4 dependientes, +# que enlazan appstream estática y necesitan igual la liblzma. Es el patrón `.pc Requires`→`[deps]`. [deps] # `binutils` por `strip_debug = true`: el paso de strip del lab usa su `strip --strip-debug`. -build = ["binutils", "meson", "samurai", "python3", "pkgconf", "gperf", "gettext-tiny", "itstool", "glib", "libxml2", "libyaml", "curl", "openssl", "libxmlb", "zstd", "pcre2", "libffi", "zlib"] +build = ["binutils", "meson", "samurai", "python3", "pkgconf", "gperf", "gettext-tiny", "itstool", "glib", "libxml2", "libyaml", "curl", "openssl", "libxmlb", "xz", "zstd", "pcre2", "libffi", "zlib"]