gioser

sergio/takana

> Una distribución Linux construida con un laboratorio funcional y hermético en el > sótano, y una terminal mutable, clásica y anárquica en el piso de arriba — diseñada > desde el suelo para que una IA programadora entienda, modifique y co…

TOML 1373Shell 116Rust 74Markdown 641915 Definitions

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.

37afec380fd2b3455aca552b94a0d704eea6b3ea · by Sergio · (1 month ago) · parent 1dc662c48 · browse the tree at this commit

Semantic delta

No definition changed: this change is text, documentation or data.

1 files · +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