>> I definitely consider intercepting various syscalls by means of >> LD_PRELOADing more intrusive than setting a single environment >> variable that was invented for the purpose of setting timestamps. >> Just think of a new shiny syscall that might add a new source of >> non-reproducibility. > > I agree with Jonas. As a further argument, LD_PRELOAD is also > dependent on the platform; I think it wouldn't work on OSX, for > example.
'libfaketime' works on OSX, too. According to the documentation, you have to do export DYLD_FORCE_FLAT_NAMESPACE=1 export DYLD_INSERT_LIBRARIES=/path/to/libfaketime.1.dylib export FAKETIME="2020-12-24 00:00:00" My final conclusion is that 'libfaketime' offers a nice route to get reproducible builds with minimum effort. `SOURCE_DATE_EPOCH` fails miserably with gs, and making gs do what we want is hard, if not impossible, as discussed in a previous mail. If people want to work more on gs reproducibility issues, please do! I won't. Werner