kde/Capa0: saldar deuda SSL — openssl static-PIC + qtbase QT_FEATURE_ssl=ON
KIO (ksslerroruidata.cpp) usa QSslSocket → exige Qt con SSL, pero el gate tenía openssl OFF (libcrypto.a/libssl.a static sin PIC no entran en .so). Variante openssl-PIC (-fPIC en Configure, override incoming-kde) + qtbase openssl=ON/openssl_linked=ON/ssl=ON + openssl en deps → libQt6Network con QSslSocket completo. Cascada rebuild qtbase→Capa1→KF6 (nuevo hash qtbase). Desbloquea KIO + todo el networking Qt. Deuda Capa 0 SSL CERRADA. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
# OpenSSL 3.5.4 — VARIANTE PIC para la campaña KDE (ADR 0011, Capa 0). Igual que la canónica
|
||||
# (recipes/openssl.toml) pero con -fPIC: qtbase (QT_FEATURE_openssl_linked=ON) enlaza libssl.a/
|
||||
# libcrypto.a DENTRO de libQt6Network.so (dinámico). El .a canónico es no-shared SIN PIC ⇒ da
|
||||
# "recompile with -fPIC" (EVP_SKEYMGMT_free reloc) al meterlo en un .so. Override incoming-kde
|
||||
# (mismo name, gana al construir desde esta cola). Saldar la deuda SSL de Capa 0: KIO (ksslerroruidata
|
||||
# usa QSslSocket) y todo el networking Qt exigen QSslSocket completo ⇒ Qt con SSL ⇒ openssl PIC.
|
||||
# Patrón static↔dinámico Capa 0 (mismo que zstd/libgcrypt/util-linux-shared).
|
||||
name = "openssl"
|
||||
version = "3.5.4"
|
||||
|
||||
[source]
|
||||
tarball = "https://github.com/openssl/openssl/releases/download/openssl-3.5.4/openssl-3.5.4.tar.gz"
|
||||
sha256 = "967311f84955316969bdb1d8d4b983718ef42338639c621ec4c34fddef355e99"
|
||||
|
||||
[build]
|
||||
compiler = "zig-cc"
|
||||
target = "x86_64-linux-musl"
|
||||
link = "static"
|
||||
zig_version = "0.13.0"
|
||||
|
||||
[build.phases]
|
||||
# -fPIC al final de Configure ⇒ TODOS los objetos del .a son PIC (enlazables en .so). Resto idéntico
|
||||
# a la canónica (no-shared: libcrypto.a/libssl.a; no-apps/docs/tests: sólo libs+headers+pkgconfig).
|
||||
configure = "./Configure linux-x86_64 --prefix=/usr --libdir=lib no-shared no-docs no-tests no-apps -fPIC"
|
||||
compile = "make -j\"$(nproc)\" build_libs"
|
||||
install = "make DESTDIR=/out install_dev"
|
||||
@@ -71,8 +71,9 @@ cmake -B build -G Ninja -Wno-dev \
|
||||
-DQT_FEATURE_sql=ON \
|
||||
-DQT_FEATURE_sql_sqlite=ON \
|
||||
-DQT_FEATURE_system_sqlite=OFF \
|
||||
-DQT_FEATURE_openssl=OFF \
|
||||
-DQT_FEATURE_ssl=OFF \
|
||||
-DQT_FEATURE_openssl=ON \
|
||||
-DQT_FEATURE_openssl_linked=ON \
|
||||
-DQT_FEATURE_ssl=ON \
|
||||
-DQT_FEATURE_system_zlib=ON \
|
||||
-DQT_FEATURE_system_libpng=OFF \
|
||||
-DQT_FEATURE_system_libjpeg=OFF \
|
||||
@@ -98,6 +99,7 @@ build = [
|
||||
"cmake", "samurai", "python3", "pkgconf", "dbus",
|
||||
"pcre2", "zlib",
|
||||
"wayland", "wayland-protocols", "libxkbcommon", "mesa",
|
||||
"openssl",
|
||||
]
|
||||
# NOTA gate (ADR 0011, tensión estático↔dinámico): libQt6Core.so LINKEA bien con las deps estáticas
|
||||
# del closure (glib/pcre2 son PIC-compatibles; zlib entra como libz.so). Lo que ROMPE el .so son libs
|
||||
|
||||
Reference in New Issue
Block a user