From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7353602520359370752 X-Received: by 2002:a17:90a:3042:b0:2a3:10d3:239d with SMTP id q2-20020a17090a304200b002a310d3239dmr22908pjl.32.1712678172285; Tue, 09 Apr 2024 08:56:12 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a17:90a:8c6:b0:2a2:937e:f959 with SMTP id 6-20020a17090a08c600b002a2937ef959ls2928059pjn.2.-pod-prod-09-us; Tue, 09 Apr 2024 08:56:11 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEJ11lDOZr0kvpOOtZ3jQ/VFh+C2YkdXvKjk+geFn7kTT6oyTEmF8/owuwffXfVXVsWxxq3 X-Received: by 2002:a17:90a:d910:b0:2a4:6a31:600c with SMTP id c16-20020a17090ad91000b002a46a31600cmr42318pjv.14.1712678170639; Tue, 09 Apr 2024 08:56:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1712678170; cv=none; d=google.com; s=arc-20160816; b=YgaQvu4Zy7cjjidxuHYC8r5q+FD/Hay0RJS1ZnupRrG+Vs2DY2gl/6JZ0OF7/6XdlD KF1tHbpfXIKiKGSfHwu/bApUoT5NY5IuiiRRqpiswl1qf0Md3BotT2OocH0GRt4Wx+bg MCWxagtEzzuAXiZ+wnqUeF1vcjIzPRMsNxFbPQg5rZvJxvoEl7Yw8hxH2p+RV89okucW uN+Gw6OojFlwLo57gBduvfq+GW+4j/WF8rwzjlH01l0OwQ9zatnO1GqKEa1tkKe0ysyW 6xpmidkk37Uqh6XgwM1kKTG3Hwu53MvfJNronRQdUBgBnlYto261xo7UMRQowhOGZT8x Xf4A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=feedback-id:content-transfer-encoding:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:dkim-signature; bh=ilQMryfxvzUvG4DkYfuoXCHe2z5Q+t43t3HIp4OQ/kI=; fh=WkhL8kaJc+l2wQon1t06Ej3uvBGj9sVhNcE8PaS/XbI=; b=XklFiJLRX0wi/95UVk1uwTwS17rZ4CueqsUkIFPjl0BDPNo5m2DU4I44Lz/D0jN0fi JbSyLd4x7hjZTm/fgUuSBsSsrQuuK9w3mVQZ1LWDjfY6lEaeCJEZqHIp0aqWFDG/skc6 RTc73WvXU7GSbW/pfITVe+MgFCy8/CRv5sFJC7pDaU55tMRMKNmo5KI6mimcBUByS6kS CZzEJFc6ig0L+voCmbsPlwhc4c7Qlj01YZyGCcErYU4WZKVUaTVqsbzzjhSpgt3DfPee 05n7X3vH3jkKbOKtxz+J6PGVrgsTlNhF+QOkQwriV1xI3Vtpg4kDCl8pimcWiLj6SATT McBA==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=Knjflh69; spf=pass (google.com: domain of fm-1321639-202404091556085e5053408d64d9c91c-mm_jwi@rts-flowmailer.siemens.com designates 185.136.64.228 as permitted sender) smtp.mailfrom=fm-1321639-202404091556085e5053408d64d9c91c-MM_JwI@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Return-Path: Received: from mta-64-228.siemens.flowmailer.net (mta-64-228.siemens.flowmailer.net. [185.136.64.228]) by gmr-mx.google.com with ESMTPS id mu11-20020a17090b388b00b002a5aaa7bd84si12525pjb.0.2024.04.09.08.56.10 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 09 Apr 2024 08:56:10 -0700 (PDT) Received-SPF: pass (google.com: domain of fm-1321639-202404091556085e5053408d64d9c91c-mm_jwi@rts-flowmailer.siemens.com designates 185.136.64.228 as permitted sender) client-ip=185.136.64.228; Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=Knjflh69; spf=pass (google.com: domain of fm-1321639-202404091556085e5053408d64d9c91c-mm_jwi@rts-flowmailer.siemens.com designates 185.136.64.228 as permitted sender) smtp.mailfrom=fm-1321639-202404091556085e5053408d64d9c91c-MM_JwI@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: by mta-64-228.siemens.flowmailer.net with ESMTPSA id 202404091556085e5053408d64d9c91c for ; Tue, 09 Apr 2024 17:56:08 +0200 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; s=fm1; d=siemens.com; i=felix.moessbauer@siemens.com; h=Date:From:Subject:To:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:Cc:References:In-Reply-To; bh=ilQMryfxvzUvG4DkYfuoXCHe2z5Q+t43t3HIp4OQ/kI=; b=Knjflh69Cr96Ca8CFvOSWaAcFxzKjOOmuRv9uiPG2S2+DuC3WJG18OvUCnFdmb8lkBA9MJ kmMb8LEJc3Ioo1wwbS+Zc4Yxo5W2lEct29GV15LjrxkdsoIIchdPu4z0lnuZ/G3opTbksIAP vue+PYRYRzh54fa6fs0H6EhaYdB6w=; From: Felix Moessbauer To: isar-users@googlegroups.com Cc: jan.kiszka@siemens.com, quirin.gylstorff@siemens.com, Felix Moessbauer Subject: [PATCH v3 4/5] change the proposed interface to set the SDE Date: Tue, 9 Apr 2024 17:55:48 +0200 Message-Id: <20240409155549.826454-5-felix.moessbauer@siemens.com> In-Reply-To: <20240409155549.826454-1-felix.moessbauer@siemens.com> References: <20240409155549.826454-1-felix.moessbauer@siemens.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-1321639:519-21489:flowmailer X-TUID: TXc5nX5MQbzC To align the handling of source timestamps with OE, we propose to not set the SOURCE_DATE_EPOCH variable directly, but via `SOURCE_DATE_EPOCH_FALLBACK`. By that, we internally can use heuristics to better estimate the value of the SDE, while still having a global fallback if it cannot be estimated otherwise. Please note, that change is backwards compatible. You can still set the SOURCE_DATE_EPOCH variable directly and get the same behavior as before. This patch also updates the reproducibility test according to the new interface. Signed-off-by: Felix Moessbauer --- RECIPE-API-CHANGELOG.md | 6 ++++++ doc/user_manual.md | 1 + testsuite/cibuilder.py | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/RECIPE-API-CHANGELOG.md b/RECIPE-API-CHANGELOG.md index e6861523..4afe8b16 100644 --- a/RECIPE-API-CHANGELOG.md +++ b/RECIPE-API-CHANGELOG.md @@ -589,3 +589,9 @@ compilation for a user-provided module when building it for a distro kernel. To build against a distributions snapshot mirror, set `ISAR_USE_APT_SNAPSHOT="1"`. The mirror to use is specified in `DISTRO_APT_SNAPSHOT_PREMIRROR` and usually pre-defined in the distro config. + +### Use OE interface to set timestamp for reproducible builds + +The `SOURCE_DATE_EPOCH` (SDE) should not be set globally, but on a per-recipe basis +and to meaningful values. As a global fallback, set the `SOURCE_DATE_EPOCH_FALLBACK` +bitbake variable to the desired unix timestamp. diff --git a/doc/user_manual.md b/doc/user_manual.md index 70741968..b12c7692 100644 --- a/doc/user_manual.md +++ b/doc/user_manual.md @@ -425,6 +425,7 @@ Some other variables include: - `IMAGE_INSTALL` - The list of custom packages to build and install to target image, please refer to relative chapter for more information. - `BB_NUMBER_THREADS` - The number of `bitbake` jobs that can be run in parallel. Please set this option according to your host CPU cores number. + - `SOURCE_DATE_EPOCH_FALLBACK` - The unix timestamp passed to all tooling to make the results reproducible. This variable is optional. - `HOST_DISTRO` - The distro to use for SDK root filesystem. This variable is optional. - `HOST_ARCH` - The Debian architecture of SDK root filesystem (e.g., `amd64`). By default set to current Debian host architecture. This variable is optional. - `HOST_DISTRO_APT_SOURCES` - List of apt source files for SDK root filesystem. This variable is optional. diff --git a/testsuite/cibuilder.py b/testsuite/cibuilder.py index fa30c2f5..7e69dafe 100755 --- a/testsuite/cibuilder.py +++ b/testsuite/cibuilder.py @@ -159,7 +159,7 @@ class CIBuilder(Test): f.write('USE_CCACHE = "1"\n') f.write('CCACHE_TOP_DIR = "%s"\n' % ccache_dir) if source_date_epoch: - f.write('SOURCE_DATE_EPOCH = "%s"\n' % source_date_epoch) + f.write('SOURCE_DATE_EPOCH_FALLBACK = "%s"\n' % source_date_epoch) if dl_dir: f.write('DL_DIR = "%s"\n' % dl_dir) if sstate_dir: -- 2.39.2