#89 [iceweasel] 118.0.parabola1
Closed a year ago by billauger. Opened a year ago by grizzlyuser.

@@ -1,4 +1,4 @@ 

- From 20106ae10f9c6a58f78ce42e7a319385441a1b95 Mon Sep 17 00:00:00 2001

+ From 2699eccd5dc65f94d65738cec193e28e71f6321e Mon Sep 17 00:00:00 2001

  From: grizzlyuser <grizzlyuser@protonmail.com>

  Date: Wed, 30 Dec 2020 17:20:39 +0200

  Subject: [PATCH 01/13] Point to local omni.ja files, not remote server
@@ -22,6 +22,7 @@ 

  [1] https://remote-settings.readthedocs.io/en/latest/introduction.html

  [2] https://www.gnu.org/distros/free-system-distribution-guidelines.en.html#license-rules

  ---

+  browser/components/newtab/bin/import-rollouts.js          | 4 ++--

   .../components/ASRouterAdmin/ASRouterAdmin.jsx            | 2 +-

   .../newtab/data/content/activity-stream.bundle.js         | 2 +-

   services/settings/Utils.sys.mjs                           | 2 +-
@@ -34,8 +35,30 @@ 

   .../components/search/docs/SearchEngineConfiguration.rst  | 2 +-

   toolkit/modules/AppConstants.sys.mjs                      | 4 ++--

   toolkit/mozapps/defaultagent/RemoteSettings.cpp           | 2 +-

-  12 files changed, 18 insertions(+), 18 deletions(-)

+  13 files changed, 20 insertions(+), 20 deletions(-)

  

+ diff --git a/browser/components/newtab/bin/import-rollouts.js b/browser/components/newtab/bin/import-rollouts.js

+ index 8208c51aef..d012db2b25 100644

+ --- a/browser/components/newtab/bin/import-rollouts.js

+ +++ b/browser/components/newtab/bin/import-rollouts.js

+ @@ -36,7 +36,7 @@ const jsonschema = require("../../../../third_party/js/cfworker/json-schema.js")

+  

+  const DEFAULT_COLLECTION_ID = "nimbus-desktop-experiments";

+  const BASE_URL =

+ -  "https://firefox.settings.services.mozilla.com/v1/buckets/main/collections/";

+ +  "resource://app/defaults/settings/main/";

+  const EXPERIMENTER_URL = "https://experimenter.services.mozilla.com/nimbus/";

+  const OUTPUT_PATH = "./test/NimbusRolloutMessageProvider.sys.mjs";

