mirror of
https://git.yoctoproject.org/poky
synced 2026-05-30 12:29:55 +00:00
image-prelink.bbclass: support binary reproducibility
Conditionally support binary reproducibility in built images. If BUILD_REPRODUCIBLE_BINARIES = 1 then: 1. Do not randomize library addresses 2. Set/export PRELINK_TIMESTAMP to a reproducible value. If REPRODUCIBLE_TIMESTAMP_ROOTFS is specified, then the value will be used. Otherwise the timestamp will be derived from the top git commit. (From OE-Core rev: 40ce3db222f8557a01d041f8115d531cc90a54e8) Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
01d82ea619
commit
f3da1613c4
@@ -36,7 +36,17 @@ prelink_image () {
|
|||||||
dynamic_loader=$(linuxloader)
|
dynamic_loader=$(linuxloader)
|
||||||
|
|
||||||
# prelink!
|
# prelink!
|
||||||
${STAGING_SBINDIR_NATIVE}/prelink --root ${IMAGE_ROOTFS} -amR -N -c ${sysconfdir}/prelink.conf --dynamic-linker $dynamic_loader
|
if [ "$BUILD_REPRODUCIBLE_BINARIES" = "1" ]; then
|
||||||
|
bbnote " prelink: BUILD_REPRODUCIBLE_BINARIES..."
|
||||||
|
if [ "$REPRODUCIBLE_TIMESTAMP_ROOTFS" = "" ]; then
|
||||||
|
export PRELINK_TIMESTAMP=`git log -1 --pretty=%ct `
|
||||||
|
else
|
||||||
|
export PRELINK_TIMESTAMP=$REPRODUCIBLE_TIMESTAMP_ROOTFS
|
||||||
|
fi
|
||||||
|
${STAGING_SBINDIR_NATIVE}/prelink --root ${IMAGE_ROOTFS} -am -N -c ${sysconfdir}/prelink.conf --dynamic-linker $dynamic_loader
|
||||||
|
else
|
||||||
|
${STAGING_SBINDIR_NATIVE}/prelink --root ${IMAGE_ROOTFS} -amR -N -c ${sysconfdir}/prelink.conf --dynamic-linker $dynamic_loader
|
||||||
|
fi
|
||||||
|
|
||||||
# Remove the prelink.conf if we had to add it.
|
# Remove the prelink.conf if we had to add it.
|
||||||
if [ "$dummy_prelink_conf" = "true" ]; then
|
if [ "$dummy_prelink_conf" = "true" ]; then
|
||||||
|
|||||||
Reference in New Issue
Block a user