Bugzilla – Bug 1194202
binutils-mingw PE executables/dlls are not reproducible (Timestamp in header)
Last modified: 2022-12-21 16:10:49 UTC
PE images have a timestamp in the header: https://blog.beuc.net/posts/Practical_basics_of_reproducible_builds_2/ Debian has some patches to use SOURCE_DATE_EPOCH instead of the current time: https://salsa.debian.org/mingw-w64-team/binutils-mingw-w64/-/blob/master/debian/patches/specify-timestamp.patch
I have done some patches with -Wl,--no-insert-timestamp in the past for efi, ipxe and wine-related stuff, but I just remembered that we have a whole OBS project for building w32 and w64 binaries and those could profit from toolchain patches. I think for .dll files, the value has some significance, so using SOURCE_DATE_EPOCH there is better than -Wl,--no-insert-timestamp
Wine itself (i.e. its native dlls) is now also built as PE libraries (instead of ELF + stub dlls). Thus large parts of Wine are no longer reproducible.
wine never was reproducible because of bug 1137320