public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Michael D Kinney via groups.io" <michael.d.kinney=intel.com@groups.io>
To: "devel@edk2.groups.io" <devel@edk2.groups.io>,
	"osde@linux.microsoft.com" <osde@linux.microsoft.com>
Cc: "Kinney, Michael D" <michael.d.kinney@intel.com>
Subject: Re: [edk2-devel] Current State of Build Reproducibility in edk2
Date: Thu, 19 Jun 2025 00:21:49 +0000	[thread overview]
Message-ID: <CO1PR11MB4929DF2D4D1230309422B558D27DA@CO1PR11MB4929.namprd11.prod.outlook.com> (raw)
In-Reply-To: <7492707f-d532-4aaf-b65f-6093c77eaa81@linux.microsoft.com>

Should work for physical platform builds.

The OVMF and EmulatorPkg build may have some timestamps in them.

If the EmbeddedPkg VirtualRealTimeClockLib is used, then it pulls in system time 
in Linux builds.  I have a proposal to address this one queued up to support
both windows and linux and reproducible builds when needed.

[BuildOptions]
  GCC:*_*_*_CC_FLAGS = -DBUILD_EPOCH=`printenv SOURCE_DATE_EPOCH || date +%s`

The following is a good resource on this topic and all the
elements need to be tracked so issues do not get introduced.

	https://reproducible-builds.org/docs/

Mike

> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Oliver
> Smith-Denny via groups.io
> Sent: Wednesday, June 18, 2025 12:45 PM
> To: devel@edk2.groups.io
> Subject: [edk2-devel] Current State of Build Reproducibility in edk2
> 
> Hi,
> 
> What is the current state of build reproducibility in edk2?
> I saw some mail threads about it awhile back and have looked
> at this
> https://tianocore-docs.github.io/edk2-BuildSpecification/release-
> 1.28/12_build_changes_and_customizations/126_build_reproducibility.html#
> 126-build-reproducibility,
> which seems to claim that you can just do a RELEASE build with
> MDEPKG_NDEBUG set and get binary compatible builds.
> 
> However, when attempting that with a clean OVMF IA32X64 VS2022 RELEASE
> build at the same commit (and rebuilt basetools), I am getting
> significantly different FDs and FVs. The driver files are almost
> identical except for what I am assuming is a build identifier or
> timestamp.
> 
> Are there any additional resources or thoughts towards complete binary
> reproducible builds?
> 
> Thanks,
> Oliver
> 
> 
> 
> 



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#121424): https://edk2.groups.io/g/devel/message/121424
Mute This Topic: https://groups.io/mt/113714425/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



  reply	other threads:[~2025-06-19  0:22 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-06-18 19:44 [edk2-devel] Current State of Build Reproducibility in edk2 Oliver Smith-Denny via groups.io
2025-06-19  0:21 ` Michael D Kinney via groups.io [this message]
2025-06-19 16:53   ` Oliver Smith-Denny via groups.io
2025-06-24 14:57     ` Richard Lyu via groups.io
2025-06-27 15:22       ` Oliver Smith-Denny via groups.io

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CO1PR11MB4929DF2D4D1230309422B558D27DA@CO1PR11MB4929.namprd11.prod.outlook.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox