Or, how to make make a Telemetry Probe Cake, using modern kitchen techniques.
Good prep is 90% of success in cooking.
Original recipe: https://developer.mozilla.org/en-US/docs/Simple_Firefox_build
Slow cookers:
- Get a modern OSX (10.9+). (or windows) (1-2 hours)
- Get XCode from https://itunes.apple.com/us/app/xcode/id497799835# (1 hour)
- https://developer.mozilla.org/en-US/docs/Simple_Firefox_build
- Get
mach
(the Mozilla build helper)curl https://hg.mozilla.org/mozilla-central/raw-file/default/python/mozboot/bin/bootstrap.py > bootstrap.py && python bootstrap.py
- Checkout mozilla-central (1 hour+) OR try
bash InitFromBundle.sh
(untested)
mkdir -p ~/hgs/ && cd ~/hgs
hg clone https://hg.mozilla.org/mozilla-central && cd mozilla-central
./mach build
# this will take an hour
./mach run --profile aProfile
Now relax. You have a working Firefox
We are going to fix a telemetry bug.
Claim: SEARCH_DEFAULT_ENGINE
should be a count
var, not a flag
(I like do to this at bugzilla. However, bzexport can also file bugs.)
Test Script:
let Probe = Services.telemetry.getKeyedHistogramById("")...
// change default engine a few times
// get counts back.
-
In your editor, edit
toolkit/components/telemetry/Histograms.json
. -
Partial Recompile, and run.:
./mach build toolkit/componenents/telemetry
./mach run --profile aProfile
about:addons (or scratchpad)
let S = Services.telemetry.getKeyedHistogramById
// re-run the local script.
bzexport
Do it from bzexport
, or from the website