Package: gnuzilla;
Reported by: Maxim Cournoyer <maxim <at> guixotic.coop>
Date: Sun, 31 Aug 2025 14:13:02 UTC
Severity: normal
Tags: patch
Message #14 received at 79355 <at> debbugs.gnu.org (full text, mbox):
From: Mark H Weaver <mhw <at> netris.org> To: Maxim Cournoyer <maxim <at> guixotic.coop> Cc: 79355 <at> debbugs.gnu.org Subject: Re: bug#79355: [PATCH v2] Update to 140.2.0-1. Date: Tue, 02 Sep 2025 14:08:32 -0400
Hi Maxim, Thanks very much for this work, Maxim! I'm profoundly grateful to you for taking care of this. Please see below for inline comments: Maxim Cournoyer <maxim <at> guixotic.coop> writes: > * makeicecat: Update FFMINOR and SOURCEBALL_CHECKSUM. > Update patching for moved files on no longer existing patterns. > Do not set MOZ_APP_VENDOR/MOZ_APP_UA_NAME/MOZ_APP_PROFILE, as confvars, which now > fails the build. Delete no obsolete variables, or those already set to > the correct value in browser/moz.configure. > Do not patch (and break) translation data. > * data/patches/hide-firefox-view-button.patch: Update patch. > * data/patches/hide-submit-feedback-menu-item.patch: Likewise. > * data/patches/icecat-about-dialog.patch: Likewise. > * data/patches/moz-configure-changes.patch: Likewise. Set > MOZILLA_OFFICIAL to False by default, which disables telemetry. Interesting observation about telemetry! Can you please cite a reference for this claim, or else tell us how you came to know it? > diff --git a/data/patches/icecat-about-dialog.patch b/data/patches/icecat-about-dialog.patch > index c7e77b0..87dc835 100644 > --- a/data/patches/icecat-about-dialog.patch > +++ b/data/patches/icecat-about-dialog.patch [...] > ---- a/browser/base/content/aboutDialog.css > -+++ b/browser/base/content/aboutDialog.css > -@@ -38,10 +38,9 @@ > +--- a/browser/base/content/aboutDialog.css 2025-08-26 21:26:43.618669160 +0900 > ++++ b/browser/base/content/aboutDialog.css 2025-08-26 21:31:54.207067616 +0900 > +@@ -32,10 +32,9 @@ > #rightBox { > background-image: url("chrome://branding/content/about-wordmark.svg"); > background-repeat: no-repeat; > @@ -19,6 +19,9 @@ > padding-top: 38px; > - margin-top: 20px; > + margin-top: 60px; > - } > - > + /* We don't want this box to contribute arbitrarily to the intrinsic size of > + * the dialog, so set the width to a reasonable size, but let it flex to take > + * all available space. */ > +--- a/browser/base/content/aboutDialog.css > ++++ b/browser/base/content/aboutDialog.css > #rightBox:-moz-locale-dir(rtl) { The three lines above, which are the last three lines of 'data/patches/icecat-about-dialog.patch' after your patch is applied, are vestigial and should be dropped. > diff --git a/data/patches/icecat-fix-install.patch b/data/patches/icecat-fix-install.patch > new file mode 100644 > index 0000000..b62d36f > --- /dev/null > +++ b/data/patches/icecat-fix-install.patch > @@ -0,0 +1,14 @@ > +diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in > +index 6ebf2f62c477..2ddcef37816c 100644 > +--- a/browser/installer/package-manifest.in > ++++ b/browser/installer/package-manifest.in > +@@ -174,7 +174,9 @@ > + @RESPATH@/components/nsUpdateService.manifest > + #endif > + @RESPATH@/components/ProcessSingleton.manifest > ++#ifdef MOZ_SERVICES_SYNC > + @RESPATH@/components/SyncComponents.manifest > ++#endif > + @RESPATH@/components/servicesComponents.manifest > + @RESPATH@/components/servicesSettings.manifest > + @RESPATH@/components/cryptoComponents.manifest It's a minor point, but I'd prefer to name this patch "fix-install.patch" without the "icecat-" prefix. > --- a/browser/moz.configure > +++ b/browser/moz.configure > -@@ -5,11 +5,11 @@ > +@@ -5,16 +5,17 @@ > # file, You can obtain one at http://mozilla.org/MPL/2.0/. > > imply_option("MOZ_PLACES", True) > -imply_option("MOZ_SERVICES_HEALTHREPORT", True) > -+imply_option("MOZ_SERVICES_HEALTHREPORT", False) > - imply_option("MOZ_SERVICES_SYNC", True) > +-imply_option("MOZ_SERVICES_SYNC", True) > -imply_option("MOZ_DEDICATED_PROFILES", True) > -imply_option("MOZ_BLOCK_PROFILE_DOWNGRADE", True) > -imply_option("MOZ_NORMANDY", True) > ++imply_option("MOZ_SERVICES_HEALTHREPORT", False) > ++imply_option("MOZ_SERVICES_SYNC", False) > +imply_option("MOZ_DEDICATED_PROFILES", False) > +imply_option("MOZ_BLOCK_PROFILE_DOWNGRADE", False) > +imply_option("MOZ_NORMANDY", False) > + imply_option("MOZ_PROFILE_MIGRATOR", True) > + > + > +-imply_option("MOZ_APP_VENDOR", "Mozilla") > ++imply_option("MOZ_APP_VENDOR", "GNU") > + imply_option("MOZ_APP_ID", "{ec8030f7-c20a-464f-9b0e-13a3a9e97384}") > ++imply_option("MOZ_APP_PROFILE", "mozilla/icecat") > + # Include the DevTools client, not just the server (which is the default) > + imply_option("MOZ_DEVTOOLS", "all") > + imply_option("BROWSER_CHROME_URL", "chrome://browser/content/browser.xhtml") I suggest adding the line: imply_option("MOZ_APP_UA_NAME", "Firefox") to 'browser/moz.configure' above, to compensate for the fact that the MOZ_APP_UA_NAME option had to be removed from 'browser/confvars.sh' (via the code in 'makeicecat'). > diff --git a/makeicecat b/makeicecat > index fc0bb76..85ca5c6 100755 > --- a/makeicecat > +++ b/makeicecat > @@ -21,12 +21,13 @@ > > > # metadata > -readonly FFMAJOR=128 > -readonly FFMINOR=14 > +readonly FFMAJOR=140 > +readonly FFMINOR=2 > readonly FFSUB=0 > readonly FFBUILD=1 > readonly GNUVERSION=1 > -readonly SOURCEBALL_CHECKSUM='93b9ef6229f41cb22ff109b95bbf61a78395a0fe4b870192eeca22947cb09a53' > +# SHA-256 I'd prefer to drop the "# SHA-256" comment. It's trivial enough to find this out by grepping for SOURCEBALL_CHECKSUM in the script. > +readonly SOURCEBALL_CHECKSUM='956dce675c3b706d563caf07ed3ca9af632ab830be710dfd4351da78a0a2ef55' > readonly SOURCEBALL_SIGNINGKEY='14F26682D0916CDD81E37B6D61B7B526D98F0353' > readonly FFVERSION=${FFMAJOR}.${FFMINOR}.${FFSUB} > readonly SOURCEBALL=firefox-${FFVERSION}esr.source.tar.xz > @@ -41,7 +42,7 @@ readonly LIST_URL=lists.gnu.org/mailman/listinfo/bug-gnuzilla > > # l10n > readonly L10N_URL=https://github.com/mozilla-l10n/firefox-l10n > -readonly L10N_REV=fcd0300e8478d1ec4d1c097a073ddb8e1e0351e3 > +readonly L10N_REV=4846304555affc92db4c693149c0f1c59afc7828 I prefer to set L10N_REV to the commit specified in 'browser/locales/l10n-changesets.json', which in the case of 140.2 is a0c1ffda4ed19c0399e4175610361179e09829de. > @@ -541,7 +541,6 @@ configure_mobile() > > cat << EOF >> mobile/android/confvars.sh > # IceCat settings > -MOZ_APP_VENDOR=GNU > MOZ_APP_VERSION=${FFVERSION} > MOZ_PAY=0 > MOZ_SERVICES_HEALTHREPORT=0 Did you intend to make this change to the Android configuration? Note that our Android support has fallen into disrepair, and is not currently functional. > @@ -606,15 +605,6 @@ apply_branding() > > # Custom legal about pages > find l10n -wholename '*/brand.ftl' | xargs /bin/sed 's/^trademarkInfo = .*/trademarkInfo = The IceCat logo is Copyright 2008-2015 Free Software Foundation, released under the terms of the GNU Lesser General Public License, version 3 or any later version./' -i > - local string > - for string in rights-intro-point-2 rights-intro-point-3 rights-intro-point-4 rights-intro-point-5 rights-intro-point-6 rights-webservices rights-safebrowsing > - do > - find -name aboutRights.ftl | xargs sed -i "s/^${string}.*/${string} = /" > - done > - for string in helpus community-2 community-exp > - do > - find -wholename '*/browser/aboutDialog.ftl' | xargs sed -i "s/^${string}.*/${string} = /" > - done > cp "${DATADIR}"/aboutRights.xhtml toolkit/content/aboutRights.xhtml > cp "${DATADIR}"/aboutRights.xhtml toolkit/content/aboutRights-unbranded.xhtml > sed -i 's|<a href="http://www\.mozilla\.org/">Mozilla Project</a>|<a href="http://www.gnu.org/">GNU Project</a>|g' browser/base/content/overrides/app-license.html Are you sure that the code above is no longer appropriate? I see files named 'aboutRights.ftl' in l10n that still contain bindings for 'rights-intro-point-*', and therefore at least the first loop above still seems to be relevant. > @@ -713,27 +703,18 @@ s/OpenSource/Free Software/g; > # Ditto for browser/modules/moz.build > sort_inner_list_in_file "EXTRA_JS_MODULES += [" "]" browser/modules/moz.build > > + # Adjust the capitalization of IceCat to match the expected symbol > + # names in build-time generated source files like TelemetryEventEnums.h. > + sed 's/IceCatview/Icecatview/g' -i browser/components/icecatview/metrics.yaml > + Hmm. Do you know where the "Icecatview" is originating from? Is there some code that changes all but the first letter of that identifier to lowercase? > # Copy js settings > cat "${DATADIR}"/settings.js >> browser/app/profile/icecat.js > > cat << EOF >> browser/confvars.sh > # IceCat settings > MOZ_APP_BASENAME=IceCat > -MOZ_APP_UA_NAME=Firefox > -MOZ_APP_VENDOR=GNU > MOZ_APP_VERSION=${FFVERSION} > -MOZ_APP_PROFILE=mozilla/icecat > -MOZ_PAY=0 > -MOZ_SERVICES_HEALTHREPORT=0 > -MOZ_SERVICES_HEALTHREPORTER=0 > -MOZ_SERVICES_FXACCOUNTS=0 > -MOZ_SERVICES_METRICS=0 > MOZ_DATA_REPORTING=0 > -MOZ_NORMANDY=0 > -MOZ_SERVICES_SYNC=0 > -MOZ_DEVICES=0 > -MOZ_ANDROID_GOOGLE_PLAY_SERVICES=0 > -MOZ_ADDON_SIGNING=0 > EOF > } In the code above, what is the rationale for removing the settings for MOZ_PAY=0, MOZ_SERVICES_HEALTHREPORTER=0, MOZ_SERVICES_FXACCOUNTS=0, MOZ_SERVICES_METRICS=0, MOZ_DEVICES=0, MOZ_ANDROID_GOOGLE_PLAY_SERVICES=0, and MOZ_ADDON_SIGNING=0? I just successfully built IceCat 140.2 with those settings retained. I understand why the settings for MOZ_APP_UA_NAME, MOZ_APP_VENDOR, and MOZ_APP_PROFILE, MOZ_SERVICES_HEALTHREPORT, MOZ_NORMANDY, and MOZ_SERVICES_SYNC had to be removed, and anyway those settings are now made in 'browser/moz.configure'. Anyway, many thanks again for this excellent work! Warm regards, Mark
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.