From 5f83a8cdba544023d975dd1da704ac833836a062 Mon Sep 17 00:00:00 2001 From: Jan Beich Date: Wed, 23 May 2018 01:21:20 +0000 Subject: gecko: mask as Linux on AMO for compatibility Many extensions on addons.mozilla.org aren't listed or updated due to platform whitelist abuse. On DragonFly the search is broken because such a platform isn't recognized. PR: 226919 Reported by: Graham Perrin --- mail/thunderbird/files/patch-addon-search | 60 +++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 mail/thunderbird/files/patch-addon-search (limited to 'mail/thunderbird/files/patch-addon-search') diff --git a/mail/thunderbird/files/patch-addon-search b/mail/thunderbird/files/patch-addon-search new file mode 100644 index 000000000000..c9d0e0aa109e --- /dev/null +++ b/mail/thunderbird/files/patch-addon-search @@ -0,0 +1,60 @@ +https://github.com/mozilla/addons/issues/708 +https://github.com/mozilla/addons-frontend/issues/4610 + +diff --git mail/app/profile/all-thunderbird.js mail/app/profile/all-thunderbird.js +index 75c2c5e435e35..4d8c09c02759b 100644 +--- mail/app/profile/all-thunderbird.js ++++ mail/app/profile/all-thunderbird.js +@@ -156,13 +156,13 @@ pref("extensions.autoDisableScopes", 15); + // Preferences for AMO integration + pref("extensions.getAddons.cache.enabled", true); + pref("extensions.getAddons.maxResults", 15); +-pref("extensions.getAddons.get.url", "https://services.addons.mozilla.org/%LOCALE%/%APP%/api/%API_VERSION%/search/guid:%IDS%?src=thunderbird&appOS=%OS%&appVersion=%VERSION%"); +-pref("extensions.getAddons.getWithPerformance.url", "https://services.addons.mozilla.org/%LOCALE%/%APP%/api/%API_VERSION%/search/guid:%IDS%?src=thunderbird&appOS=%OS%&appVersion=%VERSION%&tMain=%TIME_MAIN%&tFirstPaint=%TIME_FIRST_PAINT%&tSessionRestored=%TIME_SESSION_RESTORED%"); ++pref("extensions.getAddons.get.url", "https://services.addons.mozilla.org/%LOCALE%/%APP%/api/%API_VERSION%/search/guid:%IDS%?src=thunderbird&appOS=Linux&appVersion=%VERSION%"); ++pref("extensions.getAddons.getWithPerformance.url", "https://services.addons.mozilla.org/%LOCALE%/%APP%/api/%API_VERSION%/search/guid:%IDS%?src=thunderbird&appOS=Linux&appVersion=%VERSION%&tMain=%TIME_MAIN%&tFirstPaint=%TIME_FIRST_PAINT%&tSessionRestored=%TIME_SESSION_RESTORED%"); + pref("extensions.getAddons.link.url", "https://addons.mozilla.org/%LOCALE%/%APP%/"); +-pref("extensions.getAddons.recommended.url", "https://services.addons.mozilla.org/%LOCALE%/%APP%/api/%API_VERSION%/list/recommended/all/%MAX_RESULTS%/%OS%/%VERSION%?src=thunderbird"); ++pref("extensions.getAddons.recommended.url", "https://services.addons.mozilla.org/%LOCALE%/%APP%/api/%API_VERSION%/list/recommended/all/%MAX_RESULTS%/Linux/%VERSION%?src=thunderbird"); + pref("extensions.getAddons.search.browseURL", "https://addons.mozilla.org/%LOCALE%/%APP%/search?q=%TERMS%"); +-pref("extensions.getAddons.search.url", "https://services.addons.mozilla.org/%LOCALE%/%APP%/api/%API_VERSION%/search/%TERMS%/all/%MAX_RESULTS%/%OS%/%VERSION%/%COMPATIBILITY_MODE%?src=thunderbird"); +-pref("extensions.webservice.discoverURL", "https://services.addons.mozilla.org/%LOCALE%/%APP%/discovery/pane/%VERSION%/%OS%"); ++pref("extensions.getAddons.search.url", "https://services.addons.mozilla.org/%LOCALE%/%APP%/api/%API_VERSION%/search/%TERMS%/all/%MAX_RESULTS%/Linux/%VERSION%/%COMPATIBILITY_MODE%?src=thunderbird"); ++pref("extensions.webservice.discoverURL", "https://services.addons.mozilla.org/%LOCALE%/%APP%/discovery/pane/%VERSION%/Linux"); + + // Blocklist preferences + pref("extensions.blocklist.enabled", true); +@@ -202,9 +202,9 @@ pref("extensions.logging.enabled", false); + // .. etc .. + // + pref("extensions.update.enabled", true); +-pref("extensions.update.url", "https://versioncheck.addons.mozilla.org/update/VersionCheck.php?reqVersion=%REQ_VERSION%&id=%ITEM_ID%&version=%ITEM_VERSION%&maxAppVersion=%ITEM_MAXAPPVERSION%&status=%ITEM_STATUS%&appID=%APP_ID%&appVersion=%APP_VERSION%&appOS=%APP_OS%&appABI=%APP_ABI%&locale=%APP_LOCALE%¤tAppVersion=%CURRENT_APP_VERSION%&updateType=%UPDATE_TYPE%&compatMode=%COMPATIBILITY_MODE%"); ++pref("extensions.update.url", "https://versioncheck.addons.mozilla.org/update/VersionCheck.php?reqVersion=%REQ_VERSION%&id=%ITEM_ID%&version=%ITEM_VERSION%&maxAppVersion=%ITEM_MAXAPPVERSION%&status=%ITEM_STATUS%&appID=%APP_ID%&appVersion=%APP_VERSION%&appOS=Linux&appABI=%APP_ABI%&locale=%APP_LOCALE%¤tAppVersion=%CURRENT_APP_VERSION%&updateType=%UPDATE_TYPE%&compatMode=%COMPATIBILITY_MODE%"); + +-pref("extensions.update.background.url", "https://versioncheck-bg.addons.mozilla.org/update/VersionCheck.php?reqVersion=%REQ_VERSION%&id=%ITEM_ID%&version=%ITEM_VERSION%&maxAppVersion=%ITEM_MAXAPPVERSION%&status=%ITEM_STATUS%&appID=%APP_ID%&appVersion=%APP_VERSION%&appOS=%APP_OS%&appABI=%APP_ABI%&locale=%APP_LOCALE%¤tAppVersion=%CURRENT_APP_VERSION%&updateType=%UPDATE_TYPE%&compatMode=%COMPATIBILITY_MODE%"); ++pref("extensions.update.background.url", "https://versioncheck-bg.addons.mozilla.org/update/VersionCheck.php?reqVersion=%REQ_VERSION%&id=%ITEM_ID%&version=%ITEM_VERSION%&maxAppVersion=%ITEM_MAXAPPVERSION%&status=%ITEM_STATUS%&appID=%APP_ID%&appVersion=%APP_VERSION%&appOS=Linux&appABI=%APP_ABI%&locale=%APP_LOCALE%¤tAppVersion=%CURRENT_APP_VERSION%&updateType=%UPDATE_TYPE%&compatMode=%COMPATIBILITY_MODE%"); + + pref("extensions.update.interval", 86400); // Check for updates to Extensions and + // Themes every day +diff --git toolkit/mozapps/extensions/internal/AddonRepository.jsm toolkit/mozapps/extensions/internal/AddonRepository.jsm +index f70fd8d7e3bd8..81e8cd7764fdf 100644 +--- mozilla/toolkit/mozapps/extensions/internal/AddonRepository.jsm ++++ mozilla/toolkit/mozapps/extensions/internal/AddonRepository.jsm +@@ -1179,7 +1179,7 @@ this.AddonRepository = { + let nodes = node.getElementsByTagName("os"); + addon.isPlatformCompatible = Array.some(nodes, function(aNode) { + let text = aNode.textContent.toLowerCase().trim(); +- return text == "all" || text == Services.appinfo.OS.toLowerCase(); ++ return text == "all" || text == "linux"; + }); + break; + case "install": +@@ -1187,7 +1187,7 @@ this.AddonRepository = { + if (node.hasAttribute("os")) { + let os = node.getAttribute("os").trim().toLowerCase(); + // If the os is not ALL and not the current OS then ignore this xpi +- if (os != "all" && os != Services.appinfo.OS.toLowerCase()) ++ if (os != "all" && os != "linux") + break; + } + -- cgit v1.2.3