mirror of
https://git.yoctoproject.org/poky
synced 2026-04-05 08:02:25 +02:00
ref-manual: document "reproducible_build" class and SOURCE_DATE_EPOCH
(From yocto-docs rev: ab6d3dbf57cac560b9b142cf5becf11d3edf09b7) Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
d03d151093
commit
9bdb2db854
@@ -55,8 +55,9 @@ Reproducible builds now enabled by default
|
||||
|
||||
In order to avoid unnecessary differences in output files (aiding binary
|
||||
reproducibility), the Poky distribution configuration
|
||||
(``DISTRO = "poky"``) now inherits the ``reproducible_build`` class by
|
||||
default.
|
||||
(``DISTRO = "poky"``) now inherits the
|
||||
:ref:`reproducible-build <ref-classes-reproducible-build>` class
|
||||
by default.
|
||||
|
||||
.. _migration-3.1-ptest-feature-impact:
|
||||
|
||||
|
||||
@@ -2209,6 +2209,18 @@ commit, and log. From the information, report files using a JSON format
|
||||
are created and stored in
|
||||
``${``\ :term:`LOG_DIR`\ ``}/error-report``.
|
||||
|
||||
.. _ref-classes-reproducible-build:
|
||||
|
||||
``reproducible_build.bbclass``
|
||||
==============================
|
||||
|
||||
The ``reproducible_build.bbclass`` class enables
|
||||
:ref:`test-manual/reproducible-builds:reproducible builds` by computing
|
||||
a :term:`SOURCE_DATE_EPOCH` value in each component's build environment, so
|
||||
that the build is independent from the time when the component was built.
|
||||
|
||||
Poky inherits this class by default since version 3.1.
|
||||
|
||||
.. _ref-classes-rm-work:
|
||||
|
||||
``rm_work.bbclass``
|
||||
|
||||
@@ -6938,6 +6938,23 @@ system and gives an overview of their function and contents.
|
||||
You will see this variable referenced in the default values of
|
||||
``FILES:${PN}-dev``.
|
||||
|
||||
:term:`SOURCE_DATE_EPOCH`
|
||||
This defines a date expressed in number of seconds since
|
||||
the UNIX EPOCH (01 Jan 1970 00:00:00 UTC), which is used by
|
||||
multiple build systems to force a timestamp in built binaries.
|
||||
Many upstream projects already support this variable.
|
||||
|
||||
You will find more details in the `official specifications
|
||||
<https://reproducible-builds.org/specs/source-date-epoch/>`__.
|
||||
|
||||
A value for each recipe is computed from the sources by
|
||||
the :ref:`reproducible-build <ref-classes-reproducible-build>` class.
|
||||
|
||||
If a recipe wishes to override the default behavior, it should set its
|
||||
own :term:`SOURCE_DATE_EPOCH` value::
|
||||
|
||||
SOURCE_DATE_EPOCH = "1613559011"
|
||||
|
||||
:term:`SOURCE_MIRROR_FETCH`
|
||||
When you are fetching files to create a mirror of sources (i.e.
|
||||
creating a source mirror), setting :term:`SOURCE_MIRROR_FETCH` to "1" in
|
||||
|
||||
Reference in New Issue
Block a user