Skip to content

Bug 40919: Fix nimbus-fml reproducibility problems.

Pier Angelo Vendrame requested to merge pierov/tor-browser-build:bug_40919 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 : dan
    • build system : boklm
    • extensions : ma1
    • firefox internals (XUL/JS/XPCOM) : ma1
    • fonts : pierov
    • frontend (implementation) : henry
    • frontend (review) : donuts, richard
    • localization : henry, pierov
    • nightly builds : boklm
    • rebases/release-prep : dan_b, ma1, pierov, richard
    • security : ma1
    • signing : boklm, richard
    • updater : pierov
    • misc/other : pierov, richard

Change Description

We needed to replace another couple of HashMaps with BTreeMaps.

To test:

  1. checkout application-services somewhere (or cp -r git_clones/application-services .../somewhere/)
  2. cd .../application-services/components/support/nimbus-fml
  3. git apply .../tor-browser-build/projects/application-services/bug40485.diff
  4. cargo build --release
  5. go to .../firefox-android/fenix/app (the tree in git_clones should be fine)
  6. run .../application-services/target/release/nimbus-fml generate --language kotlin --channel beta nimbus.fml.yaml /tmp/output.kt as many times as you want to check you always get the same output (suggestion: run it in a for loop)

Merge request reports