douglas.royds@taitradio.com wrote:
On 17/11/18 11:42 AM, Howard Chu wrote:
douglas.royds@taitradio.com wrote:
URL: ftp://ftp.openldap.org/incoming/douglas-royds-181026.patch
This updated patch also sets the date and time strings to the SOURCE_DATE_EPOCH.
Are you intending a SOURCE_DATE_EPOCH to be a Unix time value? I.e., an integer? This value format needs to be documented.
Unfortunately, your use of date -d is nonportable, it appears that only the GNU tools understand this option. It will fail on other platforms like *BSD, Solaris, that aren't using a GNU userland.
Why can't you simply provide an already formatted date & time that can be used directly, instead of needing to be reformatted here?
URL: ftp://ftp.openldap.org/incoming/douglas-royds-181119.patch
Good point about BSD, my mistake. I have modified the patch to support BSD platforms as well, though I don't have access to a BSD platform to test it.
I have added a code comment with a link to the SOURCE_DATE_EPOCH specification: https://reproducible-builds.org/specs/source-date-epoch/
A more human-readable description and tips for its use can be found here: https://reproducible-builds.org/docs/source-date-epoch/
Thanks. According to this link, we shouldn't even need the date/time portion of this patch.
Under the section "Reading the Variable" we have
gcc (>= 7, Debian >= 5.3.1-17, Debian >= 6.1.1-1)
https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=e3e8c48c4a494d9da741c1c8ea...
I.e., gcc itself will set __DATE__ and __TIME__ accordingly if SOURCE_DATE_EPOCH is set.
I'm inclined to just tweak WHOWHERE and let gcc handle the rest.