From 37afec380fd2b3455aca552b94a0d704eea6b3ea Mon Sep 17 00:00:00 2001 From: Sergio Date: Sat, 5 Sep 2026 15:25:48 +0000 Subject: [PATCH] =?UTF-8?q?firefox:=20`MOZ=5FREQUIRE=5FSIGNING`=20se=20des?= =?UTF-8?q?activa=20con=20el=20valor=20VAC=C3=8DO,=20no=20con=20cero?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit El primer intento murió en un segundo: mozbuild.configure.options.InvalidOptionError: MOZ_REQUIRE_SIGNING takes 0 values Es una bandera booleana: el `0` no es «falso», es un VALOR que la opción no acepta. La semántica no se dedujo, se leyó del parser de mozbuild sacado del propio tarball (`python/mozbuild/mozbuild/configure/options.py`): if values == ("",): return NegativeOptionValue() ⇒ VAR= (vacío) DESACTIVA if values == ("1",): return PositiveOptionValue() ⇒ VAR=1 activa Y el `export` con valor vacío es justo lo que hace llegar la variable PRESENTE y vacía: desexportarla la dejaría sin definir y volvería al default, que acá es exigir firma porque el default sale de `milestone.is_release_or_beta and not milestone.is_esr` — 154.0 es release. Queda escrito en la receta con las dos líneas del parser, porque «=0 no es falso» es la clase de detalle que cuesta una hora la segunda vez que aparece. --- recipes/firefox.toml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/recipes/firefox.toml b/recipes/firefox.toml index 21389610..0b2f53bf 100644 --- a/recipes/firefox.toml +++ b/recipes/firefox.toml @@ -174,7 +174,15 @@ export RUST_TARGET=x86_64-alpine-linux-musl # cuenta y revisión de Mozilla por cada versión: exactamente la dependencia externa que esta distro # existe para no tener. Es la misma postura que ya tomaba `--with-unsigned-addon-scopes`, llevada # hasta donde de verdad hace falta. -export MOZ_REQUIRE_SIGNING=0 +# ⚠ SE DESACTIVA CON EL VALOR VACÍO, NO CON CERO. `MOZ_REQUIRE_SIGNING=0` muere con +# «InvalidOptionError: MOZ_REQUIRE_SIGNING takes 0 values», porque es una bandera booleana y el `0` +# es un VALOR que no acepta. La semántica está en el propio parser de mozbuild +# (`python/mozbuild/mozbuild/configure/options.py`), y no se dedujo: se leyó del tarball — +# if values == ("",): return NegativeOptionValue() ⇒ VAR= (vacío) DESACTIVA +# if values == ("1",): return PositiveOptionValue() ⇒ VAR=1 activa +# El `export` con valor vacío es lo que hace llegar la variable PRESENTE y vacía; desexportarla la +# dejaría sin definir y volvería al default, que acá es «exigir firma». +export MOZ_REQUIRE_SIGNING= # ── LOS PARCHES ROMPEN EL CHECKSUM DE LOS CRATES VENDORIZADOS ───────────────────────────────── # `error: the listed checksum of third_party/rust/zeitstempel/src/unix.rs has changed`. Los crates