Tia*_*nta 3 configuration package-management dpkg compiling
我只想得到代码,编辑一些东西,然后构建它,就这样,为什么它这么复杂?
我尝试了这个似乎是我需要的指南,但是如果您看到原始指南,它是完全不同且复杂的,使用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
Run Code Online (Sandbox Code Playgroud)
它似乎取决于很多语言环境并不断批评该消息debian/build/rules.mk:366: *** We aren't in the full source directory. Please use "TARBALL=<path_to_orig.tar.bzr>". Stop.
。
我在提取文件的同一目录中,源在那里,我现在不需要更改任何其他包,我该如何构建它?
编译 Firefox 的开发版本('Nightly')可以通过一些仔细的准备来完成。(这是为“上游”制作补丁和改进时使用的最佳版本)。必须在远离 Ubuntu 生产安装的地方执行这样的任务,我强烈建议使用专用于此任务的虚拟机。
下面的技术已使用 Ubuntu Zesty Zerus 17.04(在专用虚拟机中运行!)进行测试,最好始终使用最现代的 Ubuntu 版本来编译 Firefox,因为所使用的依赖项在很大程度上将非常现代。我没有修改无穷无尽的构建选项,但您可以在自己的构建中自由地这样做!
注意:构建系统需要大量 RAM 以及大量磁盘空间。我建议 8GB RAM、30GB 可用磁盘空间和 VM 允许的尽可能多的内核,这种组合肯定适用于我的系统。注意:构建系统将因 RAM、HDD 空间和可用内核的余量较小而失败...
1. 构建依赖:
首先安装一些构建依赖项,从最新的稳定 Rust 编译器开始:
wget -O - https://static.rust-lang.org/rustup.sh | sh
Run Code Online (Sandbox Code Playgroud)
然后从 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
Run Code Online (Sandbox Code Playgroud)
2. 克隆 Firefox 开发库:
接下来要克隆 Firefox Mercurial 存储库,请在下载此存储库时给自己喝杯茶:
cd $HOME && hg clone https://hg.mozilla.org/mozilla-central
Run Code Online (Sandbox Code Playgroud)
3. 构建火狐:
最后构建源代码本身,再喝一杯茶,可能还有一个三明治,即使在最快的计算机上构建也需要很长时间:
cd $HOME/mozilla-central && ./mach build
Run Code Online (Sandbox Code Playgroud)
完成后,您应该会看到以下消息:
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|
Run Code Online (Sandbox Code Playgroud)
4. 运行火狐:
现在只需运行:
cd $HOME/mozilla-central && ./mach run
Run Code Online (Sandbox Code Playgroud)
并且您正在运行最新的 Firefox 开发版本!您现在可以开始破解源代码,如果您的补丁符合标准,您就可以提交它们并让您的工作包含在这个出色的浏览器中。
5.更新源:
您应该通过更改源目录并使用标准 mercurial 存储库命令进行更新来定期更新源。以下一行应该为您完成此操作:
cd $HOME/mozilla-central && hg pull && hg update
Run Code Online (Sandbox Code Playgroud)
这是在我自己的系统上运行的标准更新:
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
Run Code Online (Sandbox Code Playgroud)
在此之后,您应该重新编译:
cd $HOME/mozilla-central && ./mach build
Run Code Online (Sandbox Code Playgroud)
也许在重新编译时走一走:)。
6.免费截图:
下面是在我的 17.04 系统上运行的最新“Nightly”的屏幕截图:
并记住:“玩得开心!!”
笔记:
bootstrap.py
安装程序工作,因此手动给出了相关说明。 归档时间: |
|
查看次数: |
2323 次 |
最近记录: |