diff --git a/assets/patches.txt b/assets/patches.txt index 472b673..730bc02 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-fixed-113.patch +patches/msix.patch patches/remove_addons.patch patches/rust-unaligned-access-backport.patch patches/sed-patches/allow-searchengines-non-esr.patch diff --git a/patches/msix-fixed-113.patch b/patches/msix-fixed-113.patch deleted file mode 100644 index 3c0f629..0000000 --- a/patches/msix-fixed-113.patch +++ /dev/null @@ -1,189 +0,0 @@ -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`. diff --git a/patches/msix.patch b/patches/msix.patch index eec3daa..97f4dfa 100644 --- a/patches/msix.patch +++ b/patches/msix.patch @@ -56,7 +56,7 @@ --- a/python/mozbuild/mozbuild/mach_commands.py +++ b/python/mozbuild/mozbuild/mach_commands.py -@@ -2493,7 +2493,7 @@ def repackage_msi( +@@ -2511,7 +2511,7 @@ def repackage_msi( @CommandArgument( "--vendor", type=str, @@ -65,7 +65,7 @@ required=False, help="The vendor to use in the Package/Identity/Name string to use in the App Manifest." + " Defaults to 'Mozilla'.", -@@ -2630,7 +2630,7 @@ def repackage_msix( +@@ -2648,7 +2648,7 @@ def repackage_msix( command_context.topsrcdir, channel=channel, arch=arch, @@ -122,8 +122,7 @@ - raise ValueError( - f"Alpha version not of the form X.0a1 is not supported: {version}" - ) -+ [ver, rel] = version.split("-") - +- - # 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] @@ -136,12 +135,13 @@ - # Avoid leading zero, like `.0DHh`. - day = day[1:] - hour = buildid[8:10] -+ ver_parts = ver.split(".") -+ ver_parts += ["0"] * (3 - len(ver_parts)) ++ [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 @@ -156,27 +156,6 @@ def get_appconstants_sys_mjs_values(finder, *args): -@@ -193,9 +144,9 @@ def get_appconstants_sys_mjs_values(finder, *args): - yield value - - --def get_branding(use_official, build_app, finder, log=None): -+def get_branding(use_official, topsrcdir, build_app, finder, log=None): - """Figure out which branding directory to use.""" -- conf_vars = mozpath.join(build_app, "confvars.sh") -+ conf_vars = mozpath.join(topsrcdir, build_app, "confvars.sh") - - def conf_vars_value(key): - lines = open(conf_vars).readlines() -@@ -254,7 +205,7 @@ def get_branding(use_official, build_app, finder, log=None): - }, - "{branding_reason}; Using branding from '{branding}'.", - ) -- return branding -+ return mozpath.join(topsrcdir, branding) - - - def unpack_msix(input_msix, output, log=None, verbose=False): @@ -404,12 +355,7 @@ def repackage_msix( ) @@ -191,18 +170,7 @@ second = next(values) vendor = vendor or second -@@ -471,8 +417,8 @@ def repackage_msix( - # Release (official) and Beta share branding. Differentiate Beta a little bit. - brandFullName += " Beta" - -- branding = os.path.join( -- topsrcdir, get_branding(use_official_branding, build_app, unpack_finder, log) -+ branding = get_branding( -+ use_official_branding, topsrcdir, build_app, unpack_finder, log - ) - if not os.path.isdir(branding): - raise Exception("branding dir {} does not exist".format(branding)) -@@ -520,16 +520,6 @@ def repackage_msix( +@@ -563,16 +509,6 @@ def repackage_msix( # In local builds and unpacked MSIX directories, `p` is like "firefox.exe" already. pp = p