+  const LICENSE_STRING = `/* This Source Code Form is subject to the terms of the Mozilla Public

+ @@ -89,7 +89,7 @@ const cli = meow(

+    }

+  );

+  

+ -const RECORDS_URL = `${BASE_URL}${cli.flags.collection}/records`;

+ +const RECORDS_URL = `${BASE_URL}${cli.flags.collection}.json`;

+  

+  function fetchJSON(url) {

+    return new Promise((resolve, reject) => {

  diff --git a/browser/components/newtab/content-src/components/ASRouterAdmin/ASRouterAdmin.jsx b/browser/components/newtab/content-src/components/ASRouterAdmin/ASRouterAdmin.jsx

  index 3762be9c99..1a9c5028ff 100644

  --- a/browser/components/newtab/content-src/components/ASRouterAdmin/ASRouterAdmin.jsx
@@ -50,10 +73,10 @@ 

                     >

                       nimbus-desktop-experiments

  diff --git a/browser/components/newtab/data/content/activity-stream.bundle.js b/browser/components/newtab/data/content/activity-stream.bundle.js

- index 0f4445a88b..5806d07265 100644

+ index 88a06b5702..a807face6a 100644

  --- a/browser/components/newtab/data/content/activity-stream.bundle.js

  +++ b/browser/components/newtab/data/content/activity-stream.bundle.js

- @@ -1783,7 +1783,7 @@ class ASRouterAdminInner extends (external_React_default()).PureComponent {

+ @@ -1787,7 +1787,7 @@ class ASRouterAdminInner extends (external_React_default()).PureComponent {

           label = /*#__PURE__*/external_React_default().createElement("span", null, "remote settings (", /*#__PURE__*/external_React_default().createElement("a", {

             className: "providerUrl",

             target: "_blank",
@@ -63,7 +86,7 @@ 

           }, "nimbus-desktop-experiments"), ")");

         }

  diff --git a/services/settings/Utils.sys.mjs b/services/settings/Utils.sys.mjs

- index 697409ab07..316cd907a2 100644

+ index c2db005b68..91aa355a87 100644

  --- a/services/settings/Utils.sys.mjs

  +++ b/services/settings/Utils.sys.mjs

  @@ -100,7 +100,7 @@ export var Utils = {
@@ -135,7 +158,7 @@ 

   // --preview: enable Remote Settings and Experiment previews.

   //

  diff --git a/toolkit/components/search/SearchUtils.sys.mjs b/toolkit/components/search/SearchUtils.sys.mjs

- index 65f30b5f15..13e58ac5f6 100644

+ index 0e86068dd4..964475174e 100644

  --- a/toolkit/components/search/SearchUtils.sys.mjs

  +++ b/toolkit/components/search/SearchUtils.sys.mjs

  @@ -152,13 +152,13 @@ export var SearchUtils = {
@@ -207,10 +230,10 @@ 

   #define PROD_CID "windows-default-browser-agent"

   #define PROD_ID "state"

  -- 

- 2.41.0

+ 2.42.0

  

  

- From cc689c8b58ccb66d58586e219bc41822f1e98890 Mon Sep 17 00:00:00 2001

+ From d954757081cd70d27e0dc8d5adca68d95c97cb57 Mon Sep 17 00:00:00 2001

  From: grizzlyuser <grizzlyuser@protonmail.com>

  Date: Wed, 30 Dec 2020 17:34:08 +0200

  Subject: [PATCH 02/13] Remove polling triggered by push broadcasts
@@ -227,10 +250,10 @@ 

   2 files changed, 15 insertions(+), 9 deletions(-)

  

  diff --git a/dom/push/PushBroadcastService.sys.mjs b/dom/push/PushBroadcastService.sys.mjs

- index 825bb4a452..eda1eaa321 100644

+ index eea31ef192..529ecd6917 100644

  --- a/dom/push/PushBroadcastService.sys.mjs

  +++ b/dom/push/PushBroadcastService.sys.mjs

- @@ -170,6 +170,19 @@ export var BroadcastService = class {

+ @@ -168,6 +168,19 @@ export var BroadcastService = class {

       }

     }

   
@@ -251,10 +274,10 @@ 

      * Call the listeners of the specified broadcasts.

      *

  diff --git a/services/settings/remote-settings.sys.mjs b/services/settings/remote-settings.sys.mjs

- index de49d768a8..65ca487207 100644

+ index 95896f5f6e..01111aa690 100644

  --- a/services/settings/remote-settings.sys.mjs

  +++ b/services/settings/remote-settings.sys.mjs

- @@ -575,11 +575,7 @@ function remoteSettingsFunction() {

+ @@ -572,11 +572,7 @@ function remoteSettingsFunction() {

         moduleURI: import.meta.url,

         symbolName: "remoteSettingsBroadcastHandler",

       };
@@ -267,7 +290,7 @@ 

     };

   

     return remoteSettings;

- @@ -599,9 +595,6 @@ export var remoteSettingsBroadcastHandler = {

+ @@ -596,9 +592,6 @@ export var remoteSettingsBroadcastHandler = {

         `Push notification received (version=${version} phase=${phase})`

       );

   
@@ -279,10 +302,10 @@ 

     },

   };

  -- 

- 2.41.0

+ 2.42.0

  

  

- From 53faed56ab66fd25c5e82a81b264454596b34a72 Mon Sep 17 00:00:00 2001

+ From 01820751018f1b849884204d081816e7d4bcb9df Mon Sep 17 00:00:00 2001

  From: grizzlyuser <grizzlyuser@protonmail.com>

  Date: Wed, 30 Dec 2020 17:41:54 +0200

  Subject: [PATCH 03/13] Remove timer that triggers polling for changes
@@ -323,10 +346,10 @@ 

  -# see syntax https://searchfox.org/mozilla-central/rev/cc280c4be94ff8cf64a27cc9b3d6831ffa49fa45/toolkit/components/timermanager/UpdateTimerManager.jsm#155

  -category update-timer RemoteSettingsComponents @mozilla.org/services/settings;1,getService,services-settings-poll-changes,services.settings.poll_interval,86400,259200

  -- 

- 2.41.0

+ 2.42.0

  

  

- From 3a48f439a47bc8db72718660691472e412fb5363 Mon Sep 17 00:00:00 2001

+ From 400c2e04fa34d920e294c00235838083a0bf6bd4 Mon Sep 17 00:00:00 2001

  From: grizzlyuser <grizzlyuser@protonmail.com>

  Date: Wed, 30 Dec 2020 17:47:41 +0200

  Subject: [PATCH 04/13] Utils: fetch timestamps of each collection locally
@@ -345,10 +368,10 @@ 

   create mode 100644 services/settings/dumps/monitor/moz.build

  

  diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in

- index 41d13e23c4..8fa609c2b5 100644

+ index 5296d2b4b1..6d8aa0e0b1 100644

  --- a/browser/installer/package-manifest.in

  +++ b/browser/installer/package-manifest.in

- @@ -270,6 +270,7 @@

+ @@ -260,6 +260,7 @@

   @RESPATH@/browser/defaults/settings/last_modified.json

   @RESPATH@/browser/defaults/settings/blocklists

   @RESPATH@/browser/defaults/settings/main
@@ -357,7 +380,7 @@ 

   

   ; Warning: changing the path to channel-prefs.js can cause bugs (Bug 756325)

  diff --git a/services/settings/Utils.sys.mjs b/services/settings/Utils.sys.mjs

- index 316cd907a2..8765359371 100644

+ index 91aa355a87..c9e11531d4 100644

  --- a/services/settings/Utils.sys.mjs

  +++ b/services/settings/Utils.sys.mjs

  @@ -369,7 +369,7 @@ export var Utils = {
@@ -436,10 +459,10 @@ 

   ]

   

  -- 

- 2.41.0

+ 2.42.0

  

  

- From e9aecc206fbece0edaebd4ab45281bf3e2715a3b Mon Sep 17 00:00:00 2001

+ From 906c6cdabc913a605cf91889503072cfaa7b9085 Mon Sep 17 00:00:00 2001

  From: grizzlyuser <grizzlyuser@protonmail.com>

  Date: Wed, 30 Dec 2020 17:52:10 +0200

  Subject: [PATCH 05/13] Utils: disable offline checking
@@ -451,7 +474,7 @@ 

   1 file changed, 10 deletions(-)

  

  diff --git a/services/settings/Utils.sys.mjs b/services/settings/Utils.sys.mjs

- index 8765359371..7b894cc698 100644

+ index c9e11531d4..092c94376f 100644

  --- a/services/settings/Utils.sys.mjs

  +++ b/services/settings/Utils.sys.mjs

  @@ -183,16 +183,6 @@ export var Utils = {
@@ -472,10 +495,10 @@ 

     },

   

  -- 

- 2.41.0

+ 2.42.0

  

  

- From 42069dc660482b2d46cc28acd05b03a231042990 Mon Sep 17 00:00:00 2001

+ From 6e4aa6ad6c0579e96e7a3eb8d3c6d9de1d8fc898 Mon Sep 17 00:00:00 2001

  From: grizzlyuser <grizzlyuser@protonmail.com>

  Date: Wed, 30 Dec 2020 17:56:02 +0200

  Subject: [PATCH 06/13] Refactor hashing logic to a separate function
@@ -526,10 +549,10 @@ 

   

     /**

  -- 

- 2.41.0

+ 2.42.0

  

  

- From 61f117cd66893b44dbad129e09c7f3ad44bacbd9 Mon Sep 17 00:00:00 2001

+ From ae2173787a6e4690ec4f63a367210753b3ea47be Mon Sep 17 00:00:00 2001

  From: grizzlyuser <grizzlyuser@protonmail.com>

  Date: Wed, 30 Dec 2020 18:05:02 +0200

  Subject: [PATCH 07/13] Client: Fetch and hash records from local dump
@@ -564,10 +587,10 @@ 

   1 file changed, 28 insertions(+), 38 deletions(-)

  

  diff --git a/services/settings/RemoteSettingsClient.sys.mjs b/services/settings/RemoteSettingsClient.sys.mjs

- index daf4798477..468f07bc9a 100644

+ index 17a693ad93..b0efbd2403 100644

  --- a/services/settings/RemoteSettingsClient.sys.mjs

  +++ b/services/settings/RemoteSettingsClient.sys.mjs

- @@ -706,11 +706,9 @@ export class RemoteSettingsClient extends EventEmitter {

+ @@ -702,11 +702,9 @@ export class RemoteSettingsClient extends EventEmitter {

   

             // If the data is up-to-date but don't have metadata (records loaded from dump),

             // we fetch them and validate the signature immediately.
@@ -581,7 +604,7 @@ 

               await this.db.importChanges(metadata);

               // We don't bother validating the signature if the dump was just loaded. We do

               // if the dump was loaded at some other point (eg. from .get()).

- @@ -987,38 +985,28 @@ export class RemoteSettingsClient extends EventEmitter {

+ @@ -983,38 +981,28 @@ export class RemoteSettingsClient extends EventEmitter {

      * @returns {Promise}

      */

     async _validateCollectionSignature(records, timestamp, metadata) {
@@ -628,7 +651,7 @@ 

       }

     }

   

- @@ -1185,24 +1173,26 @@ export class RemoteSettingsClient extends EventEmitter {

+ @@ -1181,24 +1169,26 @@ export class RemoteSettingsClient extends EventEmitter {

      * @param since timestamp of last sync (optional)

      */

     async _fetchChangeset(expectedTimestamp, since) {
@@ -672,10 +695,10 @@ 

         remoteRecords,

       };

  -- 

- 2.41.0

+ 2.42.0

  

  

- From 413b18048e8d302862d4c2795ce4e6b62fcad71a Mon Sep 17 00:00:00 2001

+ From 4b80ad7284b8b2397afcc0c33de070e0c9abf223 Mon Sep 17 00:00:00 2001

  From: grizzlyuser <grizzlyuser@protonmail.com>

  Date: Wed, 30 Dec 2020 18:42:56 +0200

  Subject: [PATCH 08/13] Client: start deferred sync on get() or on()
@@ -697,10 +720,10 @@ 

   1 file changed, 26 insertions(+), 1 deletion(-)

  

  diff --git a/services/settings/RemoteSettingsClient.sys.mjs b/services/settings/RemoteSettingsClient.sys.mjs

- index 468f07bc9a..34728b6eb1 100644

+ index b0efbd2403..232fd5ddbf 100644

  --- a/services/settings/RemoteSettingsClient.sys.mjs

  +++ b/services/settings/RemoteSettingsClient.sys.mjs

- @@ -13,6 +13,7 @@ ChromeUtils.defineESModuleGetters(lazy, {

+ @@ -12,6 +12,7 @@ ChromeUtils.defineESModuleGetters(lazy, {

     ClientEnvironmentBase:

       "resource://gre/modules/components-utils/ClientEnvironment.sys.mjs",

     Database: "resource://services-settings/Database.sys.mjs",
@@ -708,7 +731,7 @@ 

     IDBHelpers: "resource://services-settings/IDBHelpers.sys.mjs",

     KintoHttpClient: "resource://services-common/kinto-http-client.sys.mjs",

     ObjectUtils: "resource://gre/modules/ObjectUtils.sys.mjs",

- @@ -27,6 +28,7 @@ XPCOMUtils.defineLazyModuleGetters(lazy, {

+ @@ -23,6 +24,7 @@ ChromeUtils.defineESModuleGetters(lazy, {

   });

   

   const TELEMETRY_COMPONENT = "remotesettings";
@@ -716,7 +739,7 @@ 

   

   ChromeUtils.defineLazyGetter(lazy, "console", () => lazy.Utils.log);

   

- @@ -338,6 +340,11 @@ export class RemoteSettingsClient extends EventEmitter {

+ @@ -334,6 +336,11 @@ export class RemoteSettingsClient extends EventEmitter {

       this._lastCheckTimePref = lastCheckTimePref;

       this._verifier = null;

       this._syncRunning = false;
@@ -728,7 +751,7 @@ 

   

       // This attribute allows signature verification to be disabled, when running tests

       // or when pulling data from a dev server.

- @@ -367,6 +374,11 @@ export class RemoteSettingsClient extends EventEmitter {

+ @@ -363,6 +370,11 @@ export class RemoteSettingsClient extends EventEmitter {

       this.db.identifier = this.identifier;

     }

   
@@ -740,7 +763,7 @@ 

     get identifier() {

       return `${this.bucketName}/${this.collectionName}`;

     }

- @@ -440,6 +452,10 @@ export class RemoteSettingsClient extends EventEmitter {

+ @@ -436,6 +448,10 @@ export class RemoteSettingsClient extends EventEmitter {

         let lastModified = forceSync ? null : await this.db.getLastModified();

         let hasLocalData = lastModified !== null;

   
@@ -751,7 +774,7 @@ 

         if (forceSync) {

           if (!this._importingPromise) {

             this._importingPromise = (async () => {

- @@ -555,7 +571,10 @@ export class RemoteSettingsClient extends EventEmitter {

+ @@ -551,7 +567,10 @@ export class RemoteSettingsClient extends EventEmitter {

         // No need to verify signature on JSON dumps.

         // If local DB cannot be read, then we don't even try to do anything,

         // we return results early.
@@ -763,7 +786,7 @@ 

       }

   

       lazy.console.debug(

- @@ -595,6 +614,12 @@ export class RemoteSettingsClient extends EventEmitter {

+ @@ -591,6 +610,12 @@ export class RemoteSettingsClient extends EventEmitter {

       return final;

     }

   
@@ -777,10 +800,10 @@ 

      * Synchronize the local database with the remote server.

      *

  -- 

- 2.41.0

+ 2.42.0

  

  

- From 950176b012206ac2455abf39b0337c3763b41b2f Mon Sep 17 00:00:00 2001

+ From 4947e8705cdde1b78e223f2713edb435233d03b7 Mon Sep 17 00:00:00 2001

  From: grizzlyuser <grizzlyuser@protonmail.com>

  Date: Wed, 30 Dec 2020 18:53:51 +0200

  Subject: [PATCH 09/13] Client: deep compare records if timestamps match
@@ -802,7 +825,7 @@ 

   1 file changed, 5 insertions(+), 1 deletion(-)

  

  diff --git a/services/settings/RemoteSettingsClient.sys.mjs b/services/settings/RemoteSettingsClient.sys.mjs

- index 232fd5ddbf..777c999af3 100644

+ index 232fd5ddbf..64fda00c7f 100644

  --- a/services/settings/RemoteSettingsClient.sys.mjs

  +++ b/services/settings/RemoteSettingsClient.sys.mjs

  @@ -9,6 +9,7 @@ import { Downloader } from "resource://services-settings/Attachments.sys.mjs";
@@ -813,7 +836,7 @@ 

     ClientEnvironmentBase:

       "resource://gre/modules/components-utils/ClientEnvironment.sys.mjs",

     Database: "resource://services-settings/Database.sys.mjs",

- @@ -1173,7 +1174,10 @@ export class RemoteSettingsClient extends EventEmitter {

+ @@ -1169,7 +1170,10 @@ export class RemoteSettingsClient extends EventEmitter {

           const old = oldById.get(r.id);

           if (old) {

             oldById.delete(r.id);
@@ -826,10 +849,10 @@ 

             }

           } else {

  -- 

- 2.41.0

+ 2.42.0

  

  

- From 1969cb005348ecaff8a0b6cd5e68bf46c6d066ce Mon Sep 17 00:00:00 2001

+ From 31e3597a5fc978ccbec4dda6ee51a129f8a41a1e Mon Sep 17 00:00:00 2001

  From: grizzlyuser <grizzlyuser@protonmail.com>

  Date: Wed, 30 Dec 2020 19:01:39 +0200

  Subject: [PATCH 10/13] Client: delete more data on cleanup
@@ -847,10 +870,10 @@ 

   1 file changed, 9 insertions(+), 3 deletions(-)

  

  diff --git a/services/settings/RemoteSettingsClient.sys.mjs b/services/settings/RemoteSettingsClient.sys.mjs

- index debb3df51b..d2968c4faf 100644

+ index 64fda00c7f..396f1c3eac 100644

  --- a/services/settings/RemoteSettingsClient.sys.mjs

  +++ b/services/settings/RemoteSettingsClient.sys.mjs

- @@ -259,7 +259,7 @@ class AttachmentDownloader extends Downloader {

+ @@ -255,7 +255,7 @@ class AttachmentDownloader extends Downloader {

         allRecords

           .filter(r => !!r.attachment)

           .map(r =>
@@ -859,7 +882,7 @@ 

           )

       );

     }

- @@ -1133,7 +1133,7 @@ export class RemoteSettingsClient extends EventEmitter {

+ @@ -1129,7 +1129,7 @@ export class RemoteSettingsClient extends EventEmitter {

             // Signature failed, clear local DB because it contains

             // bad data (local + remote changes).

             lazy.console.debug(`${this.identifier} clear local data`);
@@ -868,7 +891,7 @@ 

             // Local data was tampered, throw and it will retry from empty DB.

             lazy.console.error(`${this.identifier} local data was corrupted`);

             throw new CorruptedDataError(this.identifier);

- @@ -1155,7 +1155,7 @@ export class RemoteSettingsClient extends EventEmitter {

+ @@ -1151,7 +1151,7 @@ export class RemoteSettingsClient extends EventEmitter {

               // _importJSONDump() only clears DB if dump is available,

               // therefore do it here!

               if (imported < 0) {
@@ -877,7 +900,7 @@ 

               }

             }

           }

- @@ -1195,6 +1195,12 @@ export class RemoteSettingsClient extends EventEmitter {

+ @@ -1191,6 +1191,12 @@ export class RemoteSettingsClient extends EventEmitter {

       return syncResult;

     }

   
@@ -891,10 +914,10 @@ 

      * Fetch information from changeset endpoint.

      *

  -- 

- 2.41.0

+ 2.42.0

  

  

- From 51d266f167d239cba380d581670a6b0e237423d0 Mon Sep 17 00:00:00 2001

+ From 0e73e5552e2c9b4189a1bb19ce086420e5f54336 Mon Sep 17 00:00:00 2001

  From: grizzlyuser <grizzlyuser@protonmail.com>

  Date: Wed, 30 Dec 2020 19:07:56 +0200

  Subject: [PATCH 11/13] Client: remove comparison of collection timestamps
@@ -909,10 +932,10 @@ 

   1 file changed, 5 deletions(-)

  

  diff --git a/services/settings/RemoteSettingsClient.sys.mjs b/services/settings/RemoteSettingsClient.sys.mjs

- index d2968c4faf..8233fe17cb 100644

+ index 396f1c3eac..60be4b0372 100644

  --- a/services/settings/RemoteSettingsClient.sys.mjs

  +++ b/services/settings/RemoteSettingsClient.sys.mjs

- @@ -1075,14 +1075,9 @@ export class RemoteSettingsClient extends EventEmitter {

+ @@ -1071,14 +1071,9 @@ export class RemoteSettingsClient extends EventEmitter {

         updated: [],

         deleted: [],

       };
@@ -928,10 +951,10 @@ 

       await this.db.importChanges(metadata, remoteTimestamp, remoteRecords, {

         clear: retry,

  -- 

- 2.41.0

+ 2.42.0

  

  

- From a60122e67c4a865f9690becaed275e5dd10d98dc Mon Sep 17 00:00:00 2001

+ From 1423f0168d322121a302b227be9ae64fd9f0adea Mon Sep 17 00:00:00 2001

  From: grizzlyuser <grizzlyuser@protonmail.com>

  Date: Wed, 30 Dec 2020 19:15:44 +0200

  Subject: [PATCH 12/13] Attachments: load only from dump and drop cached
@@ -1020,10 +1043,10 @@ 

   

     /**

  -- 

- 2.41.0

+ 2.42.0

  

  

- From 0a9a01a5ffc04de7de047ea4e0209bcdc5556c0b Mon Sep 17 00:00:00 2001

+ From 961ada13d31f49efbc1e8b56aa8a8811ca61408a Mon Sep 17 00:00:00 2001

  From: grizzlyuser <grizzlyuser@protonmail.com>

  Date: Wed, 30 Dec 2020 19:22:20 +0200

  Subject: [PATCH 13/13] Disable CRLite entirely for now
@@ -1048,10 +1071,10 @@ 

   2 files changed, 2 insertions(+), 1 deletion(-)

  

  diff --git a/modules/libpref/init/StaticPrefList.yaml b/modules/libpref/init/StaticPrefList.yaml

- index 5632486c69..8a26664c08 100644

+ index c7ca7ae249..f5d7c4e320 100644

  --- a/modules/libpref/init/StaticPrefList.yaml

  +++ b/modules/libpref/init/StaticPrefList.yaml

- @@ -14065,7 +14065,7 @@

+ @@ -13980,7 +13980,7 @@

   # 3: Consult CRLite and enforce "Not Revoked" results, but defer to OCSP for "Revoked".

   - name: security.pki.crlite_mode

     type: RelaxedAtomicUint32
@@ -1061,10 +1084,10 @@ 

   

   - name: security.tls.version.min

  diff --git a/security/manager/ssl/nsNSSComponent.cpp b/security/manager/ssl/nsNSSComponent.cpp

- index 737f94812d..8762011f05 100644

+ index 3893cdcdf2..adf85992a4 100644

  --- a/security/manager/ssl/nsNSSComponent.cpp

  +++ b/security/manager/ssl/nsNSSComponent.cpp

- @@ -1390,6 +1390,7 @@ void nsNSSComponent::setValidationOptions(

+ @@ -1129,6 +1129,7 @@ void nsNSSComponent::setValidationOptions(

     CRLiteMode defaultCRLiteMode = CRLiteMode::Disabled;

     CRLiteMode crliteMode =

         static_cast<CRLiteMode>(StaticPrefs::security_pki_crlite_mode());
@@ -1073,5 +1096,5 @@ 

       case CRLiteMode::Disabled:

       case CRLiteMode::TelemetryOnly:

  -- 

- 2.41.0

+ 2.42.0

  

@@ -1,7 +1,7 @@ 

  From 2fec68a4597270e7fce1c0a4e3a328be4766a2d3 Mon Sep 17 00:00:00 2001

  From: grizzlyuser <grizzlyuser@protonmail.com>

  Date: Sun, 4 Apr 2021 13:09:05 +0300

- Subject: [PATCH 1/4] geolocation: Disable API and remove Google API URLs

+ Subject: [PATCH 1/5] geolocation: Disable API and remove Google API URLs

  

  The idea for Iceweasel is to reference only services which can be

  self-hosted using 100% free software stack.
@@ -55,7 +55,7 @@ 

  From 413f141022f562beb53ed87370146a123872f35b Mon Sep 17 00:00:00 2001

  From: grizzlyuser <grizzlyuser@protonmail.com>

  Date: Sun, 4 Apr 2021 13:49:05 +0300

- Subject: [PATCH 2/4] Disable banners and remove URLs for mobile apps on

+ Subject: [PATCH 2/5] Disable banners and remove URLs for mobile apps on

   about:protections page

  

  ---
@@ -110,7 +110,7 @@ 

  From 275785d94093d5c2dd46739484a2744642df357f Mon Sep 17 00:00:00 2001

  From: grizzlyuser <grizzlyuser@protonmail.com>

  Date: Tue, 17 Jan 2023 21:59:51 +0100

- Subject: [PATCH 3/4] FSDG: Remove some references to AMO

+ Subject: [PATCH 3/5] FSDG: Remove some references to AMO

  

  * addons.mozilla.org (AMO) is a third-party repository, not compatible

    with the FSDG, because it is not committed to only including free
@@ -216,7 +216,7 @@ 

  From 7c742c2c0e0bd817fd646d0b83a0265c67d6c5fb Mon Sep 17 00:00:00 2001

  From: grizzlyuser <grizzlyuser@protonmail.com>

  Date: Sun, 4 Jun 2023 13:16:40 +0200

- Subject: [PATCH 4/4] FSDG: Disable Contile and autoupdate of system addons

+ Subject: [PATCH 4/5] FSDG: Disable Contile and autoupdate of system addons

  

  1. Contile (see change context lines) is used to fetch sponsored top

     sites, which are not controlled by Parabola and are likely to not
@@ -261,3 +261,72 @@ 

  -- 

  2.41.0

  

+ 

+ From 40f5b56ba68e3f256fa3672a77efd0c1951d7e00 Mon Sep 17 00:00:00 2001

+ From: grizzlyuser <grizzlyuser@protonmail.com>

+ Date: Tue, 26 Sep 2023 21:27:34 +0200

+ Subject: [PATCH 5/5] FSDG: Disable Firefox Translations for now

+ 

+ Although fully local translation is a great achievement, I'd hesitate to keep it 

+ enabled for now, because of the following concerns:

+ 

+ 1. According to the FSDG [1]:

+ 

+  > All information for practical use in a free distribution must be available in 

+ source form.

+  

+  Translation models are downloaded as Remote Settings attachments, see their 

+ paths on the attachment server, for example in [2] in the source tree. The 

+ hostname of that server is returned by Remote Settings server, access to which 

+ is disabled by 9001-FSDG-sync-remote-settings-with-local-dump.patch and 

+ PKGBUILD. So in my understanding, to comply with the FSDG, the distro has to 

+ make sources of those models available. It looks like those can be found using 

+ info from [4], but even then...

+  

+ 2. According to FSDG [3]:

+ 

+  > a free system distribution cannot include free software that can only be 

+ built by using nonfree software.

+  

+  It depends on whether those models can be considered software (or "information 

+ for practical use" in case the FSDG is not totally precise when talking only 

+ about software here). While the models are freely licensed [4], their README 

+ mentions the first training pipeline [5] that lists CUDA and CUDNN in the 

+ requirements. Both are nonfree and blocklisted in Parabola. Further research is 

+ needed on possibility to make the models with 100% free software stack.

+ 

+ 3. Because calls to Remote Settings server are disabled, as mentioned above, the 

+ models won't be downloaded anyway, and Firefox Translations feature will be 

+ broken, so keeping it enabled would lead to poor user experience. An alternative 

+ would be to use something like [6], but that requires additional research and 

+ probably has the same issues with the toolchain for the models.

+  

+ [1] https://www.gnu.org/distros/free-system-distribution-guidelines.html#license-rules

+ [2] services/settings/dumps/main/translations-models.json

+ [3] https://www.gnu.org/distros/free-system-distribution-guidelines.html#complete-distros

+ [4] WARNING! GitHub webpage is likely to run nonfree software in user's web browser, so at least disable JavaScript when opening: https://github.com/mozilla/firefox-translations-models

+ [5] WARNING! GitHub webpage is likely to run nonfree software in user's web browser, so at least disable JavaScript when opening: https://github.com/mozilla/firefox-translations-training

+ [6] https://addons.mozilla.org/en-US/firefox/addon/translatelocally-for-firefox/

+ 

+ ---

+  browser/app/profile/firefox.js | 2 +-

+  1 file changed, 1 insertion(+), 1 deletion(-)

+ 

+ diff --git a/browser/app/profile/firefox.js b/browser/app/profile/firefox.js

+ index f58075204d..a2ffbec390 100644

+ --- a/browser/app/profile/firefox.js

+ +++ b/browser/app/profile/firefox.js

+ @@ -1882,7 +1882,7 @@ pref("browser.translation.neverForLanguages", "");

+  

+  // Enable Firefox translations powered by the Bergamot translations

+  // engine https://browser.mt/.

+ -pref("browser.translations.enable", true);

+ +pref("browser.translations.enable", false);

+  

+  // Telemetry settings.

+  // Determines if Telemetry pings can be archived locally.

+ -- 

+ 2.42.0

+ 

+ 

+ 

file modified
+11 -7
@@ -70,7 +70,7 @@ 

  

  pkgname=iceweasel

  epoch=1

- pkgver=117.0.1

+ pkgver=118.0

  pkgrel=1

  pkgrel+=.parabola1

  _brandingver=115.0
@@ -182,13 +182,13 @@ 

    'BFA8008A8265677063B11BF47171986E4B745536' # Andreas Grapentin

    '3954A7AB837D0EA9CFA9798925DB7D9B5A8D4B40' # bill-auger

  )

- sha256sums=('7ea4203b5cf9e59f80043597e2c9020291754fcab784a337586b5f5e1370c416'

+ sha256sums=('d0f996116ae234dc7bd59e0d77ddefe268179d7500d16a9488309c826547c97c'

              'SKIP'

              '9cdc2602661717712092d28bb494e5b48e518cb930898aca85eaf21f91f7ef58')

  sha256sums+=('b701b4c47fca2661feeabe172e398c76c8015ee08ff4cc3cc2f7c3ef2ed692a7'

               'SKIP'

-              '60d4373f55bc72b4803420d545c7a895339b38b855e86b6cdc6429463b875ec9'  # 9001-FSDG-sync-remote-settings-with-local-dump.patch

-              '429a50f8bf24ddbcfa3fd1590e77d797fb1445e52bb151f743e901ad65a491e0'  # 9002-FSDG-preference-defaults.patch

+              '4dd43c446e865da73596bb34ee16966be937b78154e1269534b49566399a8025'  # 9001-FSDG-sync-remote-settings-with-local-dump.patch

+              '65d9a18b9b2b3f1034b427af486c82416c360c0e9254ada42d81ff2b7132b1ca'  # 9002-FSDG-preference-defaults.patch

               '07d6910ddd07f60b803957259e06e3babee6f072f48c6fe31b906a1ea24e3b62'  # 9003-FSDG-urihandlers.patch

               'cd617d892cb3b3888a65b19c06217356d4f97b12c5c438283ec9c2476eecb218'  # 9004-FSDG-misc.patch

               '00cb44a91b42942f17258ad165810866ff123777b667a5691ea0745ba72f4332'  # process-json-files.py
@@ -200,13 +200,13 @@ 

                   'ed3bb281697af7c4353a34067ffb4b18a971d40757bef2d6af3c8bf2d28d42d1'  # firefox-111.0.1-fdlibm.patch

                   '2fb39374fd3d80eea9e346032a2a4b2bc2e357dee7380855b24bcf19b1335d06'  # fix-i686-build-moz-1792159.patch

                   'c3ce181fbb0142055aa6dd17f3cda2ba6a1e54d7a689a8c6e9cce76aa40e6544') # fix-i686-xsimd-incomplete.patch

- b2sums=('c618942209f60550ef5bd3db4a3a150fbe8993d2a40ba9b1ece3e647e4fcdd82639569f354f87b488b47781d52d21a158a25906c88fbaf86ddb57b5973f8ace6'

+ b2sums=('b31aa245687fe3c33152675ec5c4b8368ae810fbb8830535343029ed87683e2321afa8fdd473a41442475164312847874af09ccb704d9b1404cd033d0a8af0ec'

          'SKIP'

          'f86353bbba05d8994db34c6abb66094aa61d2c37c8599930dbe9d215413f0f718a1ce55a8f2d07a65074c3947e28fc80d44c925bd9be239a870f82d2a1803635')

  b2sums+=('a22044292e464b3922eb2e4a8cf0993524d232eeb4a8602707589d00f690498d3b76e515c8d0ce4995b3bf8a65df9aa814b49de469178aa1f8cc07ec19dd5d32'

           'SKIP'

-          'abd0c76b5baecda36c3303b034760bbb8a69c0bd1a7ba7646a203772083f54e79ce07af1f0b1c7f1ae1b7294695b4e259d3a796e48afa4b9782de865277a92c6'  # 9001-FSDG-sync-remote-settings-with-local-dump.patch

-          '12bfa1cfc4d38dcca1592351e6fe7a41776e6117f00c9bc068e9913142ca46196cd83a1b21c18393757c927a54e95b6e15c2212ffab58527ff9741ba262521d1'  # 9002-FSDG-preference-defaults.patch

+          '03020bb01d0fc528f76f2532d07c60f93abcfd4f59f3dd49e82a660cf5333aff447a576d9a6a6042849c7527499d5265b31f3a86bf3e16068987c2eb434b7f9c'  # 9001-FSDG-sync-remote-settings-with-local-dump.patch

+          '2d2174819ec281314a5c736c05e647c8ba270670e92fc9a4c17496a2ac45da4514095ae57db05253cf48513e42d58eda87b28c9c62c119d5a4788fcaab01d213'  # 9002-FSDG-preference-defaults.patch

           'dbb0f9639cbe08bf423faf9e2966b5464a26ab5c6314eea18be0e89edd8ac465bfa04a219821852bdd0801dfed9092999bcca1a982a631035bae9a51408d8dde'  # 9003-FSDG-urihandlers.patch

           'a59bedbb965cbe5eb864158bb82e119ca9594f0d5d1e47afe60495ad6578156d764f5f71d692f0012f22986020a005fa43e26ad191383a866c8ef5eff5ce501d'  # 9004-FSDG-misc.patch

           '085c4631ec8cfdf5842068d882185c783e976b1fde74167bb71ef4d7db8c70c12844177b17e76f858ba3ce2a402848ac8fc19910dcbefd29887abfaf5faac5e4'  # process-json-files.py
@@ -711,6 +711,10 @@ 

    # export MOZ_ENABLE_FULL_SYMBOLS=1                    # anti-feature

    export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=system # parabola policy

  

+   # malloc_usable_size is used in various parts of the codebase

+   CFLAGS="${CFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=2}"

+   CXXFLAGS="${CXXFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=2}"

+ 

    # LTO needs more open files

    ulimit -n 4096

  

  • Update according to upstream changes
  • Disable new Translations feature, see reasons in the patch.

Please note, build for x86_64 required 50+ GB of (RAM + SWAP).
This is probably due to the full LTO enabled by Arch Linux. Based on my
monitoring, memory usage does not go over 15 GB most of the build time,
but increases significantly towards the end of the build.

I was able to build with 32 GB of RAM, where entire chroot was on BTRFS in
ZSTD-compressed 32G zram drive, and SWAP was in another ZSTD 64G zram
drive. Since swapping starts only during the last phase, which uses mostly 1
CPU core, other cores were free for compression/decompression. Compression
ratio was about 1:4, so everything fit in RAM without wearing the SSD.

Didn't try to build on i686 and armv7h, also didn't check if there were any
updates from their upstreams, sorry for that.

Pull-Request has been closed by billauger

a year ago