waterfox: instalar los tres iconos que su propio empaquetador exige

Con las deps -shared el enlace de libxul.so YA PASA (el choque de cairo se
acabó) y el build avanza hasta el empaquetado, donde muere así:

    error: browser/installer/package-manifest.in:239: Missing file(s):
           bin/browser/chrome/icons/default/default22.png
                                        :240: default24.png
                                        :245: default256.png

No falta arte y no es culpa nuestra: es una inconsistencia INTERNA del árbol de
Waterfox 6.7.1.1. Bajo `#ifdef MOZ_GTK` el manifiesto pide ocho tamaños (16, 22,
24, 32, 48, 64, 128, 256) y la rama gtk de branding-common.mozbuild lista sólo
cinco. Los tres ficheros existen en los CUATRO brandings del árbol
(official/aurora/nightly/unofficial); lo que falta es la línea que los instala.

Es una rotura sólo de Linux, que es la razón plausible de que upstream no la
note: la rama de Windows del mismo fichero está completa.

El hunk está GENERADO con `diff -u` sobre el fichero real, no escrito a mano: la
primera versión aplicaba «with fuzz 2» y la segunda «with fuzz 1». Un parche con
fuzz es uno que puede agarrar donde no debe, y verificar que aplica limpio cuesta
un `patch --dry-run`.

Va en recipes/waterfox-patches/ y no en firefox-patches/ porque es de waterfox:
firefox no lo necesita.
This commit is contained in:
Sergio
2026-09-06 05:44:09 +00:00
parent 800c80a8f7
commit cabb106c93
2 changed files with 34 additions and 0 deletions
@@ -0,0 +1,30 @@
Waterfox 6.7.1.1 no instala tres de los iconos que su PROPIO empaquetador exige.
`browser/installer/package-manifest.in`, bajo `#ifdef MOZ_GTK`, pide ocho tamaños:
16, 22, 24, 32, 48, 64, 128 y 256. La rama gtk de `branding-common.mozbuild` sólo
lista cinco, y faltan justo 22, 24 y 256:
error: browser/installer/package-manifest.in:239: Missing file(s):
bin/browser/chrome/icons/default/default22.png (y 24, y 256)
Los tres ficheros EXISTEN en `browser/branding/{official,aurora,nightly,unofficial}/`
—los cuatro brandings los traen— así que no falta arte: falta la línea que los
instala. Es una rotura sólo de Linux, que es la razón plausible de que upstream no
la note: la rama de Windows de este mismo fichero sí está completa.
Se listan en el mismo orden de cadena que usa el bloque (128 < 16 < 22 < 24 < 256
< 32 < 48 < 64). El hunk está GENERADO con `diff -u` sobre el fichero real y no
escrito a mano: la primera versión aplicaba «with fuzz», y un parche con fuzz es
uno que puede agarrar donde no debe.
--- a/browser/branding/branding-common.mozbuild
+++ b/browser/branding/branding-common.mozbuild
@@ -29,6 +29,9 @@
FINAL_TARGET_FILES.chrome.icons.default += [
"default128.png",
"default16.png",
+ "default22.png",
+ "default24.png",
+ "default256.png",
"default32.png",
"default48.png",
"default64.png",
+4
View File
@@ -69,6 +69,10 @@ patches = [
"firefox-patches/rust-lto-thin.patch",
"firefox-patches/wasip1.patch",
"firefox-patches/widevine.patch",
# PROPIO de waterfox, no heredado de firefox: su `branding-common.mozbuild` instala cinco iconos
# y su `package-manifest.in` exige ocho. Los tres que faltan (22, 24, 256) están en el árbol; lo
# que falta es la línea que los instala. Rotura sólo de Linux — ver la cabecera del parche.
"waterfox-patches/branding-icons-gtk.patch",
]
[build]