[Pkg-pascal-devel] bits from the release team

Mazen Neifer mazen at debian.org
Sat Jun 27 15:47:20 BST 2026


Hi,
On Sat, 2026-06-27 at 12:49 +0200, Paul Gevers wrote:
> 
> Hi,
> On 27-06-2026 12:43, Paul Gevers wrote:
> > 
> > 
> > > 
> > > Lazarus's .chm files have never built reproducibly.
> > 
> 
> By the way, in 2017 and before things were reproducible occasionally.
> I recall I did spend time on getting it there.
> Paul

I've tried to investigate this issues and came to the following
conclusion based on multiple analysis about what is causing the non-
reproducibility in the lcl.chm build.

The Compiled HTML Help (CHM) generation process uses FPC's built-
in chmwriter.pas (which is compiled into the fpdoc utility). It has two
runtime calls to SysUtils.Now that embed timestamps into the binary:
   1. CHM Header: TITSFWriter.InitITSFHeader sets TimeStamp :=
      NToBE(MilliSecondOfTheDay(Now));
   2. System Stream: TChmWriter.WriteSYSTEM sets a metadata entry
      with FSection0.WriteDWord(NToLE(MilliSecondOfTheDay(Now)));

Because these calls use the system clock at runtime, the generated CHM
files differ byte-for-byte depending on the exact millisecond they are
built. Setting the SOURCE_DATE_EPOCH environment variable has no effect
because SysUtils.Now is a standard FPC runtime function and does not
read it.-- 
Cheers, Mazen Neifer Debian Developer

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-pascal-devel/attachments/20260627/a51e2778/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: This is a digitally signed message part
URL: <http://alioth-lists.debian.net/pipermail/pkg-pascal-devel/attachments/20260627/a51e2778/attachment-0001.sig>


More information about the Pkg-pascal-devel mailing list