diff --git a/assets/patches.txt b/assets/patches.txt index daab705..c541e5e 100644 --- a/assets/patches.txt +++ b/assets/patches.txt @@ -11,7 +11,7 @@ patches/hide-passwordmgr.patch patches/librewolf-pref-pane.patch patches/librewolf-prefs.patch patches/mozilla_dirs.patch -patches/msix.patch +patches/msix-fixed-113.patch patches/remove_addons.patch patches/sed-patches/allow-searchengines-non-esr.patch patches/sed-patches/disable-pocket.patch diff --git a/patches/allow-ubo-private-mode.patch b/patches/allow-ubo-private-mode.patch index c6de828..ea52d51 100644 --- a/patches/allow-ubo-private-mode.patch +++ b/patches/allow-ubo-private-mode.patch @@ -1,17 +1,21 @@ +diff --git a/toolkit/components/extensions/Extension.jsm b/toolkit/components/extensions/Extension.jsm +index 7281518..322dc09 100644 --- a/toolkit/components/extensions/Extension.jsm +++ b/toolkit/components/extensions/Extension.jsm -@@ -3028,6 +3028,14 @@ class Extension extends ExtensionData { - this.permissions.add(PRIVATE_ALLOWED_PERMISSION); - } +@@ -3286,6 +3286,16 @@ class Extension extends ExtensionData { + this.permissions.add(PRIVATE_ALLOWED_PERMISSION); + } -+ if (this.id === "uBlock0@raymondhill.net") { -+ lazy.ExtensionPermissions.add(this.id, { -+ permissions: [PRIVATE_ALLOWED_PERMISSION], -+ origins: [], ++ // We allow uBo in private mode. ++ if (this.id === "uBlock0@raymondhill.net") { ++ lazy.ExtensionPermissions.add(this.id, { ++ permissions: [PRIVATE_ALLOWED_PERMISSION], ++ origins: [], + }); -+ this.permissions.add(PRIVATE_ALLOWED_PERMISSION); -+ } ++ this.permissions.add(PRIVATE_ALLOWED_PERMISSION); ++ } + - // We only want to update the SVG_CONTEXT_PROPERTIES_PERMISSION during install and - // upgrade/downgrade startups. - if (INSTALL_AND_UPDATE_STARTUP_REASONS.has(this.startupReason)) { ++ + // We only want to update the SVG_CONTEXT_PROPERTIES_PERMISSION during + // install and upgrade/downgrade startups. + if (INSTALL_AND_UPDATE_STARTUP_REASONS.has(this.startupReason)) { diff --git a/patches/msix-fixed-113.patch b/patches/msix-fixed-113.patch new file mode 100644 index 0000000..3c0f629 --- /dev/null +++ b/patches/msix-fixed-113.patch @@ -0,0 +1,189 @@ +diff --git a/browser/installer/windows/msix/AppxManifest.xml.in b/browser/installer/windows/msix/AppxManifest.xml.in +index 98cfd82..fa7fde7 100644 +--- a/browser/installer/windows/msix/AppxManifest.xml.in ++++ b/browser/installer/windows/msix/AppxManifest.xml.in +@@ -29,13 +29,14 @@ + + + ++ + + + + + + +- ++ + + + +@@ -108,31 +109,4 @@ + + + +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- + +diff --git a/python/mozbuild/mozbuild/mach_commands.py b/python/mozbuild/mozbuild/mach_commands.py +index 5bd8814..3ecff8a 100644 +--- a/python/mozbuild/mozbuild/mach_commands.py ++++ b/python/mozbuild/mozbuild/mach_commands.py +@@ -2511,7 +2511,7 @@ def repackage_msi( + @CommandArgument( + "--vendor", + type=str, +- default="Mozilla", ++ default=None, + required=False, + help="The vendor to use in the Package/Identity/Name string to use in the App Manifest." + + " Defaults to 'Mozilla'.", +@@ -2648,7 +2648,7 @@ def repackage_msix( + command_context.topsrcdir, + channel=channel, + arch=arch, +- displayname=identity_name, ++ identity=identity_name, + vendor=vendor, + publisher=publisher, + publisher_display_name=publisher_display_name, +diff --git a/python/mozbuild/mozbuild/repackaging/msix.py b/python/mozbuild/mozbuild/repackaging/msix.py +index 83ff9f6..85a1a55 100644 +--- a/python/mozbuild/mozbuild/repackaging/msix.py ++++ b/python/mozbuild/mozbuild/repackaging/msix.py +@@ -105,68 +105,19 @@ def get_embedded_version(version, buildid): + the dotted quad to be identically 0, so we enforce that here. + """ + +- # It's irritating to roll our own version parsing, but the tree doesn't seem +- # to contain exactly what we need at this time. +- version = version.rsplit("esr", 1)[0] +- alpha = "a" in version +- +- tail = None +- if "a" in version: +- head, tail = version.rsplit("a", 1) +- if tail != "1": +- # Disallow anything beyond `X.Ya1`. +- raise ValueError( +- f"Alpha version not of the form X.0a1 is not supported: {version}" +- ) +- tail = buildid +- elif "b" in version: +- head, tail = version.rsplit("b", 1) +- if len(head.split(".")) > 2: +- raise ValueError( +- f"Beta version not of the form X.YbZ is not supported: {version}" +- ) +- elif "rc" in version: +- head, tail = version.rsplit("rc", 1) +- if len(head.split(".")) > 2: +- raise ValueError( +- f"Release candidate version not of the form X.YrcZ is not supported: {version}" +- ) +- else: +- head = version +- +- components = (head.split(".") + ["0", "0", "0"])[:3] +- if tail: +- components[2] = tail +- +- if alpha: +- # Nightly builds are all `X.0a1`, which isn't helpful. Include build ID +- # to disambiguate. But each part of the dotted quad is 16 bits, so we +- # have to squash. +- if components[1] != "0": +- # Disallow anything beyond `X.0a1`. +- raise ValueError( +- f"Alpha version not of the form X.0a1 is not supported: {version}" +- ) +- +- # Last two digits only to save space. Nightly builds in 2066 and 2099 +- # will be impacted, but future us can deal with that. +- year = buildid[2:4] +- if year[0] == "0": +- # Avoid leading zero, like `.0YMm`. +- year = year[1:] +- month = buildid[4:6] +- day = buildid[6:8] +- if day[0] == "0": +- # Avoid leading zero, like `.0DHh`. +- day = day[1:] +- hour = buildid[8:10] ++ [ver, rel] = version.split("-") + +- components[1] = "".join((year, month)) +- components[2] = "".join((day, hour)) ++ ver_parts = ver.split(".") ++ ver_parts += ["0"] * (3 - len(ver_parts)) + +- version = "{}.{}.{}.0".format(*components) +- +- return version ++ return ".".join( ++ [ ++ ver_parts[0], ++ str(100 * int(ver_parts[1]) + int(ver_parts[2])), ++ str(int(rel) * 100), ++ "0", ++ ] ++ ) + + + def get_appconstants_sys_mjs_values(finder, *args): +@@ -404,12 +355,7 @@ def repackage_msix( + ) + + first = next(values) +- if not displayname: +- displayname = "Mozilla {}".format(first) +- +- if channel == "beta": +- # Release (official) and Beta share branding. Differentiate Beta a little bit. +- displayname += " Beta" ++ displayname = displayname or first + + second = next(values) + vendor = vendor or second +@@ -563,16 +509,6 @@ def repackage_msix( + # In local builds and unpacked MSIX directories, `p` is like "firefox.exe" already. + pp = p + +- if pp.startswith("distribution"): +- # Treat any existing distribution as a distribution directory, +- # potentially with language packs. This makes it easy to repack +- # unpacked MSIXes. +- distribution_dir = mozpath.join(dir_or_package, "distribution") +- if distribution_dir not in distribution_dirs: +- distribution_dirs.append(distribution_dir) +- +- continue +- + copier.add(mozpath.normsep(mozpath.join("VFS", "ProgramFiles", instdir, pp)), f) + + # Locales to declare as supported in `AppxManifest.xml`.