diff --git a/helpers/DATA/firefox/patch_changes/002-Remove_moreFromMozilla_Focus_and_Klar.patch b/helpers/DATA/firefox/patch_changes/002-Remove_moreFromMozilla_Focus_and_Klar.patch
index c2ade630..20fddec8 100644
--- a/helpers/DATA/firefox/patch_changes/002-Remove_moreFromMozilla_Focus_and_Klar.patch
+++ b/helpers/DATA/firefox/patch_changes/002-Remove_moreFromMozilla_Focus_and_Klar.patch
@@ -460,7 +460,7 @@ index b5ff592..22cdf39 100644
id: "PB_NEWTAB_VPN_PROMO",
template: "pb_newtab",
diff --git a/browser/components/preferences/jar.mn b/browser/components/preferences/jar.mn
-index bd094a48..ac07e826 100644
+index b2d65603..b44a1525 100644
--- a/browser/components/preferences/jar.mn
+++ b/browser/components/preferences/jar.mn
@@ -19,8 +19,6 @@ browser.jar:
diff --git a/helpers/DATA/firefox/patch_changes/003-disable_sponsored_topsites_and_keep_weather_widget_static.patch b/helpers/DATA/firefox/patch_changes/003-disable_sponsored_topsites_and_keep_weather_widget_static.patch
index 88677ac9..d015201f 100644
--- a/helpers/DATA/firefox/patch_changes/003-disable_sponsored_topsites_and_keep_weather_widget_static.patch
+++ b/helpers/DATA/firefox/patch_changes/003-disable_sponsored_topsites_and_keep_weather_widget_static.patch
@@ -24,8 +24,8 @@ index 217ed280..d91cde94 100644
// Do not enable the preonboarding experience on Linux
#ifdef XP_LINUX
-@@ -1879,28 +1879,28 @@ pref("browser.newtabpage.activity-stream.search.useHandoffComponent", true);
- pref("browser.newtabpage.activity-stream.externalComponents.enabled", true);
+@@ -1886,24 +1886,24 @@ pref("browser.newtabpage.activity-stream.mobileDownloadModal.variant-b", false);
+ pref("browser.newtabpage.activity-stream.mobileDownloadModal.variant-c", false);
// Mozilla Ad Routing Service (MARS) unified ads service
-pref("browser.newtabpage.activity-stream.unifiedAds.tiles.enabled", true);
@@ -35,18 +35,14 @@ index 217ed280..d91cde94 100644
+pref("browser.newtabpage.activity-stream.unifiedAds.spocs.enabled", false);
+pref("browser.newtabpage.activity-stream.unifiedAds.endpoint", "");
pref("browser.newtabpage.activity-stream.unifiedAds.adsFeed.enabled", false);
- #ifdef NIGHTLY_BUILD
-pref("browser.newtabpage.activity-stream.unifiedAds.ohttp.enabled", true);
+pref("browser.newtabpage.activity-stream.unifiedAds.ohttp.enabled", false);
- #else
- pref("browser.newtabpage.activity-stream.unifiedAds.ohttp.enabled", false);
- #endif
// Weather widget for newtab
-pref("browser.newtabpage.activity-stream.showWeather", true);
+pref("browser.newtabpage.activity-stream.showWeather", false);
pref("browser.newtabpage.activity-stream.weather.query", "");
- pref("browser.newtabpage.activity-stream.weather.display", "simple");
+ pref("browser.newtabpage.activity-stream.weather.display", "detailed");
pref("browser.newtabpage.activity-stream.images.smart", true);
diff --git a/helpers/DATA/firefox/patch_changes/016-set_custom_cargo_1.91.patch b/helpers/DATA/firefox/patch_changes/016-set_custom_cargo_1.91.patch
new file mode 100644
index 00000000..5be58ff7
--- /dev/null
+++ b/helpers/DATA/firefox/patch_changes/016-set_custom_cargo_1.91.patch
@@ -0,0 +1,28 @@
+diff --git a/debian/control.in b/debian/control.in
+index 758352f8..26383a38 100644
+--- a/debian/control.in
++++ b/debian/control.in
+@@ -43,8 +43,8 @@ Build-Depends: cdbs,
+ libclang-22-dev | libclang-21-dev | libclang-20-dev | libclang-19-dev | libclang-18-dev,
+ llvm-22-dev | llvm-21-dev | llvm-20-dev | llvm-19-dev | llvm-18-dev,
+ lld-22 | lld-21 | lld-20 | lld-19 | lld-18,
+- cargo-1.90,
+- rustc-1.90,
++ cargo-1.91 | cargo-1.90,
++ rustc-1.91 | rustc-1.90,
+ nodejs (>= 12.22.12)
+ Standards-Version: 3.9.1
+
+diff --git a/debian/build/rules.mk b/debian/build/rules.mk
+index 896150e7..413e34fc 100644
+--- a/debian/build/rules.mk
++++ b/debian/build/rules.mk
+@@ -109,7 +109,7 @@ LLVM_VERSIONS = 22 21 20 19 18
+ DEB_LLVM_VERSION = $(firstword $(foreach llvm_version, $(LLVM_VERSIONS), \
+ $(if $(shell which clang-$(llvm_version)), $(llvm_version))))
+
+-RUSTC_VERSIONS = 1.90
++RUSTC_VERSIONS = 1.91 1.90
+ DEB_RUSTC_VERSION = $(firstword $(foreach rustc_version, $(RUSTC_VERSIONS), \
+ $(if $(shell which rustc-$(rustc_version)), $(rustc_version))))
+
diff --git a/helpers/DATA/firefox/patch_changes/017-modify_sidebar_pins_promo_icons.patch b/helpers/DATA/firefox/patch_changes/017-modify_sidebar_pins_promo_icons.patch
new file mode 100644
index 00000000..8dfee481
--- /dev/null
+++ b/helpers/DATA/firefox/patch_changes/017-modify_sidebar_pins_promo_icons.patch
@@ -0,0 +1,38 @@
+diff --git a/browser/themes/shared/jar.inc.mn b/browser/themes/shared/jar.inc.mn
+index 3a12a7a3..ac1245a9 100644
+--- a/browser/themes/shared/jar.inc.mn
++++ b/browser/themes/shared/jar.inc.mn
+@@ -266,10 +266,10 @@
+ skin/classic/browser/search-indicator-badge-add.svg (../shared/search/search-indicator-badge-add.svg)
+ skin/classic/browser/searchbar.css (../shared/search/searchbar.css)
+
+- skin/classic/browser/sidebar/firefox.svg (../shared/sidebar/firefox.svg)
+- skin/classic/browser/sidebar/foxy.svg (../shared/sidebar/foxy.svg)
+- skin/classic/browser/sidebar/gmail.svg (../shared/sidebar/gmail.svg)
+- skin/classic/browser/sidebar/slack.svg (../shared/sidebar/slack.svg)
++ skin/classic/browser/sidebar/trisquel.svg (../shared/sidebar/trisquel.svg)
++ skin/classic/browser/sidebar/fsf.svg (../shared/sidebar/fsf.svg)
++ skin/classic/browser/sidebar/wikipedia.svg (../shared/sidebar/wikipedia.svg)
++ skin/classic/browser/sidebar/liberachat.svg (../shared/sidebar/liberachat.svg)
+
+ skin/classic/browser/tabbrowser/content-area.css (../shared/tabbrowser/content-area.css)
+ skin/classic/browser/tabbrowser/crashed.svg (../shared/tabbrowser/crashed.svg)
+diff --git a/browser/components/sidebar/sidebar-pins-promo.mjs b/browser/components/sidebar/sidebar-pins-promo.mjs
+index beac7ea4..538ae9aa 100644
+--- a/browser/components/sidebar/sidebar-pins-promo.mjs
++++ b/browser/components/sidebar/sidebar-pins-promo.mjs
+@@ -56,10 +56,10 @@ export default class SidebarPinsPromo extends MozLitElement {
+ this.launcherObserver = new MutationObserver(() => this.requestUpdate());
+ }
+ #icons = [
+- { name: "firefox", src: "chrome://browser/skin/sidebar/firefox.svg" },
+- { name: "slack", src: "chrome://browser/skin/sidebar/slack.svg" },
+- { name: "foxy", src: "chrome://browser/skin/sidebar/foxy.svg" },
+- { name: "gmail", src: "chrome://browser/skin/sidebar/gmail.svg" },
++ { name: "trisquel", src: "chrome://browser/skin/sidebar/trisquel.svg" },
++ { name: "liberachat", src: "chrome://browser/skin/sidebar/liberachat.svg" },
++ { name: "fsf", src: "chrome://browser/skin/sidebar/fsf.svg" },
++ { name: "wikipedia", src: "chrome://browser/skin/sidebar/wikipedia.svg" },
+ ];
+
+ connectedCallback() {
diff --git a/helpers/DATA/firefox/patch_changes/018-adjust_wallpapers_abrowser.patch b/helpers/DATA/firefox/patch_changes/018-adjust_wallpapers_abrowser.patch
new file mode 100644
index 00000000..d582d489
--- /dev/null
+++ b/helpers/DATA/firefox/patch_changes/018-adjust_wallpapers_abrowser.patch
@@ -0,0 +1,28 @@
+diff --git a/browser/extensions/newtab/lib/Wallpapers/WallpaperFeed.sys.mjs b/browser/extensions/newtab/lib/Wallpapers/WallpaperFeed.sys.mjs
+index 72df22b3..24f2f807 100644
+--- a/browser/extensions/newtab/lib/Wallpapers/WallpaperFeed.sys.mjs
++++ b/browser/extensions/newtab/lib/Wallpapers/WallpaperFeed.sys.mjs
+@@ -156,7 +156,9 @@ export class WallpaperFeed {
+ ...record,
+ ...(record.attachment
+ ? {
+- wallpaperUrl: `${baseAttachmentURL}${record.attachment.location}`,
++ wallpaperUrl: record.attachment.location.includes("trisquel")
++ ? `https://trisquel.cmxsl.org/newtab/${record.attachment.filename.replace(".avif", ".webp")}`
++ : `${baseAttachmentURL}${record.attachment.location}`,
+ }
+ : {}),
+ background_position: record.background_position || "center",
+diff --git a/services/settings/remote-settings.sys.mjs b/services/settings/remote-settings.sys.mjs
+index 2330fb01..2c4062d1 100644
+--- a/services/settings/remote-settings.sys.mjs
++++ b/services/settings/remote-settings.sys.mjs
+@@ -301,7 +301,7 @@ function remoteSettingsFunction() {
+ bucketName: bucket,
+ signerName,
+ });
+- if (client.verifySignature) {
++ if (client.verifySignature && collection!== "newtab-wallpapers-v2") {
+ lazy.console.debug(
+ `${identifier}: Verify signature of bundled changeset`
+ );
diff --git a/helpers/DATA/firefox/ui_branding/build.json b/helpers/DATA/firefox/ui_branding/build.json
new file mode 100644
index 00000000..d51c79df
--- /dev/null
+++ b/helpers/DATA/firefox/ui_branding/build.json
@@ -0,0 +1,72 @@
+{
+ "1d43f5a1-64bd-4ad4-b825-88a89878662f": {
+ "title": "trisquel-abe-01",
+ "theme": "dark",
+ "attachment": {
+ "hash": "962073af456fd63c6fc9b11dadbef724a56b223e04a7136f87e9b670f2b9283d",
+ "size": 62524,
+ "filename": "trisquel-abe-01.avif",
+ "location": "main-workspace/newtab-wallpapers-v2/trisquel-abe-01.avif",
+ "mimetype": "image/avif"
+ },
+ "background_position": "bottom right"
+ },
+ "2bf99683-cde8-438b-9f8e-a1222dc7f59c": {
+ "title": "trisquel-abe-02",
+ "theme": "light",
+ "attachment": {
+ "hash": "e3363cf5554c98e1243434ee047de9c31ddc3060355a55ce7b3cecd977f379ab",
+ "size": 72574,
+ "filename": "trisquel-abe-02.avif",
+ "location": "main-workspace/newtab-wallpapers-v2/trisquel-abe-02.avif",
+ "mimetype": "image/avif"
+ },
+ "background_position": "bottom right"
+ },
+ "2e468f89-ac6a-474f-a789-5de0be601887": {
+ "title": "trisquel-abe-03",
+ "theme": "dark",
+ "attachment": {
+ "hash": "3d6687928a6eeee6bd9f52ef2fae115ddfdcf974a832cce2286b37c642c0ede7",
+ "size": 48020,
+ "filename": "trisquel-abe-03.avif",
+ "location": "main-workspace/newtab-wallpapers-v2/trisquel-abe-03.avif",
+ "mimetype": "image/avif"
+ },
+ "background_position": "bottom right"
+ },
+ "429c288c-8d92-4baa-aefb-a04719882454": {
+ "title": "trisquel-abe-04",
+ "theme": "light",
+ "attachment": {
+ "hash": "f6b225b3f091dd556040028e758d143cbcb4d52d4e43ede3a2a367f44505993f",
+ "size": 25226,
+ "filename": "trisquel-abe-04.avif",
+ "location": "main-workspace/newtab-wallpapers-v2/trisquel-abe-04.avif",
+ "mimetype": "image/avif"
+ },
+ "background_position": "bottom right"
+ },
+ "451090be-cdf1-49fc-b1f3-bd2f3b4ac34d": {
+ "title": "trisquel-aramo",
+ "theme": "dark",
+ "attachment": {
+ "hash": "8c9ae9eb2063b763c737cd795af0f7b8883b43b2519d455b4097462ba6f4ad70",
+ "size": 196288,
+ "filename": "trisquel-aramo.avif",
+ "location": "main-workspace/newtab-wallpapers-v2/trisquel-aramo.avif",
+ "mimetype": "image/avif"
+ }
+ },
+ "62aa72d9-b9f3-4f29-88f5-5120ee004e7c": {
+ "title": "trisquel-ecne",
+ "theme": "dark",
+ "attachment": {
+ "hash": "6a233237277c7cdc3a1078f250f1ae21576ceedec9d0abbe33be9f93add25355",
+ "size": 110186,
+ "filename": "trisquel-ecne.avif",
+ "location": "main-workspace/newtab-wallpapers-v2/trisquel-ecne.avif",
+ "mimetype": "image/avif"
+ }
+ }
+}
\ No newline at end of file
diff --git a/helpers/DATA/firefox/ui_branding/debranding/assets/puzzle-fox.svg b/helpers/DATA/firefox/ui_branding/debranding/assets/puzzle-fox.svg
new file mode 100644
index 00000000..b4ba9bcf
--- /dev/null
+++ b/helpers/DATA/firefox/ui_branding/debranding/assets/puzzle-fox.svg
@@ -0,0 +1,81 @@
+
+
+
+
diff --git a/helpers/DATA/firefox/ui_branding/debranding/assets/trisquel_qr.png b/helpers/DATA/firefox/ui_branding/debranding/assets/trisquel_qr.png
new file mode 100644
index 00000000..d6e08c71
Binary files /dev/null and b/helpers/DATA/firefox/ui_branding/debranding/assets/trisquel_qr.png differ
diff --git a/helpers/DATA/firefox/ui_branding/debranding/content/history-empty.svg b/helpers/DATA/firefox/ui_branding/debranding/content/history-empty.svg
new file mode 100644
index 00000000..1c18635f
--- /dev/null
+++ b/helpers/DATA/firefox/ui_branding/debranding/content/history-empty.svg
@@ -0,0 +1,41 @@
+
+
+
+
diff --git a/helpers/DATA/firefox/ui_branding/debranding/content/synced-tabs-empty.svg b/helpers/DATA/firefox/ui_branding/debranding/content/synced-tabs-empty.svg
new file mode 100644
index 00000000..9ba72654
--- /dev/null
+++ b/helpers/DATA/firefox/ui_branding/debranding/content/synced-tabs-empty.svg
@@ -0,0 +1,200 @@
+
+
+
+
diff --git a/helpers/DATA/firefox/ui_branding/debranding/content/synced-tabs-error.svg b/helpers/DATA/firefox/ui_branding/debranding/content/synced-tabs-error.svg
new file mode 100644
index 00000000..501befcf
--- /dev/null
+++ b/helpers/DATA/firefox/ui_branding/debranding/content/synced-tabs-error.svg
@@ -0,0 +1,178 @@
+
+
+
+
diff --git a/helpers/DATA/firefox/ui_branding/sidebar/fsf.svg b/helpers/DATA/firefox/ui_branding/sidebar/fsf.svg
new file mode 100644
index 00000000..3f3bc136
--- /dev/null
+++ b/helpers/DATA/firefox/ui_branding/sidebar/fsf.svg
@@ -0,0 +1,6 @@
+
+
diff --git a/helpers/DATA/firefox/ui_branding/sidebar/liberachat.svg b/helpers/DATA/firefox/ui_branding/sidebar/liberachat.svg
new file mode 100644
index 00000000..c76567fd
--- /dev/null
+++ b/helpers/DATA/firefox/ui_branding/sidebar/liberachat.svg
@@ -0,0 +1,3 @@
+
diff --git a/helpers/DATA/firefox/ui_branding/sidebar/trisquel.svg b/helpers/DATA/firefox/ui_branding/sidebar/trisquel.svg
new file mode 100644
index 00000000..43b8b1cc
--- /dev/null
+++ b/helpers/DATA/firefox/ui_branding/sidebar/trisquel.svg
@@ -0,0 +1,3 @@
+
diff --git a/helpers/DATA/firefox/ui_branding/sidebar/wikipedia.svg b/helpers/DATA/firefox/ui_branding/sidebar/wikipedia.svg
new file mode 100644
index 00000000..cdfca18f
--- /dev/null
+++ b/helpers/DATA/firefox/ui_branding/sidebar/wikipedia.svg
@@ -0,0 +1,3 @@
+
diff --git a/helpers/DATA/firefox/ui_branding/wallpaper-replace.py b/helpers/DATA/firefox/ui_branding/wallpaper-replace.py
new file mode 100644
index 00000000..95942438
--- /dev/null
+++ b/helpers/DATA/firefox/ui_branding/wallpaper-replace.py
@@ -0,0 +1,163 @@
+# Copyright (C) 2026 Luis Guzman
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+import json
+import hashlib
+import os
+import time
+import argparse
+import sys
+
+def calculate_sha256_hash(file_path):
+ """
+ Calculates the SHA-256 hash of a physical file.
+ """
+ sha256_hash = hashlib.sha256()
+ with open(file_path, "rb") as f:
+ for byte_block in iter(lambda: f.read(4096), b""):
+ sha256_hash.update(byte_block)
+ return sha256_hash.hexdigest()
+
+def build_step(config_path, output_path):
+ """
+ Step 1: Reads config.json, processes the data, and creates build.json.
+ """
+ print(f"--- Step 1: Building standalone artifact ---")
+
+ if not os.path.exists(config_path):
+ print(f"ERROR: Configuration file '{config_path}' not found.")
+ sys.exit(1)
+
+ with open(config_path, 'r', encoding='utf-8') as f:
+ config = json.load(f)
+
+ build_data = {}
+
+ for item in config.get('replacements',):
+ item_id = item.get('id_to_replace')
+ image_path = item.get('local_image_path')
+ theme = item.get('theme', '').strip()
+
+ if not image_path or not os.path.exists(image_path):
+ print(f"WARNING: Local image not found at '{image_path}' for ID {item_id}. Skipping.")
+ continue
+
+ file_size_bytes = os.path.getsize(image_path)
+ sha256_hash = calculate_sha256_hash(image_path)
+
+ # Get the real file name (e.g., 'trisquel-aramo.webp')
+ real_file_name = os.path.basename(image_path)
+
+ # Create the "disguised" file name to bypass Mozilla's strict schema validation
+ disguised_file_name = real_file_name.replace('.webp', '.avif')
+
+ # Create a 100% schema-compliant entry masking the webp as an avif
+ build_data[item_id] = {
+ "title": real_file_name.replace('.webp', ''),
+ "theme": theme,
+ "attachment": {
+ "hash": sha256_hash,
+ "size": file_size_bytes,
+ "filename": disguised_file_name,
+ "location": f"main-workspace/newtab-wallpapers-v2/{disguised_file_name}",
+ "mimetype": "image/avif" # Masking the mime type for the validator
+ }
+ }
+
+ # Check if the wallpaper is an "abe" one, to position logo accordingly
+ if "abe" in real_file_name.lower():
+ build_data[item_id]["background_position"] = "bottom right"
+
+ # Make sure dark theme is used on trisquel-ecne & trisquel-aramo images
+ if "trisquel-ecne" in real_file_name.lower() or "trisquel-aramo" in real_file_name.lower():
+ build_data[item_id]["theme"] = "dark"
+
+ print(f"Processed: {real_file_name} -> Masked as: {disguised_file_name} -> ID: {item_id}")
+
+ with open(output_path, 'w', encoding='utf-8') as f:
+ json.dump(build_data, f, indent=2, ensure_ascii=False)
+
+ print(f"\nSUCCESS: Generated standalone artifact at '{output_path}'.")
+
+def replace_step(source_path, target_path):
+ """
+ Step 2: Injects the build.json data into the target Firefox JSON database.
+ """
+ print(f"\n--- Step 2: Injecting into target JSON ---")
+
+ if not os.path.exists(source_path):
+ print(f"ERROR: Build source file '{source_path}' not found.")
+ sys.exit(1)
+
+ if not os.path.exists(target_path):
+ print(f"ERROR: Target JSON file '{target_path}' not found.")
+ sys.exit(1)
+
+ with open(source_path, 'r', encoding='utf-8') as f:
+ build_data = json.load(f)
+
+ with open(target_path, 'r', encoding='utf-8') as f:
+ target_db = json.load(f)
+
+ current_timestamp = int(time.time() * 1000)
+ modified_count = 0
+
+ for item in target_db.get('data',):
+ item_id = item.get('id')
+
+ if item_id in build_data:
+ new_data = build_data[item_id]
+
+ # Wipe old custom keys if they exist from previous tests
+ item.pop('wallpaperUrl', None)
+
+ # Apply schema-compliant data
+ item['attachment'] = new_data['attachment']
+ item['title'] = new_data['title']
+ item['schema'] = current_timestamp
+ item['last_modified'] = current_timestamp
+
+ if new_data.get('theme'):
+ item['theme'] = new_data['theme']
+
+ # Apply background_position if it exists in build_data
+ if new_data.get('background_position'):
+ item['background_position'] = new_data['background_position']
+
+ print(f"Updated ID: {item_id} with file '{new_data['attachment']['filename']}'")
+ modified_count += 1
+
+ if modified_count > 0:
+ target_db['timestamp'] = current_timestamp
+ with open(target_path, 'w', encoding='utf-8') as f:
+ json.dump(target_db, f, indent=2, ensure_ascii=False)
+ print(f"\nSUCCESS: Modified {modified_count} entries in '{target_path}'.")
+ else:
+ print("\nWARNING: No matching IDs found in the target JSON to replace.")
+
+def main():
+ parser = argparse.ArgumentParser(description="Firefox Newtab Wallpaper Injection Tool")
+ parser.add_argument('--config', type=str, nargs='?', const='./config.json', help="Step 1: Path to config.json.")
+ parser.add_argument('--replace', type=str, help="Step 2: Path to target Firefox JSON file to be modified.")
+ parser.add_argument('--source', type=str, default='./build.json', help="Step 2: Path to the standalone build.json.")
+
+ args = parser.parse_args()
+
+ if not args.config and not args.replace:
+ parser.print_help()
+ sys.exit(1)
+
+ if args.config: build_step(args.config, './build.json')
+ if args.replace: replace_step(args.source, args.replace)
+
+if __name__ == "__main__":
+ main()
diff --git a/helpers/make-firefox b/helpers/make-firefox
index b1a8b456..6440b799 100644
--- a/helpers/make-firefox
+++ b/helpers/make-firefox
@@ -19,7 +19,7 @@
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#
-VERSION=131
+VERSION=132
EXTERNAL='deb-src http://ppa.launchpadcontent.net/mozillateam/ppa/ubuntu $UPSTREAM main'
REPOKEY=AEBDF4819BE21867
@@ -275,6 +275,26 @@ do
/bin/sed -i 's|= Firefox |= |' $i
done
+# Replace sidebar icons
+rm -rf browser/themes/shared/sidebar
+cp -R $DATA/ui_branding/sidebar browser/themes/shared/
+
+python3 $DATA/ui_branding/wallpaper-replace.py --source $DATA/ui_branding/build.json \
+ --replace services/settings/dumps/main/newtab-wallpapers-v2.json
+
+# Graphic Debranding
+cp $DATA/ui_branding/debranding/assets/puzzle-fox.svg browser/extensions/newtab/data/content/assets/puzzle-fox.svg
+## replace multiple firefox qr codes.
+for qr in download-qr-code-var-a.png download-qr-code-var-b.png download-qr-code-var-c.png
+do
+ cp $DATA/ui_branding/debranding/assets/trisquel_qr.png browser/extensions/newtab/data/content/assets/$qr
+done
+## Remove mascot
+for graph in history-empty.svg synced-tabs-empty.svg synced-tabs-error.svg
+do
+ cp $DATA/ui_branding/debranding/content/$graph browser/components/firefoxview/content/$graph
+done
+
# Disable preprocessor
sed 's/_PP//' -i browser/branding/branding-common.mozbuild
#Prevent duplicated values.
@@ -328,7 +348,7 @@ sed 's/Firefox/Abrowser/' -i debian/control.in \
# Useful when trying to catch patch issues faster.
[ "$MAIN_REBRANDING_ENABLED" = 1 ] && main_rebranding
-sed s/ubuntu/trisquel/g debian/distribution.ini -i
+sed "s/ubuntu/trisquel/g" -i debian/distribution.ini
sed "s/ubuntu_version/trisquel_version/; s/Ubuntu 10.10/Trisquel $REVISION/; s/1010/40/" -i debian/firefox.postinst.in
# Delete stuff we don't use and that may contain trademaked logos