Создание Firefox из источника

Я просто хочу получить код, отредактировать некоторые вещи и построить его, просто так, почему это так сложно?

Я пробовал это руководство, которое, казалось, было тем, что мне нужно, но если вы см. оригинальное руководство, это совершенно другое и сложное, используя 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..

Я нахожусь в том же каталоге, я извлек файлы, источник там, мне не нужно менять какой-либо другой пакет, как я могу его создать?

2
задан 19 August 2017 в 14:49

3 ответа

Компиляция версии Firefox («Ночная») может быть выполнена с некоторой тщательной подготовкой. (Это лучшая версия для использования при создании исправлений и улучшений для «вверх по течению»). Обязательно выполнять такую ​​задачу вдали от производственной установки Ubuntu, и я бы очень сильно рекомендовал использовать виртуальную машину, предназначенную только для этой задачи.

Методика ниже была протестирована с Ubuntu Zesty Zerus 17.04 (работает в специальной виртуальной машине!), И было бы лучше всегда использовать самую современную версию Ubuntu для компиляции Firefox, поскольку используемые зависимости будут в большинстве своем вполне современными.

Примечание: для системы сборки требуется огромное количество оперативной памяти, а также очень большое количество дискового пространства. Я бы предложил 8 ГБ оперативной памяти, 30 ГБ свободного дискового пространства и столько ядер, сколько позволит ваша виртуальная машина, эта комбинация, безусловно, работала на моей системе. Примечание: система сборки не будет работать с меньшими разрешениями оперативной памяти, места на жестком диске и доступными ядрами ...

Примечание:

Сначала установите некоторые зависимости сборки, начиная с самого последнего стабильного компилятора ржавчины:

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 Mercurial сделайте себе чашку чая, пока он загружается:

cd $HOME && hg clone https://hg.mozilla.org/mozilla-central

2. Clone the Firefox Development Repository:

Наконец, чтобы создать исходный код, время для еще одной чашки чая и, вероятно, иметь сэндвич, а это займет очень много времени, чтобы опираться на четное самый быстрый компьютер:

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! очень рекомендую , и если ваши исправления до нуля, вы можете отправить их и заставить работать в этом великолепном браузере.

4. Запуск Firefox:

Вы должны периодически обновлять исходный код, меняя исходный каталог и обновляя стандартные команды меркуриального репозитория. Следующая строка должна выполнить это для вас:

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

После этого вы должны перекомпилировать: [!d27 ]

cd $HOME/mozilla-central && ./mach build

И, возможно, прогуляйтесь, пока это перекомпиляция :).

6. Бесплатный скриншот:

Ниже приведен снимок экрана «Ночной», работающий на моей системе 17.04:

ссылка с несколькими советами [!d32 ]

И помните: «Забавайтесь!»

6. Беспроигрышный снимок экрана:

Внесение изменений в базу кода Mozilla: начальные шаги по включению ваших патчей в базу кода Firefox ... Mozilla Firefox: подготовка к сборке Linux: хороший стартер для этого проекта, хотя потребовалось несколько изменений и дополнений. Я не мог заставить установщик bootstrap.py работать, поэтому инструкции для этого были даны вручную. Компилятор ржавчины в Ubuntu 17.04 был слишком старым, поэтому были даны инструкции по установке непосредственно с сайта ржавчины. Rust имеет 6-недельный цикл выпуска, поэтому это может быть лучшим вариантом для тех, кто предпочитает кровотечение. Некоторые примечания здесь ... Firefox Nightly: Более подробная информация о разработке и выпуске Firefox Nightly.
4
ответ дан 22 May 2018 в 19:17
  • 1
    Почему --no-check-certificate необходимо скачать static.rust-lang.org/rustup.sh ? wget, кажется, загружает его просто отлично без этой опции. – Eliah Kagan 24 August 2017 в 20:38
  • 2
    @EliahKagan То же самое для меня, но это необходимо на автоподписанных сертифицированных сайтах https, я считаю, что он сделал это для ухода. Андрей, будьте терпеливы, вчера я не смог завершить сборку из-за нехватки свободного места, потребовалось больше 4 ГБ, я делаю это снова сегодня, вскоре я приму свой ответ. – Tiago Pimenta 24 August 2017 в 23:59
  • 3
    @EliahKagan wget провалился без этой опции на моей новой виртуальной машине, я пропустил обновление сертификатов? – andrew.46 25 August 2017 в 00:37
  • 4
    @ andrew.46 Я подозреваю, но не знаю точно. Если вы обновляете пакеты на виртуальной машине, ошибка исчезнет? Я пробовал это на двух машинах, работающих на разных ОС (wget в Ubuntu и просто загружая их в Firefox в Windows) из разных интернет-подключений, и я не видел никаких ошибок или предупреждений. Если флаг --no-check-certificate не нужен, я думаю, что его нужно удалить, поскольку его присутствие в конвейере, который загружает и запускает сценарий оболочки, может быть проблемой безопасности для некоторых пользователей (человек в средних атаках) или в будущем - - и также может вызвать у людей беспокойство (как и я!). – Eliah Kagan 25 August 2017 в 01:45
  • 5
    @EliahKagan Достаточно честно, я удалил его ... – andrew.46 25 August 2017 в 02:54

Компиляция версии Firefox («Ночная») может быть выполнена с некоторой тщательной подготовкой. (Это лучшая версия для использования при создании исправлений и улучшений для «вверх по течению»). Обязательно выполнять такую ​​задачу вдали от производственной установки Ubuntu, и я бы очень сильно рекомендовал использовать виртуальную машину, предназначенную только для этой задачи.

