Я просто хочу получить код, отредактировать кое-что и собрать его, просто так, почему это так сложно?
Я попробовал это руководство , которое, казалось, было тем, что я нужно, но если вы видите оригинальное руководство , оно будет совершенно другим и сложным, используя bzr
и прочее.
Я следую сценарию:
sudo apt-get build-dep firefox
sudo apt-get install -y fakeroot
apt-get source firefox
# here it gets firefox_55.0.2+build1-0ubuntu0.16.04.1.debian.tar.xz, firefox_55.0.2+build1-0ubuntu0.16.04.1.dsc and firefox_55.0.2+build1.orig.tar.xz
tar xf firefox_55.0.2+build1-0ubuntu0.16.04.1.debian.tar.xz
tar xf firefox_55.0.2+build1.orig.tar.xz
vim debian/config/mozconfig.in
# trying to fix https://bugs.launchpad.net/ubuntu/+source/firefox/+bug/1710993
# echo 'ac_add_options --enable-alsa' >> debian/config/mozconfig.in
dpkg-buildpackage -b -us -uc
# some bugs of missing SOURCE_CHANGESET file
touch SOURCE_CHANGESET
dpkg-buildpackage -b -us -uc
# some issues with missing browser/config/version.txt file
ln -s firefox-55.0.2+build1 browser
touch browser/config/version.txt
dpkg-buildpackage -b -us -uc
Кажется, что он зависит от множества локалей и продолжает критиковать сообщение debian/build/rules.mk:366: *** We aren't in the full source directory. Please use "TARBALL=<path_to_orig.tar.bzr>". Stop.
.
Я нахожусь в той же директории, где я распаковал файлы, источник там, мне не нужно сейчас менять какой-либо другой пакет, как мне его собрать?
Компиляция версии разработки Firefox ('Ночью') может быть сделана с некоторой тщательной подготовкой. (Это - лучшая версия для использования при создании патчей и улучшений для 'восходящего потока'). Это обязательно для выполнения такой задачи далеко от производственной установки Ubuntu, и я был бы очень настоятельно рекомендовать использование Виртуальной машины, выделенной этой задаче только.
техника ниже была протестирована с Ubuntu Пикантный Zerus 17.04 (работающий в выделенной Виртуальной машине!) и было бы лучше всегда использовать самую современную версию Ubuntu для компиляции Firefox, поскольку используемые зависимости по большей части будут довольно современны. Я не переделал бесконечные опции сборки, но не стесняюсь делать так себя на Вашей собственной сборке!
Примечание: системе сборки нужна огромная сумма RAM, а также очень большое количество Дискового пространства. Я предложил бы 8 ГБ RAM, 30 ГБ свободного пространства на диске и стольких же ядер, сколько Ваш VM позволит, эта комбинация, конечно, работала над моей системой.Примечание: система сборки перестанет работать с меньшими допусками RAM, пространства жесткого диска и доступных ядер...
1. Зависимости от сборки:
Первая установка некоторые зависимости от сборки, начиная с очень последнего стабильного компилятора ржавчины:
wget -O - https://static.rust-lang.org/rustup.sh | sh
Затем более стандартная установка из Репозиториев Ubuntu:
sudo apt-get install autoconf2.13 libgtk-3-dev mercurial llvm-4.0 clang-4.0 \
libgconf2-dev libdbus-glib-1-dev libpulse-dev yasm build-essential libgtk2.0-dev \
libxt-dev
2. Клонируйте Репозиторий Разработки Firefox:
Рядом с клоном Firefox Подвижный репозиторий, сделайте себя чашкой чая, в то время как этот загружает:
cd $HOME && hg clone https://hg.mozilla.org/mozilla-central
3. Firefox сборки:
Наконец, чтобы создать сам исходный код, время для совсем другое дело и вероятно иметь тестовую систему, а также это займет очень долгое время для построения даже на самом быстром компьютере:
cd $HOME/mozilla-central && ./mach build
И когда это завершается, необходимо видеть это сообщение:
43:58.38 We know it took a while, but your build finally finished successfully!
To view resource usage of the build, run |mach resource-usage|.
To take your build for a test drive, run: |mach run|
, А также ссылка с несколькими подсказками на том, куда пойти затем...
4. Firefox выполнения:
теперь просто выполненный:
cd $HOME/mozilla-central && ./mach run
и Вы выполняете версию последнего достижения Firefox! можно теперь начать взламывать исходный код и если патчи в хорошем состоянии, можно затем отправить их и получить Вас работа, включенная в этот большой браузер.
5. Обновление источника:
необходимо периодически обновлять источник путем изменения на исходный каталог и обновления со стандартными подвижными командами репозитория. Следующая одна строка должна выполнить это для Вас:
cd $HOME/mozilla-central && hg pull && hg update
Вот стандартное обновление, работает на моей собственной системе:
andrew@ithaca:~/mozilla-central$ hg pull
pulling from https://hg.mozilla.org/mozilla-central
searching for changes
adding changesets
adding manifests
adding file changes
added 767 changesets with 4619 changes to 3590 files
(run 'hg update' to get a working copy)
andrew@ithaca:~/mozilla-central$ hg update
3581 files updated, 0 files merged, 141 files removed, 0 files unresolved
После этого необходимо перекомпилировать:
cd $HOME/mozilla-central && ./mach build
И возможно гуляют, в то время как это перекомпилировало :).
6. Бесплатный снимок экрана:
Ниже снимок экрана последней 'Ночной' работы моих 17,04 систем:
И помните: 'Развлекайтесь!!'
Примечания:
bootstrap.py
установщик работать так, инструкции для этого были даны вручную .