u-boot/doc/build/reproducible.rst
Simon Glass bfb708ad99 buildman: Add a flag for reproducible builds
This is quite a useful thing to use when building since it avoids small
size changes between commits. Add a -r flag for it.

Also undefine CONFIG_LOCALVERSION_AUTO since this appends the git hash
to the version string, causing every build to be slightly different.

Signed-off-by: Simon Glass <sjg@chromium.org>
2023-03-08 11:38:48 -08:00

27 lines
669 B
ReStructuredText

Reproducible builds
===================
In order to achieve reproducible builds, timestamps used in the U-Boot build
process have to be set to a fixed value.
This is done using the SOURCE_DATE_EPOCH environment variable which specifies
the number of seconds since 1970-01-01T00:00:00Z.
Example
-------
To build the sandbox with 2023-01-01T00:00:00Z as timestamp we can use:
.. code-block:: bash
make sandbox_defconfig
SOURCE_DATE_EPOCH=1672531200 make
This date is shown when we launch U-Boot:
.. code-block:: console
./u-boot -T
U-Boot 2023.01 (Jan 01 2023 - 00:00:00 +0000)
The same effect can be obtained with buildman using the `-r` flag.