Методика ниже была протестирована с Ubuntu Zesty Zerus 17.04 (работает в специальной виртуальной машине!), И было бы лучше всегда использовать самую современную версию Ubuntu для компиляции Firefox, поскольку используемые зависимости будут в большинстве своем вполне современными.

Примечание: для системы сборки требуется огромное количество оперативной памяти, а также очень большое количество дискового пространства. Я бы предложил 8 ГБ оперативной памяти, 30 ГБ свободного дискового пространства и столько ядер, сколько позволит ваша виртуальная машина, эта комбинация, безусловно, работала на моей системе. Примечание: система сборки не будет работать с меньшими разрешениями оперативной памяти, места на жестком диске и доступными ядрами ...

Примечание:

Сначала установите некоторые зависимости сборки, начиная с самого последнего стабильного компилятора ржавчины:

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 Mercurial сделайте себе чашку чая, пока он загружается:

cd $HOME && hg clone https://hg.mozilla.org/mozilla-central

2. Clone the Firefox Development Repository:

Наконец, чтобы создать исходный код, время для еще одной чашки чая и, вероятно, иметь сэндвич, а это займет очень много времени, чтобы опираться на четное самый быстрый компьютер:

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! очень рекомендую , и если ваши исправления до нуля, вы можете отправить их и заставить работать в этом великолепном браузере.

4. Запуск Firefox:

Вы должны периодически обновлять исходный код, меняя исходный каталог и обновляя стандартные команды меркуриального репозитория. Следующая строка должна выполнить это для вас:

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:

ссылка с несколькими советами

И помните: «Забавайтесь!»

6. Беспроигрышный снимок экрана:

Внесение изменений в базу кода Mozilla: начальные шаги по включению ваших патчей в базу кода Firefox ... Mozilla Firefox: подготовка к сборке Linux: хороший стартер для этого проекта, хотя потребовалось несколько изменений и дополнений. Я не мог заставить установщик bootstrap.py работать, поэтому инструкции для этого были даны вручную. Компилятор ржавчины в Ubuntu 17.04 был слишком старым, поэтому были даны инструкции по установке непосредственно с сайта ржавчины. Rust имеет 6-недельный цикл выпуска, поэтому это может быть лучшим вариантом для тех, кто предпочитает кровотечение. Некоторые примечания здесь ... Firefox Nightly: Более подробная информация о разработке и выпуске Firefox Nightly.
4
ответ дан 18 July 2018 в 08:16

Компиляция версии Firefox («Ночная») может быть выполнена с некоторой тщательной подготовкой. (Это лучшая версия для использования при создании исправлений и улучшений для «вверх по течению»). Обязательно выполнять такую ​​задачу вдали от производственной установки Ubuntu, и я бы очень сильно рекомендовал использовать виртуальную машину, предназначенную только для этой задачи.

Методика ниже была протестирована с Ubuntu Zesty Zerus 17.04 (работает в специальной виртуальной машине!), И было бы лучше всегда использовать самую современную версию Ubuntu для компиляции Firefox, поскольку используемые зависимости будут в большинстве своем вполне современными.

Примечание: для системы сборки требуется огромное количество оперативной памяти, а также очень большое количество дискового пространства. Я бы предложил 8 ГБ оперативной памяти, 30 ГБ свободного дискового пространства и столько ядер, сколько позволит ваша виртуальная машина, эта комбинация, безусловно, работала на моей системе. Примечание: система сборки не будет работать с меньшими разрешениями оперативной памяти, места на жестком диске и доступными ядрами ...

Примечание:

Сначала установите некоторые зависимости сборки, начиная с самого последнего стабильного компилятора ржавчины:

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 Mercurial сделайте себе чашку чая, пока он загружается:

cd $HOME && hg clone https://hg.mozilla.org/mozilla-central

2. Clone the Firefox Development Repository:

Наконец, чтобы создать исходный код, время для еще одной чашки чая и, вероятно, иметь сэндвич, а это займет очень много времени, чтобы опираться на четное самый быстрый компьютер:

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! очень рекомендую , и если ваши исправления до нуля, вы можете отправить их и заставить работать в этом великолепном браузере.

4. Запуск Firefox:

Вы должны периодически обновлять исходный код, меняя исходный каталог и обновляя стандартные команды меркуриального репозитория. Следующая строка должна выполнить это для вас:

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:

ссылка с несколькими советами

И помните: «Забавайтесь!»

6. Беспроигрышный снимок экрана:

Внесение изменений в базу кода Mozilla: начальные шаги по включению ваших патчей в базу кода Firefox ... Mozilla Firefox: подготовка к сборке Linux: хороший стартер для этого проекта, хотя потребовалось несколько изменений и дополнений. Я не мог заставить установщик bootstrap.py работать, поэтому инструкции для этого были даны вручную. Компилятор ржавчины в Ubuntu 17.04 был слишком старым, поэтому были даны инструкции по установке непосредственно с сайта ржавчины. Rust имеет 6-недельный цикл выпуска, поэтому это может быть лучшим вариантом для тех, кто предпочитает кровотечение. Некоторые примечания здесь ... Firefox Nightly: Более подробная информация о разработке и выпуске Firefox Nightly.
4
ответ дан 24 July 2018 в 19:03

Другие вопросы по тегам:

Похожие вопросы: