If SOURCE_DATE_EPOCH is defined, use it for copyright year
authorNicolas Vigier <boklm@torproject.org>
Thu, 5 Mar 2020 19:39:05 +0000 (20:39 +0100)
committerMatt Caswell <matt@openssl.org>
Fri, 15 May 2020 10:45:53 +0000 (11:45 +0100)
Using the date from SOURCE_DATE_EPOCH instead of the current date makes
it possible to reproduce a build that was built on a different year:
https://reproducible-builds.org/specs/source-date-epoch/

This is fixing an issue we had while building Tor Browser:
https://trac.torproject.org/projects/tor/ticket/33535

CLA: trivial

Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Ben Kaduk <kaduk@mit.edu>
(Merged from https://github.com/openssl/openssl/pull/11296)

(cherry picked from commit 11d7d903447ab866d037fb8bba4ceb49c7d89191)

util/mkrc.pl

index 6762bc4a5698e085a099c4518381e37e2ba21632..ee61b9e5983b8ba00e129363b8ccd6da629ce809 100755 (executable)
@@ -46,7 +46,7 @@ if ( $filename =~ /openssl/i ) {
     $vft = "VFT_APP";
 }
 
-my $YEAR = [localtime()]->[5] + 1900;
+my $YEAR = [gmtime($ENV{SOURCE_DATE_EPOCH} || time())]->[5] + 1900;
 print <<___;
 #include <winver.h>