Feature request: honor SOURCE_DATE_EPOCH for the embedded gzip header mtime

22 views
Skip to first unread message

t.b.y....@foxmail.com

unread,
Aug 17, 2026, 9:43:00 PM (5 days ago) Aug 17
to inno...@googlegroups.com
Hi,

I searched the forum and the jrsoftware/issrc repository and did not find an existing request for this, so here it is.

Inno Setup writes the current wall-clock time into the gzip header mtime when compiling (ISCC). This makes installer builds non-reproducible: two builds of the same script minutes apart differ, and there is no way to force a fixed timestamp.

Git for Windows is working on reproducible builds and the installer is the only artifact that cannot be made byte-identical, solely because of this embedded compile-time mtime.

Could Inno Setup honor the standard SOURCE_DATE_EPOCH environment variable when present? When set, use it for the gzip header mtime (and, if trivial, for any other compile-time timestamps) instead of the current time.

Some background / precedent:

  • The MSYS2 project already treats SOURCE_DATE_EPOCH as the reproducibility convention for the toolchain (see msys2-tests toolchain/custom/test-reproducible).
  • Inno Setup already has reproducibility-friendly features: the [Files] notimestamp flag (mentioned in the 6.6.0 what's-new as helping to make builds reproducible) and the TimeStampsInUTC / TimeStampRounding / TouchDate / TouchTime directives. These control embedded file timestamps but not the gzip header compile-time mtime. Honoring SOURCE_DATE_EPOCH would close that last gap and align Inno Setup with the broader reproducible-builds ecosystem. Thanks!

Martijn Laan - Inno Setup

unread,
Aug 18, 2026, 12:26:10 AM (5 days ago) Aug 18
to inno...@googlegroups.com
Hi,

Op 17-8-2026 om 22:35 schreef t.b.y....@foxmail.com:
Inno Setup writes the current wall-clock time into the gzip header mtime when compiling (ISCC). This makes installer builds non-reproducible: two builds of the same script minutes apart differ, and there is no way to force a fixed timestamp.


Inno Setup doesn't write 'the current wall-clock time' into installers. It also has no gzip header.

So this 'last gap' you want to fix does not exist.

Greetings,
Martijn
Reply all
Reply to author
Forward
0 new messages