General steps for building older versions of Firefox for Android

Step 0: Have a current working build environment for building Firefox for Android for a recent checkout of mozilla-central.

Step 1: Figure out when the revision you are interested in was checked in. hg log -r <revision> will give you a date of the checkin.

Step 2: Check the revision history of the Simple Firefox for Android build guide you want to find a revision slightly before the date from step 1. At the bottom of the page “Required Android SDK and NDK versions” use this section as a reference for the next several steps.

Step 3. Install the version of the Android SDK Platform listed on the DevMo page. Via Android Studio’s SDK manager. Tools -> SDK Manager -> SDK Platforms ->  mark the API version you need -> click apply

Step 4. Install the SDK build tools using Android Studio’s SDK manager. Tools -> SDK Manager -> SDK Tools -> mark the SDK build tools version you need -> click apply

Step 5. Get the correct NDK from Google’s archives. Then extract it to where you store your NDKs. $HOME/.mozbuild is the default.

Step 6. Get the Android SDK tools. This can be a real pain as Google does not have links to download this. You will need to craft your own version of the URL. The URL format is<version>-<operating-system>.zip Where version matches the “Android SDK Tools” line from DevMo and operating system is macosx or linux. Example

Step 7. Create a copy of the SDK, delete the tools directory and place the folder from the Android SDK Tools download step 6 above in that folder. Example $HOME/.mozbuild/android-sdk-linux-23.0.1/

Step 8. Update your .mozconfig to point to the older NDK and SDK versions
# Build Firefox for Android:
ac_add_options --enable-application=mobile/android
ac_add_options --target=arm-linux-androideabi
# With the following Android SDK and NDK:
ac_add_options --with-android-sdk="/absolute/path/to/android-sdk-linux-23.0.1"
ac_add_options --with-android-ndk="/absolute/path/to/android-ndk-r11c"

Step 9. ./mach build
./mach package
./mach install
./mach run

Climbing Fujisan on the Yoshida Trail

I Hiked Fujisan 🗻 Wednesday/Thursday with my partner and another couple. Started off with a bus from Shinjuku. Bit of work to navigate the sprawling station. We planed for this but it still took about 30 min to find the highway bus terminal. It is on the opposite end of the station from the local buses, which we found first. Upon arrival to Fujisan Subaru 5th station 2305 m (7,562 ft) we were greeted with a downpour and thunderstorms, we waited it out. With the weather clearing we set off in light rain around 3:30 pm a bit later than we planned.
Hiking in and out of rain our destination for the night was Gansomuro. A mountain hut in station 8 at 3250 m (10,660 ft). There were beautiful sights but the elevation caught up with us as it increased and the nigh wore on. Late in the 7th station area around 8:00pm we were confronted with the dinner cut off. We sent Tyler and Anne ahead to secure our lodging for the night. Allison and I just made dinner by 5 minutes. Wolfed down our chicken karē and had some tea, bed by 9:30 pm with a 2:00 am wake up. A bunkhouse sleeping 50 to a room is not a great place to get a restful nights sleep. I got a few fitful hours, Allison none.
About 1:30 am the early birds started leaving the hut to the sounds of heavy rain and thunder. The next morning was really rough on me. My head was foggy and stomach was sour. All the rest of the party were also showing signs of mild altitude sickness. We set off a little after 3 am. Hiking was slow we had fog, dense fog or rain as an accompaniment. We took frequent breaks whenever we could find shelter on the backside of the switchbacks. With spirits flagging  around 3500 m I asked the question on our minds, do we continue to the top?  Decision, yes. We climbed on reaching the top of the Yoshida Trail to the Kusushidake peak around 6:30 am at 3720 m (12205 ft). When we were planning this trip we planed on doing a loop of the Ohachimeguri crater. When faced with the reality of wet clothes, strong whipping winds, dense fog and sub 0 windchill we scrapped those plans. Reaching the true summit 3776 m given our hiking pace would have meant spending another 90 minutes exposed to the worst the day and the mountain had to offer. Accepting the victory of getting to the top of our trail we headed down on the tractor trail. This was a different sort of trial. Often walking through dense fog gave us no sense of time or distance. Unlike the acceding trail this trail was featureless. Just crushed red and black pumice surrounding us. The few times it cleared we were afforded some views that buoyed our spirits. The hike wrapped up with us back at Subaru 5th station around 12:45 pm.

Servo python build error Windows 10

Compiling Servo on Windows 10 I hit the following error

./mach build -r
<time passes>
--- stderr
thread '<main>' panicked at 'Can't find python (tried python27.exe and python.exe)! Try fixing PATH or setting the PYTHON env var', C:\msys64\home\kbrosnan\src\servo\components\style\
note: Run with `RUST_BACKTRACE=1` for a backtrace.

Setting the python environment variable allowed the build to succeed. export PYTHON=/c/Python27/python.exe