diff --git a/recipes/curl.toml b/recipes/curl.toml index 83c271fa..f64fbde1 100644 --- a/recipes/curl.toml +++ b/recipes/curl.toml @@ -25,8 +25,15 @@ configure = ''' --disable-ldap --enable-ipv6 --enable-unix-sockets \ --with-ca-path=/etc/ssl/certs ''' -compile = 'make' -install = 'make DESTDIR=/out install' +# -all-static (patrón de jq/parted/shadow/procps-ng): curl linka CON LIBTOOL, que lee el `-static` +# del lab como "preferí mis .a", NO como flag al linker ⇒ `link = "static"` se ignoraba EN SILENCIO +# y el binario salía dinámico (`NEEDED: libz.so.1, libc.so`). `libc.so` es el soname de la musl que +# zig bundlea; en el host son 255B de linker script ⇒ el curl sellado NO CORRÍA fuera del sandbox +# ("Error relocating /lib/libz.so.1: __snprintf_chk"). Medido con scripts/static-audit.sh. +# Va SÓLO en compile e install: en configure rompería los link-tests (no pasan por libtool), y en +# install porque libtool RELINKEA el binario al instalar. +compile = 'make LDFLAGS="-all-static -no-pie" -j"$(nproc)"' +install = 'make DESTDIR=/out install LDFLAGS="-all-static -no-pie"' [deps] build = ["openssl", "zlib", "perl"]