Closed ashie closed 2 years ago
参考: 最近のlibrsvgもRustに置き換わっているが、librsvgのCOMPILIG.mdにオフラインビルドについての言及がある。
Yoctoの方はBB_NO_NETWORK=1
でオフライン化できる。
meta-rustでもこれを見てoffline
オプションを切り替えられるようになっていると良いかも。
cargoのダウンロード先は meta-rust/classes/cargo_common.bbclass の export CARGO_HOME = "${WORKDIR}/cargo_home"
でセットされている。
すみません、今更ですが、もしかして依頼の仕方が間違っていた気がしてきました。 (1) 普通にオンラインでビルドする。 (2) build ディレクトリの下の cache や tmp を削除する。 (3) BB_NO_NETWORK=1 に設定し、更に物理的にネットワークから切断する。 (4) GStreamer のオフラインビルド用の変更を行い、再度ビルドする。 これでビルドが通ったため、その後の oss_packages を Gecko のオフラインビルド環境として提供できるのではないかと VLP 担当者より連絡がありました。 これまでの ahie さんの調査状況を拝見しますとそう簡単にはいかないように思え、ここに何か差異がありそうなのですが…
sstate-cacheの方も削除されていますか?あるいは残されていますか?
はい、sstate-cache も削除しております。
以前に ashieさんの方で試されたオフラインビルドも、上記と同じやり方でしたでしょうか。
(4) GStreamer のオフラインビルド用の変更を行い、再度ビルドする。
というのはよくわかりませんが、
BB_NO_NETWORK=1
を設定、物理的にもネットワークを遮断というところは同じかと思います。 以前に試したときにはこれでビルドできていなかったと思いますが、ちょっと今はまだ試せてません
情報ありがとうございます、手順は同じかと思います。不思議…。
(4) GStreamer のオフラインビルド用の変更を行い、再度ビルドする。
GStreamer がオフラインビルドで失敗することはご存知と思いますが、それの対策としてビルド前に各 .gitmodules の url の内容を手動で変更しています。本件には関係なさそうですが...
当面必要性がないと判断し一旦 close
Cargoがつい最近までオフラインビルドに対応していなかったため、オンラインでしかビルドできなかった。 Cargoについては https://github.com/rust-lang/cargo/commit/309eb874fdd6636317927645b6a504389fac8a66#diff-9a700b7a7dcf88f0eb41583a366c9d61 でstableチャネルでもオフラインに対応したので、設定次第ではオフライン対応できるだろうか?
ただしstage0で使うプレビルドのcargoもオフライン対応させないと、完全なオフライン化はできないかもしれない。