Надеюсь описанное ниже никогда вам не понадобится
1)Копируем source пакет firefox-а в текущую папку
sudo apt-get build-dep firefox
sudo apt-get install -y fakeroot
apt-get source firefox
2)можно попробовать пофиксать параметры mach-а в файле debian/config/mozconfig.in перед тем как запустить build. например можно сделать дебажный билд как описано тут
https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Build_Instructions/Simple_Firefox_build/Linux_and_MacOS_build_preparation
Так же можно если надо ограничить число ядер задействованных в билде. В моем случае если на задать этот параметр на ноуте невозможно работать пока идет билд. Я бы поставил его в число доступных ядер — 20-30%, например так
mk_add_options MOZ_MAKE_FLAGS="-j4
как описано тут
здесь
3)Билдаем
dpkg-buildpackage -b -us -uc
это займет кучу времени. У меня такой билд прошел нормально, а билд по инструкции firefox-а на том же релизе сфейлился. Видимо что-то maintainer-ы пакета пофиксали в патчах для пакета(а их было штук 5. не разбирался, когда построилось просто был рад), потому что билдил все на той же тачке. Да и вообще билдить это все лучше в контейнере, чтобы если что-то пошло не так снести его и не угробить рабочую машину. Я использовал LXD и новый контейнер 18.04 в нем.
Эта часть инструкции заимствована преимущественно отсюда
здесь
После успешной постройки артифакты билда лежат в папке obj-x86_64-linux-gnu
Бинарники firefox-а в папке obj-x86_64-linux-gnu/dist/bin
Если перестраивать код после фиксов, в например папке media, перестраивается только библиотека libxul.so. Линкуется она кучу времени.
Чтобы построить только те файлы, которые поменял, например в libpng и не ждать линковки каждый раз идем в фолдер
obj-x86_64-linux-gnu/media/libpng, чтобы make не ходил по неизмененным папкам, чтобы проверить что они не менялись
и делаем
make
после того как фиксы скомпилировались и мы хотим пересобрать libxul.so идем в корневой фолдер и делаем
make
джем кучу времени пока она слинкуется
запускается все это добро как обычно
./mach run
Статья про отладку
https://developer.mozilla.org/en-US/docs/Mozilla/Debugging/Debugging_Mozilla_with_gdb надеюсь вам это не понадобится
Надеюсь что хватит логгирования
здесь