This service is available only in Japanese-language.

レシピ、ソースコードの固定化

Yoctoで生成したディストリビューションを製品適用する場合、
使用しているOSSのライセンスに従い、ソースコードを公開する必要があります。

マニフェストファイルやレシピ、ソースコードは常に更新されているため、
環境構築やbitbakeを行うタイミングで変化する考えでおります。

各ビルドマシンで全く同じ環境で開発を行うにはリビジョンを固定する必要があると考えています。
質問なのですが、マニフェストやレシピ、ソースコードを固定した開発を行う場合、どのようにすればよいのでしょうか。

まず確認ですが「マニフェスト」と記載があるのですが、repoツールを使用していますでしょうか?

その場合、おなじマニフェストファイルを使用している限りレシピ/ソースコードは固定化されます。
BSPが更新され違うマニフェストを使用することになった際にはレシピ/ソースコードが更新される可能性があります。

repoツールを使用していない場合に使用するレシピ/ソースコードを固定化したい場合ですが、
bitbake実行時に下記のような表示があるかと思います

Build Configuration:
BB_VERSION = "2.0.0"
BUILD_SYS = "x86_64-linux"
NATIVELSBSTRING = "universal"
TARGET_SYS = "aarch64-poky-linux"
MACHINE = "qemuarm64"
DISTRO = "poky"
DISTRO_VERSION = "4.0.16"
TUNE_FEATURES = "aarch64 armv8a crc cortexa57"
TARGET_FPU = ""
meta
meta-poky
meta-yocto-bsp = "kirkstone:0b39955d14600257a6eafc211fd68a933c69a0e9"  ★コレ

このハッシュ値が使用しているレシピを管理しているリポジトリのリビジョンとなりますので

git checkout 0b39955d14600257a6eafc211fd68a933c69a0e9 のようにしていただくとその時の環境が再現できるかと思います。

>まず確認ですが「マニフェスト」と記載があるのですが、repoツールを使用していますでしょうか?
はい、使用しております。

>その場合、おなじマニフェストファイルを使用している限りレシピ/ソースコードは固定化されます。
>BSPが更新され違うマニフェストを使用することになった際にはレシピ/ソースコードが更新される可能性があります。
同じマニフェストファイルを各マシンで使用すればレシピ/ソースコードは固定化されること承知しました。

git上のBSPに不具合修正が入った場合(変更A)は、マニフェストファイルの変更も発生する認識です。
この場合、変更Aを取得するために、マニフェストファイルも変える必要があり、
変更A以外の変更も受け入れざるを得ない理解で合っているでしょうか。

これを避ける場合は、自前でgitサーバーを運用する方法が一般的なのでしょうか。
その他、手段があればご教示いただけますと幸いです。