再現性のあるビルド
表示
再現性のあるビルド(さいげんせいのあるビルド、英語: Reproducible builds、決定論的なビルド)とは、同じソースコードを用いてコンパイルした場合確実に同じバイナリデータを再現するビルド手法のことを指す。
再現性のあるビルドは、信頼の鎖の一部を構成する。再現性のあるビルドによりバイナリが信頼できるソースコードからコンパイルされたことを証明できる。
方法
[編集]再現性のあるビルドを実現するためには、使用するビルド環境に関係なく、コンパイラへ入力される情報が同じである必要がある。それには入力ファイルの順序、タイムスタンプ、ロケール、パスなど、変更される可能性のある変数の正規化が必要とされる。
また、コンパイラ自体が非決定論的な動作を用いてはならない。例えば、ランダムなハッシュシード値を持つハッシュテーブルを使用したり変数のアドレスを使用したりしてはならない。