Use the exact same source date string for all date invocations
Use -d instead of --date=
Fallback to -r and then to no argument
Some date implementations only support BSD -r instead of GNU -d /
--date= and others may not support any of them since neither option is
in POSIX.
For example, if zoneinfo is installed by chromebrew on ChromeOS, it
provides a date program that only supports -r and overrides the system
one (which supports -d) [1]:
Changes:
date
invocations-d
instead of--date=
-r
and then to no argumentSome
date
implementations only support BSD-r
instead of GNU-d
/--date=
and others may not support any of them since neither option is in POSIX.For example, if zoneinfo is installed by chromebrew on ChromeOS, it provides a date program that only supports
-r
and overrides the system one (which supports-d
) [1]:Environment: zoneinfo 2024a on ChromeOS M125.
Note: The changes are based on what is suggested by reproducible-builds.org [2].
Relates to #193.
Fixes #6403.
[1] https://github.com/netblue30/firejail/issues/6403#issue-2402292506 [2] https://reproducible-builds.org/docs/source-date-epoch/
Reported-by: @Zopolis4 Cc: @reinerh (from #193)