From 5b4d15fad18ffbb68e5002c4b7f1a997b66ce6c2 Mon Sep 17 00:00:00 2001 From: sergio Date: Fri, 17 Jul 2026 04:39:47 -0400 Subject: [PATCH] static: parted y libarchive cumplen link=static (10 de 28) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit parted es el caso didáctico: YA tenía -all-static en compile — era el precedente que citaban jq/shadow/procps-ng — y aun así salía dinámico, porque le faltaba en INSTALL. libtool RELINKEA el binario al instalar y ahí pierde el flag. El patrón citado estaba a medias, y por eso el propio precedente mentía. libarchive: mismo patrón, forma de fase con comillas dobles. Control de lista de ficheros intacta: parted 23, libarchive 55. parted b3:1f2046dde4dd · libarchive b3:238f1fdfc704 Co-Authored-By: Claude Opus 4.8 --- recipes/libarchive.toml | 6 ++++-- recipes/parted.toml | 5 ++++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/recipes/libarchive.toml b/recipes/libarchive.toml index 272e95f4..d0b4b4f3 100644 --- a/recipes/libarchive.toml +++ b/recipes/libarchive.toml @@ -37,5 +37,7 @@ CFLAGS='-O2 -fno-sanitize=undefined' ./configure --prefix=/usr \ --without-lzo2 --without-libb2 --without-iconv --without-xml2 --without-expat \ --without-openssl --without-nettle --without-cng --disable-acl --disable-xattr """ -compile = "make -j\"$(nproc)\"" -install = "make DESTDIR=/out install" +# -all-static en compile E install (libtool relinkea al instalar): sin esto el `link = +# "static"` de la receta se ignora en silencio y bsdtar sale dinámico. scripts/static-audit.sh +compile = "make LDFLAGS=\"-all-static -no-pie\" -j\"$(nproc)\"" +install = "make DESTDIR=/out install LDFLAGS=\"-all-static -no-pie\"" diff --git a/recipes/parted.toml b/recipes/parted.toml index bf24bf1d..fe5a2089 100644 --- a/recipes/parted.toml +++ b/recipes/parted.toml @@ -45,8 +45,11 @@ compile = ''' make LDFLAGS="-all-static" ''' # de package() de Alpine (traducido $pkgdir→/out): +# LDFLAGS también acá: libtool RELINKEA el binario al instalar, así que el -all-static de +# `compile` se PIERDE y el ejecutable sale dinámico igual. Medido 2026-07-17 con +# scripts/static-audit.sh: parted era el precedente citado del patrón… y estaba a medias. install = ''' -make DESTDIR="/out" install +make DESTDIR="/out" install LDFLAGS="-all-static" ''' # lvm2 (device-mapper) ausente y opcional → --disable-device-mapper. libuuid real vía util-linux