firefox: `MOZ_REQUIRE_SIGNING` se desactiva con el valor VACÍO, no con cero
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.
Delta semántico
Ninguna definición cambió: el cambio es de texto, documentación o datos.
1 archivos · +9 −1
- recipes/firefox.toml +9 −1
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