mirror of
https://git.yoctoproject.org/poky
synced 2026-06-03 01:40:07 +00: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
|
In order to avoid unnecessary differences in output files (aiding binary
|
||||||
reproducibility), the Poky distribution configuration
|
reproducibility), the Poky distribution configuration
|
||||||
(``DISTRO = "poky"``) now inherits the ``reproducible_build`` class by
|
(``DISTRO = "poky"``) now inherits the
|
||||||
default.
|
:ref:`reproducible-build <ref-classes-reproducible-build>` class
|
||||||
|
by default.
|
||||||
|
|
||||||
.. _migration-3.1-ptest-feature-impact:
|
.. _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
|
are created and stored in
|
||||||
``${``\ :term:`LOG_DIR`\ ``}/error-report``.
|
``${``\ :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:
|
.. _ref-classes-rm-work:
|
||||||
|
|
||||||
``rm_work.bbclass``
|
``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
|
You will see this variable referenced in the default values of
|
||||||
``FILES:${PN}-dev``.
|
``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`
|
:term:`SOURCE_MIRROR_FETCH`
|
||||||
When you are fetching files to create a mirror of sources (i.e.
|
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
|
creating a source mirror), setting :term:`SOURCE_MIRROR_FETCH` to "1" in
|
||||||
|
|||||||
Reference in New Issue
Block a user