static: parted y libarchive cumplen link=static (10 de 28)
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 <noreply@anthropic.com>
This commit is contained in:
@@ -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\""
|
||||
|
||||
+4
-1
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user