Skip to content

Bug 41045, 41046 & 42337 (TB): Include Geckodriver and twaks to the build system

Pier Angelo Vendrame requested to merge pierov/tor-browser-build:bug_41045 into main

Merge Info

Related Issues



  • Immediate: patchset needed as soon as possible
  • Next Minor Stable Release: patchset that needs to be verified in nightly before backport
  • Eventually: patchset that needs to be verified in alpha before backport
  • No Backport (preferred): patchset for the next major stable

(Optional) Justification

  • Emergency security update: patchset fixes CVEs, 0-days, etc
  • Censorship event: patchset enables censorship circumvention
  • Critical bug-fix: patchset fixes a bug in core-functionality
  • Consistency: patchset which would make development easier if it were in both the alpha and release branches; developer tools, build system changes, etc
  • Sponsor required: patchset required for sponsor
  • Other: please explain

Issue Tracking


Request Reviewer

  • Request review from an applications developer depending on modified system:
    • NOTE: if the MR modifies multiple areas, please /cc all the relevant reviewers (since gitlab only allows 1 reviewer)
    • accessibility : henry
    • android : clairehurst, dan
    • build system : boklm
    • extensions : ma1
    • firefox internals (XUL/JS/XPCOM) : ma1
    • fonts : pierov
    • frontend (implementation) : henry
    • frontend (review) : donuts, richard
    • localization : henry, pierov
    • macos : clairehurst, dan
    • nightly builds : boklm
    • rebases/release-prep : boklm, dan, ma1, pierov, richard
    • security : ma1
    • signing : boklm, richard
    • updater : pierov
    • misc/other : pierov, richard

Change Description

This MR addresses 3 changes to the build system that I decided to group together because to run a single test build:

  • print some timestamps in the logs of the Firefox project, just to know how much it takes to run each step (for future possible improvements)
  • include Geckodriver in all platforms
    • since I've adjusted/generalized the creation of the debug package, while doing so I've also started copying Linux i686 debug symbols again, but it's okay, if we switch to lld on Linux i686 (tor-browser!873 (merged))
  • adjust the structure of the debug symbols package on Linux, so it'll be possible to just extract the debug symbols on top of an existing Tor Browser installation, instead of having to move the various files

How Tested

  • ran a test build to see that all platforms build
    • I've ran only macOS universal, I didn't build single macOS architectures, even though this allowed me to see that I needed to handle macOS universal in a special way 🙂
    • I didn't check again all platforms after adding llvm-strip, only Linux, but I'm quite sure all platforms will work, as LLVM/Clang are in $PATH for all platforms. FWIW, I've checked outside the build environment that llvm-strip works also on PE.
  • checked that Linux i686 debug symbols are big enough (almost 300MB, compared to just a few MB that we'd have only with the generated headers), but I didn't try to load them in a debugger
  • downloaded the Linux x86_64 debug symbols, extracted on top of the existing installation, and checked that gdb found the symbols (but I didn't try to do actual debug)
Edited by Pier Angelo Vendrame

Merge request reports