Skip to content

macOS nightly builds with packaged locales fail

I think we never got macOS nightly builds with packaged locales yet because of brand.dtd.

Now that that problem has been solved, we've found another one: manifests are copied to obj-x86_64-apple-darwin/dist/bin/chrome/ but not to obj-x86_64-apple-darwin/dist/Tor Browser.app/Contents/Resources/chrome/.

It seems Mozilla changed their documentation since I've started working on the matter, and they added a new command: ./mach package-multi-locale.

It does three things:

  1. call ./mach build chrome-$AB_CD, like we do
  2. "Repackage the browser" (see python/mozbuild/mozbuild/mach_commands.py:2492 on 102.4)
  3. Calls the equivalent of ./mach package (with another direct call to make)

So, the problems are

    1. isn't exposed as a standalone mach command, but rather calls make directly
    1. fails, because we don't have the tools to build the dmg

The "repackaging the browser" can be reproduced in this way:

pushd obj-x86_64-apple-darwin/browser/app/
gmake -jsomething tools
popd

So, the possible solutions are:

  • add this with a few comments to explain where it comes from, and think about it when it breaks again
    • easy, and no patch required in tor-browser.git
  • run ./mach package-multi-locale --locales en-US $MOZ_CHROME_MULTILOCALE || true (notice the lack of quotes) to make it prepare whatever we need and accept its failure
    • easy, too, but logs will be polluted with a useless failure
  • patch python/mozbuild/mozbuild/mach_commands.py not to create the package (and maybe call stage-package, instead? Or just return)
    • "cross" patch required, but at least if the patch of tor-browser.git fails to apply we immediately spot the problem

One of my question now is: is stage-package an officially recognized command? Or have we ever used it even though we "weren't allowed" to?

/cc @boklm

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information