Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • T tor-browser-build
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 209
    • Issues 209
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 10
    • Merge requests 10
  • Deployments
    • Deployments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • Repository
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • The Tor Project
  • Applications
  • tor-browser-build
  • Issues
  • #40687
Closed
Open
Issue created Nov 14, 2022 by Pier Angelo Vendrame@pierovMaintainer

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
Assignee
Assign to
Time tracking