<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/poky.git/meta/classes/reproducible_build.bbclass, branch master</title>
<subtitle>Mirror of git.yoctoproject.org/poky</subtitle>
<id>https://git.enea.com/cgit/linux/poky.git/atom?h=master</id>
<link rel='self' href='https://git.enea.com/cgit/linux/poky.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/'/>
<updated>2021-10-16T16:41:59+00:00</updated>
<entry>
<title>reproducible: Merge code into base.bbclass</title>
<updated>2021-10-16T16:41:59+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2021-10-14T11:34:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=4b424bdfdbbe16b6e41f6cd1de75a51e3799cf94'/>
<id>urn:sha1:4b424bdfdbbe16b6e41f6cd1de75a51e3799cf94</id>
<content type='text'>
Reproducibility is here to stay and needs to be part of our default workflow.
Move the remaining code to base.bbclass so it is always a first class citizen
and it is clear people need to be mindful of it.

(From OE-Core rev: abb0671d2cebfd7e8df94796404bbe9c7f961058)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>reproducible: Move variable definitions to bitbake.conf</title>
<updated>2021-10-16T16:41:59+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2021-10-14T11:26:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=f47a396964c4de76838f8c59b8226625817aa369'/>
<id>urn:sha1:f47a396964c4de76838f8c59b8226625817aa369</id>
<content type='text'>
The reproducibility code was originally developed as separate
standalone class but development is no longer experimental and
the code is widely tested and used by default for poky. Reproducible
builds are the direction we need to take as a project.

Transition the core variable definitions to bitbake.conf as part of
a move to make these part of the default workflow.

This also helps reduce test matrix complexity as there is now one
code path.

(From OE-Core rev: f38a8de19550ae216575b5b39163666f74b07e2d)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>reproducible: Move class function code into library</title>
<updated>2021-10-16T16:41:59+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2021-10-14T11:17:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=a28891c779fa85818a1572abfa8450e5930c01ca'/>
<id>urn:sha1:a28891c779fa85818a1572abfa8450e5930c01ca</id>
<content type='text'>
To try and avoid parse/memory overhead of functions within bitbake,
move the bulk of the reproducibility functions to the function library.

(From OE-Core rev: f2fd1c9d75e774c8a5271cdc1ec6f65c4492f941)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>reproducible_build: Drop now unneeded compiler warning</title>
<updated>2021-10-16T16:41:59+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2021-10-13T17:00:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=4f8eec834a8f8686f37f418e43110f746df6f552'/>
<id>urn:sha1:4f8eec834a8f8686f37f418e43110f746df6f552</id>
<content type='text'>
We now pass compiler options that mean the compiler will adjust these values to
SOURCE_DATE_EPOCH, the compiler warnings are now unneeded.

(From OE-Core rev: 80afddd3ae862b125f674702aff6330e87d55338)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>reproducible_build: Drop obsolete sstate workaround</title>
<updated>2021-10-14T21:32:50+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2021-10-14T11:04:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=59d990ad09339c9ef2dd57876e9802791d60e39e'/>
<id>urn:sha1:59d990ad09339c9ef2dd57876e9802791d60e39e</id>
<content type='text'>
sstate has been sufficiently invalidated since this change was made, drop
the workaround now.

(From OE-Core rev: 7a497d8f30f21bafc78d0f22f3442a9cc99544cb)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>reproducible_build: Work around caching issues</title>
<updated>2021-10-04T14:03:54+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2021-10-03T19:12:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=80f2b56ad8c270269d9f7f65cc114d8f13f9dfbb'/>
<id>urn:sha1:80f2b56ad8c270269d9f7f65cc114d8f13f9dfbb</id>
<content type='text'>
SOURCE_DATE_EPOCH can be expanded early in the parsing process before
the class extensions are applied. This can mean the directory pointed
to for the SDE can be incorrect until later in parsing. Cache the file
name in the cached value and allow it to dynamically update.

This isn't ideal but avoding expansion of the variable likely isn't
possible and I'm not sure how else to handle this. This works around
the issue until a better solution can be found.

(From OE-Core rev: 44dc97cd1223e4d2b635669627ec5f796838d42d)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>reproducible_build/package_XXX: Ensure SDE task is in dependency chain</title>
<updated>2021-09-23T12:49:11+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2021-09-21T09:07:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=4aa4eadecb4e7c4158e9163644b3a2a7bc74c0fb'/>
<id>urn:sha1:4aa4eadecb4e7c4158e9163644b3a2a7bc74c0fb</id>
<content type='text'>
(From OE-Core rev: 938e4dfb68a465f61cb754b2cd28d0728616b5a9)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>reproducible_build: Remove BUILD_REPRODUCIBLE_BINARIES checking</title>
<updated>2021-09-11T21:39:19+00:00</updated>
<author>
<name>Mark Hatle</name>
<email>mark.hatle@xilinx.com</email>
</author>
<published>2021-09-10T02:22:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=88e643a8b75f7cc7e30c5212f8e08cc483249aa7'/>
<id>urn:sha1:88e643a8b75f7cc7e30c5212f8e08cc483249aa7</id>
<content type='text'>
Previously if BUILD_REPRODUCIBLE_BINARIES was set to 0, the system would
fall back and select the default epoch (April 2011), but still perform
the reproducible build actions.  This resulted in binaries that had an
unusually old date.

Simplify the functions and remove the anonymous python as no longer
necessary.

Also improve the documentation to better explain what the class is doing
and how a recipe can override the behavior if necessary.

(From OE-Core rev: 1976013b026cfba94de32a13e994d92d7e9e39e5)

Signed-off-by: Mark Hatle &lt;mark.hatle@xilinx.com&gt;
Signed-off-by: Mark Hatle &lt;mark.hatle@kernel.crashing.org&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>Convert to new override syntax</title>
<updated>2021-08-02T14:44:10+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2021-07-28T22:28:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=bb6ddc3691ab04162ec5fd69a2d5e7876713fd15'/>
<id>urn:sha1:bb6ddc3691ab04162ec5fd69a2d5e7876713fd15</id>
<content type='text'>
This is the result of automated script conversion:

scripts/contrib/convert-overrides.py &lt;oe-core directory&gt;

converting the metadata to use ":" as the override character instead of "_".

(From OE-Core rev: 42344347be29f0997cc2f7636d9603b1fe1875ae)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>classes/reproducible_build: Use atomic rename for SDE file</title>
<updated>2021-06-03T22:09:42+00:00</updated>
<author>
<name>Joshua Watt</name>
<email>JPEWhacker@gmail.com</email>
</author>
<published>2021-06-02T02:36:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=c78b8a87db50323846834729f72310d6ec95a39d'/>
<id>urn:sha1:c78b8a87db50323846834729f72310d6ec95a39d</id>
<content type='text'>
If an existing source date epoch file was found during do_unpack, it was
deleted and a new one would be written in its place. This causes a race
with check-before-use code in get_source_date_epoch_value. Resolve the
problem by making do_unpack write the new source date epoch to a
temporary file, then do an atomic rename to ensure it's always present,
and change the check-before-use code to use a EAFP exception instead of
checking for file existence.

[YOCTO #14384]

(From OE-Core rev: 0b5e3b33187bf78a2d62cc886463e4b27d6bd228)

Signed-off-by: Joshua Watt &lt;JPEWhacker@gmail.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
</feed>
