[OE-core] [OE-Core][PATCH] rootfs: Make BUILDNAME a weak default in reproducible_build_simple
Peter Kjellerstedt
peter.kjellerstedt at axis.com
Fri Feb 7 16:27:18 UTC 2020
> -----Original Message-----
> From: openembedded-core-bounces at lists.openembedded.org <openembedded-core-
> bounces at lists.openembedded.org> On Behalf Of Alex Kiernan
> Sent: den 18 januari 2020 06:41
> To: openembedded-core at lists.openembedded.org
> Subject: [OE-core] [OE-Core][PATCH] rootfs: Make BUILDNAME a weak default
> in reproducible_build_simple
>
> 11e45082ad00 ("rootfs-postcommands.bbclass: improve binary
> reproducibility") fixed binary reproducibility of /etc/version, but with
> the move to reproducibilty in all builds, setting /etc/version to
> anything other than the default fixed timestamp is tricky because
> rootfs_reproducible() runs very late.
>
> rootfs.py uses BUILDNAME if set for /etc/version, so introduce a weak
> default for BUILDNAME of "REPRODUCIBLE_TIMESTAMP_ROOTFS", when enabling
> reproducible builds hence allowing BUILDNAME to be overridden elsewhere.
>
> Signed-off-by: Alex Kiernan <alex.kiernan at gmail.com>
> ---
>
> meta/classes/reproducible_build_simple.bbclass | 1 +
> meta/classes/rootfs-postcommands.bbclass | 5 -----
> 2 files changed, 1 insertion(+), 5 deletions(-)
>
> diff --git a/meta/classes/reproducible_build_simple.bbclass b/meta/classes/reproducible_build_simple.bbclass
> index d0842f0f902a..153a07607219 100644
> --- a/meta/classes/reproducible_build_simple.bbclass
> +++ b/meta/classes/reproducible_build_simple.bbclass
> @@ -7,5 +7,6 @@ export PERL_HASH_SEED = "0"
> export SOURCE_DATE_EPOCH ??= "1520598896"
>
> REPRODUCIBLE_TIMESTAMP_ROOTFS ??= "1520598896"
> +BUILDNAME ??= "${REPRODUCIBLE_TIMESTAMP_ROOTFS}"
Can we please revert this change? This breaks (all?) other usages
of ${BUILDNAME}. E.g., the information in tmp/buildstats is totally
useless now since all builds end up in the same directory
"tmp/buildstats/1520598896", overwriting each other...
>
> inherit podfix
> diff --git a/meta/classes/rootfs-postcommands.bbclass b/meta/classes/rootfs-postcommands.bbclass
> index fdc63bb64d55..ebf96be7e85f 100644
> --- a/meta/classes/rootfs-postcommands.bbclass
> +++ b/meta/classes/rootfs-postcommands.bbclass
> @@ -356,11 +356,6 @@ python rootfs_log_check_recommends() {
> # Perform any additional adjustments needed to make rootf binary reproducible
> rootfs_reproducible () {
> if [ "${REPRODUCIBLE_TIMESTAMP_ROOTFS}" != "" ]; then
> - # Convert UTC into %4Y%2m%2d%2H%2M%2S
> - sformatted=`date -u -d @${REPRODUCIBLE_TIMESTAMP_ROOTFS} +%4Y%2m%2d%2H%2M%2S`
> - echo $sformatted > ${IMAGE_ROOTFS}/etc/version
> - bbnote "rootfs_reproducible: set /etc/version to $sformatted"
> -
> if [ -d ${IMAGE_ROOTFS}${sysconfdir}/gconf ]; then
> find ${IMAGE_ROOTFS}${sysconfdir}/gconf -name '%gconf.xml' -print0 | xargs -0r \
> sed -i -e 's@\bmtime="[0-9][0-9]*"@mtime="'${REPRODUCIBLE_TIMESTAMP_ROOTFS}'"@g'
> --
> 2.17.1
//Peter
More information about the Openembedded-core
mailing list