Skip to content
Latchkey

SOURCE_DATE_EPOCH とは何か?

SOURCE_DATE_EPOCH は、build ツールが現在時刻の代わりに使う Unix timestamp を運ぶ、広く採用された環境変数です。設定されると、準拠するコンパイラ、archiver、packager はその固定値を埋め込むため、出力は build を実行した時刻によって変わりません。これは reproducible-builds の取り組みの中核的な慣例です。

なぜ重要か

多くのツールはデフォルトで出力にシステム時計を刻印し、それが再現性を静かに壊します。SOURCE_DATE_EPOCH を尊重すれば、代わりに使うべき唯一の正規の時刻が与えられます。CI で commit 時刻などソース由来の値に設定すると、artifact は runner をまたいでバイト単位で同一になります。これは再現可能な build に向けた最も安価なステップの 1 つです。

関連ガイド