feat: enable updater

(cherry picked from commit 406d531a4ccdb61786ad2aa013c9f98ada2ed02c)
This commit is contained in:
Alex Kontos
2025-08-21 10:07:33 +01:00
parent e7824895ad
commit 6ab05a96be
5 changed files with 31 additions and 4 deletions

View File

@@ -52,5 +52,5 @@ ServerURL=@MOZ_CRASHREPORTER_URL@/submit?id=@MOZ_APP_ID@&version=@MOZ_APP_VERSIO
#if MOZ_UPDATER
[AppUpdate]
URL=https://@MOZ_APPUPDATE_HOST@/update/6/%PRODUCT%/%VERSION%/%BUILD_ID%/%BUILD_TARGET%/%LOCALE%/%CHANNEL%/%OS_VERSION%/%SYSTEM_CAPABILITIES%/%DISTRIBUTION%/%DISTRIBUTION_VERSION%/update.xml
URL=https://@MOZ_APPUPDATE_HOST@/update/%PRODUCT%/%DISPLAY_VERSION%/%OS%_%ARCH%/%CHANNEL%/%OS_VERSION%/%SYSTEM_CAPABILITIES%/%DISTRIBUTION%/%DISTRIBUTION_VERSION%/update.xml
#endif

View File

@@ -89,7 +89,7 @@ if CONFIG["MOZ_APP_BASENAME"]:
if CONFIG[var]:
appini_defines[var] = True
appini_defines["MOZ_APPUPDATE_HOST"] = "aus5.mozilla.org"
appini_defines["MOZ_APPUPDATE_HOST"] = "aus.waterfox.net"
if CONFIG["MOZ_APPUPDATE_HOST"]:
appini_defines["MOZ_APPUPDATE_HOST"] = CONFIG["MOZ_APPUPDATE_HOST"]

View File

@@ -114,12 +114,16 @@ nsURLFormatterService.prototype = {
XPCOMABI() {
return this.ABI;
},
ARCH() {
return UpdateUtils.ABI.substring(0, UpdateUtils.ABI.indexOf("-"));
},
BUILD_TARGET() {
return Services.appinfo.OS + "_" + this.ABI;
},
OS_VERSION() {
return this.OSVersion;
},
DISPLAY_VERSION: () => AppConstants.MOZ_APP_VERSION_DISPLAY,
CHANNEL: () => lazy.UpdateUtils.UpdateChannel,
MOZILLA_API_KEY: () => AppConstants.MOZ_MOZILLA_API_KEY,
GOOGLE_LOCATION_SERVICE_API_KEY: () =>

View File

@@ -77,6 +77,9 @@ export var UpdateUtils = {
return url.replace(/%(\w+)%/g, (match, name) => {
let replacement = match;
switch (name) {
case "ARCH":
replacement = UpdateUtils.ABI.substring(0, UpdateUtils.ABI.indexOf("-"));
break;
case "PRODUCT":
replacement = Services.appinfo.name;
break;
@@ -89,6 +92,9 @@ export var UpdateUtils = {
case "BUILD_TARGET":
replacement = Services.appinfo.OS + "_" + this.ABI;
break;
case "OS":
replacement = Services.appinfo.OS;
break;
case "OS_VERSION":
replacement = this.OSVersion;
break;
@@ -110,6 +116,9 @@ export var UpdateUtils = {
case "DISTRIBUTION_VERSION":
replacement = getDistributionPrefValue(PREF_APP_DISTRIBUTION_VERSION);
break;
case "DISPLAY_VERSION":
replacement = AppConstants.MOZ_APP_VERSION_DISPLAY;
break;
}
return encodeURIComponent(replacement);
});
@@ -960,6 +969,8 @@ function getMemoryMB() {
*/
ChromeUtils.defineLazyGetter(lazy, "gInstructionSet", function aus_gIS() {
const CPU_EXTENSIONS = [
"hasAVX2",
"hasAVX",
"hasSSE4_2",
"hasSSE4_1",
"hasSSE4A",

View File

@@ -98,6 +98,7 @@ const PREF_APP_UPDATE_SERVICE_MAXERRORS = "app.update.service.maxErrors";
const PREF_APP_UPDATE_SOCKET_MAXERRORS = "app.update.socket.maxErrors";
const PREF_APP_UPDATE_SOCKET_RETRYTIMEOUT = "app.update.socket.retryTimeout";
const PREF_APP_UPDATE_STAGING_ENABLED = "app.update.staging.enabled";
const PREF_APP_UPDATE_URL_OVERRIDE = "app.update.url.override";
const PREF_APP_UPDATE_URL_DETAILS = "app.update.url.details";
const PREF_NETWORK_PROXY_TYPE = "network.proxy.type";
@@ -1137,7 +1138,7 @@ function isServiceInstalled() {
);
wrk.open(
wrk.ROOT_KEY_LOCAL_MACHINE,
"Software\\Waterfox\\MaintenanceService",
"Software\\BrowserWorks\\MaintenanceService",
wrk.ACCESS_READ | wrk.WOW64_64
);
installed = wrk.readIntValue("Installed");
@@ -5304,8 +5305,19 @@ export class CheckerService {
throw Components.Exception("", Cr.NS_ERROR_INVALID_ARG);
}
let url = Services.appinfo.updateURL;
let url;
let updatePin;
if (
Services.prefs
.getDefaultBranch(null)
.getCharPref(PREF_APP_UPDATE_URL_OVERRIDE, "")
) {
url = Services.prefs
.getDefaultBranch(null)
.getCharPref(PREF_APP_UPDATE_URL_OVERRIDE, "");
} else {
url = Services.appinfo.updateURL;
}
if (Services.policies) {
let policies = Services.policies.getActivePolicies();