コードを取得し、いくつかのものを編集し、ビルドしたいだけなのですが、なぜそれがそんなに複雑なのでしょうか?
このガイド を試してみましたが、これは私が必要とするもののようですが、 元のガイド を見ると、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の開発バージョン(「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
次に、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リポジトリのクローンを作成するために、この1つをダウンロードしながらお茶を飲みます:
cd $HOME && hg clone https://hg.mozilla.org/mozilla-central
3。 Firefoxのビルド:
最後に、ソースコード自体をビルドするために、もう1杯のお茶を飲み、おそらくサンドイッチを用意します。これは、最速のコンピューターでもビルドするのに非常に長い時間がかかります。
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。ソースの更新:
ソースディレクトリに変更し、標準のMercurialリポジトリコマンドで更新することにより、ソースを定期的に更新する必要があります。次の1行でこれを実現できます。
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システムで実行されている最新の「Nightly」のスクリーンショットです。
そして、覚えておいてください:「楽しんでください!!」
注:
bootstrap.py
インストーラーを動作させることができなかったため、このための指示が手動で与えられました。