cd /usr/local/src/mozilla
hg pull 
hg pull http://hg.mozilla.org/releases/mozilla-release/
hg pull http://hg.mozilla.org/releases/mozilla-beta/
hg pull http://hg.mozilla.org/releases/mozilla-aurora/
hg tags | less
hg checkout FIREFOX_63_0b9_RELEASE
cp ~/.mozconfig /tmp/.mozconfig
vi /tmp/.mozconfig
## Typical content:
#### mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-@CONFIG_GUESS@
#### mk_add_options MOZ_MAKE_FLAGS=-j4
#### mk_add_options AUTOCONF=autoconf2.13
#### mk_add_options MOZ_CO_PROJECT=browser
#### . $topsrcdir/browser/config/mozconfig
#### export LLVM_CONFIG=llvm-config-3.9
#### export NODEJS=/opt/node-v8/bin/node
#### ac_add_options --prefix=/opt/firefox-63.0b9
#### ac_add_options --enable-optimize='-march=native -O2'
#### ac_add_options --enable-official-branding
#### ac_add_options --enable-startup-notification
#### ac_add_options --disable-tests
#### ac_add_options --enable-alsa --disable-pulseaudio
rm -rf obj-*
# Use a PSEUDOHOME directory to avoid polluting my HOME with tons of junk:
PSEUDOHOME=/usr/local/src/mozilla-pseudohome
# To download/update rust:
curl -o $PSEUDOHOME/sh.rustup.rs https://sh.rustup.rs
HOME="$PSEUDOHOME" sh "$PSEUDOHOME/sh.rustup.rs" -y
PATH="$PSEUDOHOME/.cargo/bin:$PATH"
export PATH
# Not a good idea?:
## MOZCONFIG=/tmp/.mozconfig HOME="$PSEUDOHOME" ./mach bootstrap
HOME="$PSEUDOHOME" rustup update
HOME="$PSEUDOHOME" rustup toolchain install stable
HOME="$PSEUDOHOME" rustup default stable
# How often does this need to be run?
HOME="$PSEUDOHOME" cargo install cbindgen
# No longer works, fuck this:
## MOZCONFIG=/tmp/.mozconfig HOME="$PSEUDOHOME" make -f client.mk
## MOZCONFIG=/tmp/.mozconfig HOME="$PSEUDOHOME" make -f client.mk package
MOZCONFIG=/tmp/.mozconfig HOME="$PSEUDOHOME" ./mach build
MOZCONFIG=/tmp/.mozconfig HOME="$PSEUDOHOME" ./mach package
sudo mkdir /opt/firefox-63.0b9
# (as in .mozconfig of course)
sudo chown david /opt/firefox-63.0b9
bzcat obj-*/dist/firefox-*.tar.bz2 | tar -C /opt/firefox-63.0b9 -xvf -
mv /opt/firefox-63.0b9/firefox /opt/firefox-63.0b9/atchaznork
mv /opt/firefox-63.0b9/atchaznork/* /opt/firefox-63.0b9
rmdir /opt/firefox-63.0b9/atchaznork
ln -s . /opt/firefox-63.0b9/bin
chmod -R a+rX,go-w,ug-s /opt/firefox-63.0b9
sudo chown -R bin:root /opt/firefox-63.0b9
sudo rm /opt/firefox ; sudo ln -s firefox-63.0b9 /opt/firefox
