diff --git a/helpers/DATA/firefox/patch_changes/007-disable_remote_settings_antifeature.patch b/helpers/DATA/firefox/patch_changes/007-disable_remote_settings_antifeature.patch
index aee1258..5262b48 100644
--- a/helpers/DATA/firefox/patch_changes/007-disable_remote_settings_antifeature.patch
+++ b/helpers/DATA/firefox/patch_changes/007-disable_remote_settings_antifeature.patch
@@ -2,10 +2,17 @@ diff --git a/services/settings/RemoteSettingsClient.sys.mjs b/services/settings/
index 7e98e6d..7716e41 100644
--- a/services/settings/RemoteSettingsClient.sys.mjs
+++ b/services/settings/RemoteSettingsClient.sys.mjs
-@@ -227,6 +227,8 @@ class AttachmentDownloader extends Downloader {
+@@ -229,13 +229,8 @@ class AttachmentDownloader extends Downloader {
* @see Downloader.download
*/
async download(record, options) {
+- await lazy.UptakeTelemetry.report(
+- TELEMETRY_COMPONENT,
+- lazy.UptakeTelemetry.STATUS.DOWNLOAD_START,
+- {
+- source: this._client.identifier,
+- }
+- );
+ console.warn("Function 'download' disabled in Abrowser due privacy concerns.");
+ return null;
try {
diff --git a/helpers/DATA/firefox/patch_changes/011-temp_fix_for_ppc64el_missing_fallback_value.patch b/helpers/DATA/firefox/patch_changes/011-temp_fix_for_ppc64el_missing_fallback_value.patch
deleted file mode 100644
index 11da591..0000000
--- a/helpers/DATA/firefox/patch_changes/011-temp_fix_for_ppc64el_missing_fallback_value.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/modules/libpref/init/StaticPrefList.yaml b/modules/libpref/init/StaticPrefList.yaml
-index ee506bd6..7e12ca68 100644
---- a/modules/libpref/init/StaticPrefList.yaml
-+++ b/modules/libpref/init/StaticPrefList.yaml
-@@ -12461,6 +12461,8 @@
- type: RelaxedAtomicBool
- #if defined(MOZ_AV1)
- value: true
-+#else
-+ value: false
- #endif
- mirror: always
-
diff --git a/helpers/DATA/firefox/patch_changes/013-remove_finish_setup_third_party_services.patch b/helpers/DATA/firefox/patch_changes/013-remove_finish_setup_third_party_services.patch
new file mode 100644
index 0000000..c00136f
--- /dev/null
+++ b/helpers/DATA/firefox/patch_changes/013-remove_finish_setup_third_party_services.patch
@@ -0,0 +1,98 @@
+diff --git a/browser/components/aboutwelcome/modules/AboutWelcomeDefaults.sys.mjs b/browser/components/aboutwelcome/modules/AboutWelcomeDefaults.sys.mjs
+index ba47adb6..c4b29ec4 100644
+--- a/browser/components/aboutwelcome/modules/AboutWelcomeDefaults.sys.mjs
++++ b/browser/components/aboutwelcome/modules/AboutWelcomeDefaults.sys.mjs
+@@ -704,7 +704,7 @@ const MR_ABOUT_WELCOME_DEFAULT = {
+ action: {
+ type: "OPEN_URL",
+ data: {
+- args: "https://addons.mozilla.org/en-US/firefox/collections/4757633/b4d5649fb087446aa05add5f0258c3/?page=1&collection_sort=-popularity",
++ args: "https://gnuzilla.gnu.org/",
+ where: "tabshifted",
+ },
+ navigate: true,
+@@ -750,49 +750,6 @@ const MR_ABOUT_WELCOME_DEFAULT = {
+ },
+ targeting: "isFxASignedIn",
+ },
+- {
+- id: "AW_ACCOUNT_LOGIN",
+- content: {
+- fullscreen: true,
+- position: "split",
+- split_narrow_bkg_position: "-228px",
+- image_alt_text: {
+- string_id: "mr2022-onboarding-gratitude-image-alt",
+- },
+- background:
+- "url('chrome://activity-stream/content/data/content/assets/fox-doodle-waving-laptop.svg') center center / 80% no-repeat var(--mr-screen-background-color)",
+- progress_bar: true,
+- logo: {},
+- title: {
+- string_id: "onboarding-sign-up-title",
+- },
+- subtitle: {
+- string_id: "onboarding-sign-up-description",
+- },
+- secondary_button: {
+- label: {
+- string_id: "mr2-onboarding-start-browsing-button-label",
+- },
+- style: "secondary",
+- action: {
+- navigate: true,
+- },
+- },
+- primary_button: {
+- label: {
+- string_id: "onboarding-sign-up-button",
+- },
+- action: {
+- data: {
+- entrypoint: "newuser-onboarding-desktop",
+- },
+- type: "FXA_SIGNIN_FLOW",
+- navigate: true,
+- },
+- },
+- },
+- targeting: "!isFxASignedIn",
+- },
+ ],
+ };
+
+diff --git a/browser/components/asrouter/modules/FeatureCalloutMessages.sys.mjs b/browser/components/asrouter/modules/FeatureCalloutMessages.sys.mjs
+index 29d2ca46..41b65ac4 100644
+--- a/browser/components/asrouter/modules/FeatureCalloutMessages.sys.mjs
++++ b/browser/components/asrouter/modules/FeatureCalloutMessages.sys.mjs
+@@ -885,7 +885,7 @@ const MESSAGES = () => {
+ dismiss: true,
+ type: "OPEN_URL",
+ data: {
+- args: "https://addons.mozilla.org/en-US/firefox/collections/4757633/36d285535db74c6986abbeeed3e214/?page=1&collection_sort=added",
++ args: "https://gnuzilla.gnu.org/",
+ where: "tabshifted",
+ },
+ },
+diff --git a/browser/components/asrouter/modules/OnboardingMessageProvider.sys.mjs b/browser/components/asrouter/modules/OnboardingMessageProvider.sys.mjs
+index abc6db68..0c86955f 100644
+--- a/browser/components/asrouter/modules/OnboardingMessageProvider.sys.mjs
++++ b/browser/components/asrouter/modules/OnboardingMessageProvider.sys.mjs
+@@ -1226,7 +1226,7 @@ const BASE_MESSAGES = () => [
+ {
+ type: "OPEN_URL",
+ data: {
+- args: "https://addons.mozilla.org/en-US/firefox/collections/4757633/b4d5649fb087446aa05add5f0258c3/?page=1&collection_sort=-popularity",
++ args: "https://gnuzilla.gnu.org/",
+ where: "current",
+ },
+ },
+@@ -1430,7 +1430,7 @@ const BASE_MESSAGES = () => [
+ {
+ type: "OPEN_URL",
+ data: {
+- args: "https://addons.mozilla.org/en-US/firefox/collections/4757633/b4d5649fb087446aa05add5f0258c3/?page=1&collection_sort=-popularity",
++ args: "https://gnuzilla.gnu.org/",
+ where: "current",
+ },
+ },
diff --git a/helpers/DATA/firefox/patch_changes/014-remove_support_firefox_mission_on_abrowser.patch b/helpers/DATA/firefox/patch_changes/014-remove_support_firefox_mission_on_abrowser.patch
new file mode 100644
index 0000000..73f2ec6
--- /dev/null
+++ b/helpers/DATA/firefox/patch_changes/014-remove_support_firefox_mission_on_abrowser.patch
@@ -0,0 +1,138 @@
+diff --git a/browser/components/preferences/home.inc.xhtml b/browser/components/preferences/home.inc.xhtml
+index c0094fe0..08856c78 100644
+--- a/browser/components/preferences/home.inc.xhtml
++++ b/browser/components/preferences/home.inc.xhtml
+@@ -101,15 +101,6 @@
+
+
+
+-
+-
+-
+-
+-
+-
+-
+
+
+
+diff --git a/browser/extensions/newtab/lib/AboutPreferences.sys.mjs b/browser/extensions/newtab/lib/AboutPreferences.sys.mjs
+index 0d43919b..f2e0fbd0 100644
+--- a/browser/extensions/newtab/lib/AboutPreferences.sys.mjs
++++ b/browser/extensions/newtab/lib/AboutPreferences.sys.mjs
+@@ -120,37 +120,6 @@ const PREFS_FOR_SETTINGS = () => [
+ ),
+ eventSource: "TOP_STORIES",
+ },
+- {
+- id: "support-firefox",
+- pref: {
+- feed: "showSponsoredCheckboxes",
+- titleString: "home-prefs-support-firefox-header",
+- nestedPrefs: [
+- {
+- name: "showSponsoredTopSites",
+- titleString: "home-prefs-shortcuts-by-option-sponsored",
+- eventSource: "SPONSORED_TOP_SITES",
+- },
+- {
+- name: "showSponsored",
+- titleString: "home-prefs-recommended-by-option-sponsored-stories",
+- eventSource: "POCKET_SPOCS",
+- shouldHidePref: !Services.prefs.getBoolPref(
+- "browser.newtabpage.activity-stream.feeds.system.topstories",
+- true
+- ),
+- shouldDisablePref: !Services.prefs.getBoolPref(
+- "browser.newtabpage.activity-stream.feeds.section.topstories",
+- true
+- ),
+- },
+- ],
+- },
+- shouldHidePref: !Services.prefs.getBoolPref(
+- "browser.newtabpage.activity-stream.system.showSponsoredCheckboxes",
+- false
+- ),
+- },
+ ];
+
+ export class AboutPreferences {
+@@ -351,41 +320,8 @@ export class AboutPreferences {
+ }
+ });
+
+- // Special cases to like the nested prefs with another pref,
+- // so we can disable it real time.
+- if (id === "support-firefox") {
+- function setupSupportFirefoxSubCheck(triggerPref, subPref) {
+- const subCheckFullName = `browser.newtabpage.activity-stream.${triggerPref}`;
+- const subCheckPref = Preferences.get(subCheckFullName);
+-
+- subCheckPref?.on("change", () => {
+- const showSponsoredFullName = `browser.newtabpage.activity-stream.${subPref}`;
+- const showSponsoredSubcheck = subChecks.find(
+- subcheck =>
+- subcheck.getAttribute("preference") === showSponsoredFullName
+- );
+- if (showSponsoredSubcheck) {
+- showSponsoredSubcheck.disabled = !Services.prefs.getBoolPref(
+- subCheckFullName,
+- true
+- );
+- }
+- });
+- }
+-
+- setupSupportFirefoxSubCheck("feeds.section.topstories", "showSponsored");
+- setupSupportFirefoxSubCheck("feeds.topsites", "showSponsoredTopSites");
+- }
+-
+ pref.on("change", () => {
+ subChecks.forEach(subcheck => {
+- // Update child preferences for the "Support Firefox" checkbox group
+- // so that they're turned on and off at the same time.
+- if (id === "support-firefox") {
+- const subPref = Preferences.get(subcheck.getAttribute("preference"));
+- subPref.value = pref.value;
+- }
+-
+ // Disable any nested checkboxes if the parent pref is not enabled.
+ subcheck.disabled = !pref._value;
+ });
+diff --git a/browser/locales/en-US/browser/preferences/preferences.ftl b/browser/locales/en-US/browser/preferences/preferences.ftl
+index 269eca10..4c35b53f 100644
+--- a/browser/locales/en-US/browser/preferences/preferences.ftl
++++ b/browser/locales/en-US/browser/preferences/preferences.ftl
+@@ -749,11 +749,7 @@ home-prefs-trending-search-header =
+ home-prefs-trending-search-description = Popular and frequently searched topics
+
+ # "Support" here means to help sustain or contribute to something, especially through funding or sponsorship.
+-home-prefs-support-firefox-header =
+- .label = Support { -brand-product-name }
+-
+-home-prefs-mission-message = Our sponsors support our mission to build a better web
+-home-prefs-mission-message-learn-more-link = Find out how
++## Removed by Abrowser customization process.
+
+ # Variables:
+ # $num (number) - Number of rows displayed
+diff --git a/browser/themes/shared/preferences/preferences.css b/browser/themes/shared/preferences/preferences.css
+index 9c8155e5..4718341f 100644
+--- a/browser/themes/shared/preferences/preferences.css
++++ b/browser/themes/shared/preferences/preferences.css
+@@ -1541,12 +1541,3 @@ richlistitem .text-link:hover {
+ .search-header:has(.section-heading) {
+ margin: 0;
+ }
+-
+-/* Styles for the "sponsors support our mission" message and link on the Home tab */
+-.mission-message {
+- margin-block-start: var(--space-large);
+-
+- > a {
+- font-size: var(--font-size-small);
+- }
+-}
diff --git a/helpers/DATA/firefox/patch_changes/015-set_higher_priority_than_chromium_based_ones.patch b/helpers/DATA/firefox/patch_changes/015-set_higher_priority_than_chromium_based_ones.patch
new file mode 100644
index 0000000..1a77d79
--- /dev/null
+++ b/helpers/DATA/firefox/patch_changes/015-set_higher_priority_than_chromium_based_ones.patch
@@ -0,0 +1,17 @@
+diff --git a/debian/firefox.postinst.in b/debian/firefox.postinst.in
+index 4cb73f02..44e9261a 100644
+--- a/debian/firefox.postinst.in
++++ b/debian/firefox.postinst.in
+@@ -36,10 +36,10 @@ finish_rm_conffile() {
+
+ if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ] || [ "$1" = "abort-remove" ] ; then
+ update-alternatives --install /usr/bin/gnome-www-browser \
+- gnome-www-browser /usr/bin/$MOZ_APP_NAME 40
++ gnome-www-browser /usr/bin/$MOZ_APP_NAME 240
+
+ update-alternatives --install /usr/bin/x-www-browser \
+- x-www-browser /usr/bin/$MOZ_APP_NAME 40
++ x-www-browser /usr/bin/$MOZ_APP_NAME 240
+ fi
+
+ if [ "$1" = "configure" ] ; then
diff --git a/helpers/DATA/firefox/settings.js b/helpers/DATA/firefox/settings.js
index 978048e..a7ffc69 100644
--- a/helpers/DATA/firefox/settings.js
+++ b/helpers/DATA/firefox/settings.js
@@ -62,7 +62,7 @@ pref("general.useragent.compatMode.abrowser",true);
pref ("browser.startup.homepage_override.mstone", "ignore");
// Preferences for the Get Add-ons panel
-pref ("extensions.webservice.discoverURL", "https://gnuzilla.gnu.org/mozzarella/");
+pref ("extensions.webservice.discoverURL", "https://gnuzilla.gnu.org/");
pref ("extensions.getAddons.search.url", "https://trisquel.info");
// Help URL
@@ -258,6 +258,7 @@ pref("browser.newtabpage.activity-stream.discoverystream.endpoints", "");
pref("browser.newtabpage.activity-stream.feeds.snippets",false);
pref("browser.newtabpage.activity-stream.disableSnippets", true);
pref("browser.newtabpage.activity-stream.tippyTop.service.endpoint", "");
+pref("browser.newtabpage.activity-stream.showSponsoredCheckboxes", false);
// Enable xrender
//pref("gfx.xrender.enabled",true);
@@ -278,11 +279,11 @@ pref("extensions.htmlaboutaddons.discover.enabled", false);
pref("extensions.htmlaboutaddons.recommendations.enabled", false);
pref("extensions.getAddons.cache.enabled", false);
pref("extensions.getAddons.get.url", "");
-pref("extensions.getAddons.link.url", "https://gnuzilla.gnu.org/mozzarella/");
+pref("extensions.getAddons.link.url", "https://gnuzilla.gnu.org/");
pref("extensions.getAddons.langpacks.url", "");
pref("extensions.getAddons.discovery.api_url", "");
pref("extensions.recommendations.privacyPolicyUrl", "https://trisquel.info/legal");
-pref("extensions.getAddons.search.browseURL", "https://gnuzilla.gnu.org/mozzarella/search.php?q=%TERMS%");
+pref("extensions.getAddons.search.browseURL", "https://gnuzilla.gnu.org/search.php?q=%TERMS%");
// Disable pingback on first run
pref("browser.newtabpage.activity-stream.fxaccounts.endpoint", "");
diff --git a/helpers/DATA/hplip/patch_changes/000-add_trisquel_distro_definition_distros_password.patch b/helpers/DATA/hplip/patch_changes/000-add_trisquel_distro_definition_distros_password.patch
new file mode 100644
index 0000000..41cc67f
--- /dev/null
+++ b/helpers/DATA/hplip/patch_changes/000-add_trisquel_distro_definition_distros_password.patch
@@ -0,0 +1,313 @@
+diff --git a/installer/distros.dat b/installer/distros.dat
+index 80588920..66bb81a1 100644
+--- a/installer/distros.dat
++++ b/installer/distros.dat
+@@ -94,7 +94,7 @@
+ # ****************************************
+
+ [distros]
+-distros=unknown,mepis,debian,suse,mandriva,fedora,redhat,rhel,slackware,gentoo,redflag,ubuntu,xandros,freebsd,linspire,ark,pclinuxos,centos,igos,linuxmint,linpus,gos,boss,lfs,manjarolinux,zorin,mxlinux,elementary
++distros=unknown,mepis,debian,suse,mandriva,fedora,redhat,rhel,slackware,gentoo,redflag,ubuntu,xandros,freebsd,linspire,ark,pclinuxos,centos,igos,linuxmint,linpus,gos,boss,lfs,manjarolinux,zorin,mxlinux,elementary,trisquel
+
+ # ****************************************
+
+@@ -18946,3 +18946,287 @@ packages=automake1.11
+ packages=epm
+
+ # ****************************************
++
++[trisquel]
++index=99
++versions=11.0.1,12.0
++display_name=Trisquel GNU/Linux
++alt_names=trisquel,Trisquel GNU/Linux
++display=1
++notes=
++package_mgrs=dpkg,apt-get,synaptic,update-manager,adept,aptitude,adept-updater
++package_mgr_cmd=sudo apt-get install --assume-yes $packages_to_install
++pre_depend_cmd=sudo dpkg --configure -a,sudo apt-get install --yes --force-yes -f,sudo apt-get update
++post_depend_cmd=
++hp_libs_remove_cmd= sudo apt-get remove libhpmud0 libsane-hpaio printer-driver-postscript-hp
++hplip_remove_cmd=sudo aptitude remove --assume-yes hplip hpijs
++su_sudo=sudo
++ppd_install=ppd
++udev_mode_fix=1
++ppd_dir=
++fix_ppd_symlink=0
++drv_dir=/usr/share/cups/drv/HP
++
++# ****************************************
++
++[trisquel:11.0.1]
++code_name=aramo
++supported=1
++scan_supported=1
++fax_supported=1
++pcard_supported=1
++network_supported=1
++parallel_supported=1
++usb_supported=1
++packaged_version=3.21.12
++release_date=01/01/2022
++notes=
++ppd_install=drv
++udev_mode_fix=1
++ppd_dir=/usr/share/ppd/HP
++fix_ppd_symlink=0
++drv_dir=/usr/share/cups/drv/HP
++ui_toolkit=qt5
++native_cups=1
++acl_rules=1
++
++libdir_path=/usr/lib
++
++[trisquel:11.0.1:cups]
++packages=libcups2
++
++[trisquel:11.0.1:cups-devel]
++packages=libcups2-dev,cups-bsd,cups-client
++
++[trisquel:11.0.1:gcc]
++packages=build-essential
++
++[trisquel:11.0.1:gs]
++packages=ghostscript
++
++[trisquel:11.0.1:libcrypto]
++packages=openssl
++
++[trisquel:11.0.1:libjpeg]
++packages=libjpeg-dev
++
++[trisquel:11.0.1:libatk-adaptor]
++packages=libatk-adaptor
++
++[trisquel:11.0.1:libgail-common]
++packages=libgail-common
++
++[trisquel:11.0.1:libnetsnmp-devel]
++packages=libsnmp-dev
++
++[trisquel:11.0.1:libpthread]
++packages=build-essential
++
++[trisquel:11.0.1:libtool]
++packages=libtool,libtool-bin
++
++[trisquel:11.0.1:libusb]
++packages=libusb-1.0-0-dev,libusb-0.1-4
++
++[trisquel:11.0.1:make]
++packages=build-essential
++
++[trisquel:11.0.1:ppdev]
++packages=
++commands=sudo modprobe ppdev,sudo cp -f /etc/modules /etc/modules.hplip,echo ppdev | sudo tee -a /etc/modules
++
++[trisquel:11.0.1:sane]
++packages=libsane
++
++[trisquel:11.0.1:sane-devel]
++packages=libsane-dev
++
++[trisquel:11.0.1:scanimage]
++packages=sane-utils
++
++[trisquel:11.0.1:xsane]
++packages=gtk2-engines-pixbuf,xsane
++
++[trisquel:11.0.1:dbus]
++packages=libdbus-1-dev
++
++[trisquel:11.0.1:cups-image]
++packages=libcupsimage2-dev
++
++[trisquel:11.0.1:cups-ddk]
++packages=cups
++
++[trisquel:11.0.1:policykit]
++packages=policykit-1,policykit-1-gnome
++
++[trisquel:11.0.1:network]
++packages=wget
++
++[trisquel:11.0.1:avahi-utils]
++packages=avahi-utils
++
++[trisquel:11.0.1:libavahi-dev]
++packages=libavahi-client-dev,libavahi-core-dev,libavahi-common-dev
++
++[trisquel:11.0.1:python3-notify2]
++packages=python3-notify2
++
++[trisquel:11.0.1:python3-pyqt5-dbus]
++packages=python3-dbus.mainloop.pyqt5
++
++[trisquel:11.0.1:python3-pyqt5]
++packages=python3-pyqt5,gtk2-engines-pixbuf
++
++[trisquel:11.0.1:python3-dbus]
++packages=python3-dbus,python3-gi
++
++[trisquel:11.0.1:python3-xml]
++packages=python3-lxml
++
++[trisquel:11.0.1:python3-devel]
++packages=python3-dev
++
++[trisquel:11.0.1:python3-pil]
++packages=python3-pil
++
++[trisquel:11.0.1:python3-reportlab]
++packages=python3-reportlab
++
++[trisquel:11.0.1:automake]
++packages=automake1.11
++
++[trisquel:11.0.1:epm]
++packages=epm
++
++# ****************************************
++
++[trisquel:12.0]
++code_name=ecne
++supported=1
++scan_supported=1
++fax_supported=1
++pcard_supported=1
++network_supported=1
++parallel_supported=1
++usb_supported=1
++packaged_version=3.23.12
++release_date=01/01/2022
++notes=
++ppd_install=drv
++udev_mode_fix=1
++ppd_dir=/usr/share/ppd/HP
++fix_ppd_symlink=0
++drv_dir=/usr/share/cups/drv/HP
++ui_toolkit=qt5
++native_cups=1
++acl_rules=1
++
++libdir_path=/usr/lib
++
++[trisquel:12.0:cups]
++packages=libcups2t64
++
++[trisquel:12.0:cups-devel]
++packages=libcups2-dev,cups-bsd,cups-client
++
++[trisquel:12.0:gcc]
++packages=build-essential
++
++[trisquel:12.0:gs]
++packages=ghostscript
++
++[trisquel:12.0:libcrypto]
++packages=openssl
++
++[trisquel:12.0:libjpeg]
++packages=libjpeg-dev
++
++[trisquel:12.0:libatk-adaptor]
++packages=libatk-adaptor
++
++[trisquel:12.0:libgail-common]
++packages=libgail-common
++
++[trisquel:12.0:libnetsnmp-devel]
++packages=libsnmp-dev
++
++[trisquel:12.0:libpthread]
++packages=build-essential
++
++[trisquel:12.0:libtool]
++packages=libtool,libtool-bin
++
++[trisquel:12.0:libusb]
++packages=libusb-1.0-0-dev,libusb-0.1-4
++
++[trisquel:12.0:make]
++packages=build-essential
++
++[trisquel:12.0:ppdev]
++packages=
++commands=sudo modprobe ppdev,sudo cp -f /etc/modules /etc/modules.hplip,echo ppdev | sudo tee -a /etc/modules
++
++[trisquel:12.0:sane]
++packages=libsane1
++
++[trisquel:12.0:sane-devel]
++packages=libsane-dev
++
++[trisquel:12.0:scanimage]
++packages=sane-utils
++
++[trisquel:12.0:xsane]
++packages=gtk2-engines-pixbuf,xsane
++
++[trisquel:12.0:dbus]
++packages=libdbus-1-dev
++
++[trisquel:12.0:cups-image]
++packages=libcupsimage2-dev
++
++[trisquel:12.0:cups-ddk]
++packages=cups
++
++[trisquel:12.0:policykit]
++packages=policykit-1,policykit-1-gnome
++
++[trisquel:12.0:network]
++packages=wget
++
++[trisquel:12.0:avahi-utils]
++packages=avahi-utils
++
++[trisquel:12.0:libavahi-dev]
++packages=libavahi-client-dev,libavahi-core-dev,libavahi-common-dev
++
++[trisquel:12.0:python3-notify2]
++packages=python3-notify2
++
++[trisquel:12.0:python3-pyqt5-dbus]
++packages=python3-dbus.mainloop.pyqt5
++
++[trisquel:12.0:python3-pyqt5]
++packages=python3-pyqt5,gtk2-engines-pixbuf
++
++[trisquel:12.0:python3-dbus]
++packages=python3-dbus,python3-gi
++
++[trisquel:12.0:python3-xml]
++packages=python3-lxml
++
++[trisquel:12.0:python3-devel]
++packages=python3-dev
++
++[trisquel:12.0:python3-pil]
++packages=python3-pil
++
++[trisquel:12.0:python3-reportlab]
++packages=python3-reportlab
++
++[trisquel:12.0:automake]
++packages=automake1.11
++
++[trisquel:12.0:epm]
++packages=epm
++
++# ****************************************
+diff --git a/base/password.py b/base/password.py
+index a76d4048..b0c6fe20 100644
+--- a/base/password.py
++++ b/base/password.py
+@@ -63,6 +63,7 @@ AUTH_TYPES = {'mepis': 'su',
+ 'debiangnu/linux' : 'su',
+ 'mxlinux' : 'su',
+ 'elementaryos' : 'sudo',
++ 'trisquel' : 'sudo',
+ }
+
+
diff --git a/helpers/DATA/hplip/patch_changes/001-enable_distro_name_dectection.patch b/helpers/DATA/hplip/patch_changes/001-enable_distro_name_dectection.patch
new file mode 100644
index 0000000..3b41da1
--- /dev/null
+++ b/helpers/DATA/hplip/patch_changes/001-enable_distro_name_dectection.patch
@@ -0,0 +1,16 @@
+diff --git a/installer/core_install.py b/installer/core_install.py
+index 1c8af23e..9595b2c7 100644
+--- a/installer/core_install.py
++++ b/installer/core_install.py
+@@ -644,6 +644,11 @@ class CoreInstall(object):
+ ld = distro.linux_distribution(full_distribution_name=False)
+ name = ld[0]
+ ver = ld[1]
++ # Ensure variable exists (used below for MX detection)
++ try:
++ distro_release_name = distro.name(pretty=True) or ""
++ except Exception:
++ distro_release_name = ""
+
+ found = True
+
diff --git a/helpers/DATA/libmateweather/0cc07f7e5163870bcc2fb7281c28e8e39c9cbc54.patch b/helpers/DATA/libmateweather/patch_changes/001-0cc07f7e5163870bcc2fb7281c28e8e39c9cbc54.patch
similarity index 100%
rename from helpers/DATA/libmateweather/0cc07f7e5163870bcc2fb7281c28e8e39c9cbc54.patch
rename to helpers/DATA/libmateweather/patch_changes/001-0cc07f7e5163870bcc2fb7281c28e8e39c9cbc54.patch
diff --git a/helpers/DATA/libmateweather/a61542ffc2d3807dbc3163d1727cc5d8c2118838.patch b/helpers/DATA/libmateweather/patch_changes/002-a61542ffc2d3807dbc3163d1727cc5d8c2118838.patch
similarity index 100%
rename from helpers/DATA/libmateweather/a61542ffc2d3807dbc3163d1727cc5d8c2118838.patch
rename to helpers/DATA/libmateweather/patch_changes/002-a61542ffc2d3807dbc3163d1727cc5d8c2118838.patch
diff --git a/helpers/DATA/libmateweather/patch_changes/003-weather_server_uri_update_138.patch b/helpers/DATA/libmateweather/patch_changes/003-weather_server_uri_update_138.patch
new file mode 100644
index 0000000..4413374
--- /dev/null
+++ b/helpers/DATA/libmateweather/patch_changes/003-weather_server_uri_update_138.patch
@@ -0,0 +1,38 @@
+From 4e54f44dab4efa8c216b26ea7188b99c94882ba4 Mon Sep 17 00:00:00 2001
+From: Victor Kareh
+Date: Thu, 18 Sep 2025 11:40:55 -0400
+Subject: [PATCH] metar: Update AviationWeather URL
+
+According to their website: "The AviationWeather Data API has been
+redeveloped in 2025."
+
+Also they put 'METAR' (or 'SPECI') onto the beginning of data to make it
+ICAO compliant, so we add code to parse that.
+
+Fixes #135
+---
+ libmateweather/weather-metar.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/libmateweather/weather-metar.c b/libmateweather/weather-metar.c
+index 7bc24fc9..4698a077 100644
+--- a/libmateweather/weather-metar.c
++++ b/libmateweather/weather-metar.c
+@@ -510,7 +510,7 @@ metar_finish (SoupSession *session, SoupMessage *msg, gpointer data)
+
+ loc = info->location;
+
+- searchkey = g_strdup_printf ("%s", loc->code);
++ searchkey = g_strdup_printf ("METAR %s", loc->code);
+ p = strstr (msg->response_body->data, searchkey);
+ g_free (searchkey);
+ if (p) {
+@@ -550,7 +550,7 @@ metar_start_open (WeatherInfo *info)
+ }
+
+ msg = soup_form_request_new (
+- "GET", "https://www.aviationweather.gov/cgi-bin/data/dataserver.php",
++ "GET", "https://aviationweather.gov/api/data/dataserver",
+ "dataSource", "metars",
+ "requestType", "retrieve",
+ "format", "xml",
diff --git a/helpers/DATA/yt-dlp/patch_changes/000-add_cookies_support_for_firefox_based_browser_abrowser.patch b/helpers/DATA/yt-dlp/patch_changes/000-add_cookies_support_for_firefox_based_browser_abrowser.patch
index ddcb270..7f3b9ee 100644
--- a/helpers/DATA/yt-dlp/patch_changes/000-add_cookies_support_for_firefox_based_browser_abrowser.patch
+++ b/helpers/DATA/yt-dlp/patch_changes/000-add_cookies_support_for_firefox_based_browser_abrowser.patch
@@ -27,13 +27,11 @@ index 5675445a..7afd324b 100644
elif browser_name == 'safari':
return _extract_safari_cookies(profile, logger)
elif browser_name in CHROMIUM_BASED_BROWSERS:
-@@ -124,15 +124,15 @@ def extract_cookies_from_browser(browser_name, profile=None, logger=YDLLogger(),
- raise ValueError(f'unknown browser: {browser_name}')
+@@ -127,14 +127,14 @@ def extract_cookies_from_browser(browser_name, profile=None, logger=YDLLogger(),
+ def _extract_firefox_cookies(profile, container, logger):
+ MAX_SUPPORTED_DB_SCHEMA_VERSION = 16
-
--def _extract_firefox_cookies(profile, container, logger):
- logger.info('Extracting cookies from firefox')
-+def _extract_firefox_cookies(profile, container, logger, browser_name):
+ logger.info(f'Extracting cookies from {browser_name}')
if not sqlite3:
- logger.warning('Cannot extract cookies from firefox without sqlite3 support. '
@@ -74,16 +72,13 @@ index 5675445a..7afd324b 100644
cursor.execute(
'SELECT host, name, value, path, expiry, isSecure FROM moz_cookies WHERE originAttributes LIKE ? OR originAttributes LIKE ?',
(f'%userContextId={container_id}', f'%userContextId={container_id}&%'))
-@@ -186,14 +186,14 @@ def _extract_firefox_cookies(profile, container, logger):
+@@ -194,11 +194,11 @@ def _extract_firefox_cookies(profile, container, logger):
path=path, path_specified=bool(path), secure=is_secure, expires=expiry, discard=False,
comment=None, comment_url=None, rest={})
jar.set_cookie(cookie)
- logger.info(f'Extracted {len(jar)} cookies from firefox')
+ logger.info(f'Extracted {len(jar)} cookies from {browser_name}')
return jar
- finally:
- if cursor is not None:
- cursor.connection.close()
-def _firefox_browser_dirs():
diff --git a/helpers/DATA/yt-dlp/patch_changes/001-fix_broken_table.patch b/helpers/DATA/yt-dlp/patch_changes/001-fix_broken_table.patch
new file mode 100644
index 0000000..5fd5188
--- /dev/null
+++ b/helpers/DATA/yt-dlp/patch_changes/001-fix_broken_table.patch
@@ -0,0 +1,13 @@
+diff --git a/pyproject.toml b/pyproject.toml
+index f2211ef1..313fde99 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -23,7 +23,7 @@ keywords = [
+ "yt-dlp",
+ ]
+ license = "Unlicense"
+-license-files = ["LICENSE"]
++license-files = { paths = ["LICENSE"] }
+ classifiers = [
+ "Topic :: Multimedia :: Video",
+ "Development Status :: 5 - Production/Stable",
diff --git a/helpers/make-firefox b/helpers/make-firefox
index 057d176..226724a 100644
--- a/helpers/make-firefox
+++ b/helpers/make-firefox
@@ -19,8 +19,8 @@
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#
-VERSION=123
-EXTERNAL='deb-src http://ppa.launchpadcontent.net/mozillateam/ppa/ubuntu noble main'
+VERSION=126
+EXTERNAL='deb-src http://ppa.launchpadcontent.net/mozillateam/ppa/ubuntu $UPSTREAM main'
REPOKEY=9BDB3D89CE49EC21
. ./config
@@ -29,7 +29,7 @@ REPOKEY=9BDB3D89CE49EC21
GLEAN_CONF_RS_INITIAL=$(sha256sum third_party/rust/glean/src/configuration.rs|awk '{print$1}')
# GNUZILLA ADDON REPLACEMENT
OLD_WEB_DEV_URL="https://addons.mozilla.org/firefox/collections/mozilla/webdeveloper/"
-WEB_DEV_URL="https://gnuzilla.gnu.org/mozzarella/category.php?id=web-development"
+WEB_DEV_URL="https://gnuzilla.gnu.org/category.php?id=web-development"
rm debian/control
sed "s|Safe and easy web browser from Mozilla|Safe and easy web browser from Mozilla by Trisquel|" \
@@ -48,7 +48,7 @@ BAP_FirefoxJs=browser/app/profile/firefox.js
sed '/^const DEFAULT_SITES/,/^])\;/c const DEFAULT_SITES = new Map\([[""]]\);' -i browser/extensions/newtab/lib/DefaultSites.sys.mjs
sed '/"showSponsored"/,/value/s/value: true/value: false/' -i $ActivityStream
sed '/"telemetry"/,/value/s/value: true/value: false/' -i $ActivityStream
-sed '/"section.highlights.includePocket"/,/value/s/value: true/value: false/' -i $ActivityStream
+#141#sed '/"section.highlights.includePocket"/,/value/s/value: true/value: false/' -i $ActivityStream
sed '/"telemetry.structuredIngestion.endpoint"/,/value/s/value: .*/value: ""/' -i $ActivityStream
sed '/read_more_endpoint/,+1s/http.*/",/' -i $ActivityStream
sed '/stories_endpoint/s/getpocket.cdn.mozilla.net/127.0.0.1/' -i $ActivityStream
@@ -136,7 +136,7 @@ sed -i 's|\(pref("media\.gmp-widevinecdm-l1\.chromium-guid", \)"[^"]*"|\1""|' $B
sed -i 's|\(pref("media\.gmp-widevinecdm\.chromium-guid", \)"[^"]*"|\1""|' $BAP_FirefoxJs
# Replace mozilla url addons button
-sed -i '/extensions.getAddons.link.url/s|https://addons.mozilla.org/%LOCALE%/firefox/|https://gnuzilla.gnu.org/mozzarella/|' $BAP_FirefoxJs
+sed -i '/extensions.getAddons.link.url/s|https://addons.mozilla.org/%LOCALE%/firefox/|https://gnuzilla.gnu.org/|' $BAP_FirefoxJs
# Update third_party/rust/glean/src/configuration.rs sha256sum at third_party/rust/glean/.cargo-checksum.json
GLEAN_CONF_RS_MODIFIED=$(sha256sum third_party/rust/glean/src/configuration.rs|awk '{print$1}')
@@ -264,7 +264,7 @@ for i in $(find . -name brandings.ftl)
do
/bin/sed -i '/firefoxview-brand-name/s|Firefox View|Abrowser View|' $i
/bin/sed -i '/firefox-home-brand-name/s|Firefox Home|Abrowser Home|' $i
- sed -i 's|= Firefox |= |' $i
+ /bin/sed -i 's|= Firefox |= |' $i
done
# Disable preprocessor
@@ -425,7 +425,7 @@ grep -lr addons-help toolkit/mozapps/extensions/ | xargs -r sed -i 's|addons-hel
sed -i "/browser.discovery.sites/s|addons.mozilla.org|gnuzilla.gnu.org|" $BAP_FirefoxJs
sed -i "/lightweightThemes.getMoreURL/s|https://addons.mozilla.org/.*themes||" $BAP_FirefoxJs
-#Fixes by patch on source, see DATA/firefox/patches for more info.
+# Fixes by patch on source, see DATA/firefox/patch_changes for more info.
apply_patch_changes
# Postinst script to manage profile migration and system links
diff --git a/helpers/make-hplip b/helpers/make-hplip
index 266b8d7..899101d 100644
--- a/helpers/make-hplip
+++ b/helpers/make-hplip
@@ -2,6 +2,7 @@
#
# Copyright (C) 2011 MPA
# Copyright (C) 2013-2021 Ruben Rodriguez
+# Copyright (C) 2025 Luis Guzmán
#
# 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
@@ -18,7 +19,7 @@
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#
-VERSION=3
+VERSION=4
# note, we need version 3.20.6 or higher, the binary plugin requirement
# was reworked on that version.
@@ -110,6 +111,10 @@ override_dh_missing:
dh_missing --list-missing
RULES
+# Change CRLF to LF to avoid issues.
+sed -i 's/\r$//' installer/distros.dat
+apply_patch_changes
+
changelog "Removed printers with propietary drivers"
package
diff --git a/helpers/make-icecat b/helpers/make-icecat
new file mode 100644
index 0000000..a62598b
--- /dev/null
+++ b/helpers/make-icecat
@@ -0,0 +1,28 @@
+#!/bin/sh
+#
+# Copyright (C) 2025 Luis Guzmán
+#
+# 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.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+#
+
+VERSION=1
+EXTERNAL="deb-src http://repos.cmxsl.org/aramo aramo main"
+REPOKEY=3FFC4B92F7FFB890
+
+. ./config
+
+changelog "Imported into Trisquel 11 - aramo"
+
+package
diff --git a/helpers/make-libmateweather b/helpers/make-libmateweather
index 7274cf7..3b5951f 100644
--- a/helpers/make-libmateweather
+++ b/helpers/make-libmateweather
@@ -17,17 +17,12 @@
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#
-VERSION=1
+VERSION=2
BUILD_UNTIL=11.0
. ./config
-# Apply patches from upstream for URL weather change and FTBFS on current
-# aramo release.
-for i in $DATA/*.patch; do
- echo Applying patch $i
-patch --no-backup-if-mismatch -p1 < $i
-done
+apply_patch_changes
changelog "Fix dataserver weather url change."
diff --git a/helpers/make-minetest b/helpers/make-minetest
new file mode 100644
index 0000000..625c216
--- /dev/null
+++ b/helpers/make-minetest
@@ -0,0 +1,29 @@
+#!/bin/sh
+#
+# Copyright (C) 2025 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.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+#
+
+VERSION=1
+EXTERNAL='deb-src http://archive.ubuntu.com/ubuntu noble universe'
+BACKPORT=true
+BUILD_UNTIL=11.0
+
+. ./config
+
+changelog "Backporting release to fix CVE-2022-35978"
+
+package
diff --git a/helpers/make-videomass b/helpers/make-videomass
index 4eb4f81..b21dce2 100644
--- a/helpers/make-videomass
+++ b/helpers/make-videomass
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (C) 2021 Luis Guzman
+# Copyright (C) 2025 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
@@ -17,7 +17,7 @@
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#
-VERSION=1
+VERSION=2
EXTERNAL='deb-src http://ppa.launchpad.net/jeanslack/videomass/ubuntu $UPSTREAM main'
REPOKEY=1829041B1114F671
BACKPORT=true
diff --git a/helpers/make-vidtuber b/helpers/make-vidtuber
new file mode 100644
index 0000000..dbc7a8f
--- /dev/null
+++ b/helpers/make-vidtuber
@@ -0,0 +1,29 @@
+#!/bin/sh
+#
+# Copyright (C) 2025 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.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+#
+
+VERSION=1
+EXTERNAL='deb-src http://ppa.launchpad.net/jeanslack/vidtuber/ubuntu $UPSTREAM main'
+REPOKEY=1829041B1114F671
+BACKPORT=true
+
+. ./config
+
+changelog "Backported from official PPA for vidtuber"
+
+package
diff --git a/helpers/make-yt-dlp b/helpers/make-yt-dlp
index b74cd80..fe312d2 100644
--- a/helpers/make-yt-dlp
+++ b/helpers/make-yt-dlp
@@ -17,9 +17,9 @@
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#
-VERSION=2
+VERSION=3
EXTERNAL='deb-src http://deb.debian.org/debian sid main'
-REPOKEY=0E98404D386FA1D9
+REPOKEY=6ED0E7B82643E131
BACKPORTS=true
. ./config