[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