Skip to content

Commit

Permalink
Merge pull request #225 from smcv/reproducible-date
Browse files Browse the repository at this point in the history
Pick up date from SOURCE_DATE_EPOCH, for reproducible builds
  • Loading branch information
timangus committed Sep 27, 2016
2 parents 5a33abe + 9c76b54 commit cce2466
Show file tree
Hide file tree
Showing 5 changed files with 14 additions and 5 deletions.
5 changes: 5 additions & 0 deletions Makefile
Expand Up @@ -1098,6 +1098,11 @@ else
STRIP_FLAG = -s
endif

# https://reproducible-builds.org/specs/source-date-epoch/
ifdef SOURCE_DATE_EPOCH
BASE_CFLAGS += -DPRODUCT_DATE=\\\"$(shell date --date="@$$SOURCE_DATE_EPOCH" "+%b %_d %Y" | sed -e 's/ /\\\ /'g)\\\"

This comment has been minimized.

Copy link
@lamby

lamby Sep 27, 2016

This is missing --utc and LC_DATE=C or LC_ALL=C due to the use of %b.

endif

BASE_CFLAGS += -DPRODUCT_VERSION=\\\"$(VERSION)\\\"
BASE_CFLAGS += -Wformat=2 -Wno-format-zero-length -Wformat-security -Wno-format-nonliteral
BASE_CFLAGS += -Wstrict-aliasing=2 -Wmissing-format-attribute
Expand Down
4 changes: 2 additions & 2 deletions code/game/g_main.c
Expand Up @@ -101,7 +101,7 @@ static cvarTable_t gameCvarTable[] = {

// noset vars
{ NULL, "gamename", GAMEVERSION , CVAR_SERVERINFO | CVAR_ROM, 0, qfalse },
{ NULL, "gamedate", __DATE__ , CVAR_ROM, 0, qfalse },
{ NULL, "gamedate", PRODUCT_DATE , CVAR_ROM, 0, qfalse },
{ &g_restarted, "g_restarted", "0", CVAR_ROM, 0, qfalse },

// latched vars
Expand Down Expand Up @@ -408,7 +408,7 @@ void G_InitGame( int levelTime, int randomSeed, int restart ) {

G_Printf ("------- Game Initialization -------\n");
G_Printf ("gamename: %s\n", GAMEVERSION);
G_Printf ("gamedate: %s\n", __DATE__);
G_Printf ("gamedate: %s\n", PRODUCT_DATE);

srand( randomSeed );

Expand Down
4 changes: 2 additions & 2 deletions code/qcommon/common.c
Expand Up @@ -2639,7 +2639,7 @@ void Com_Init( char *commandLine ) {
char *s;
int qport;

Com_Printf( "%s %s %s\n", Q3_VERSION, PLATFORM_STRING, __DATE__ );
Com_Printf( "%s %s %s\n", Q3_VERSION, PLATFORM_STRING, PRODUCT_DATE );

if ( setjmp (abortframe) ) {
Sys_Error ("Error during initialization");
Expand Down Expand Up @@ -2760,7 +2760,7 @@ void Com_Init( char *commandLine ) {
com_introPlayed = Cvar_Get( "com_introplayed", "0", CVAR_ARCHIVE);
#endif

s = va("%s %s %s", Q3_VERSION, PLATFORM_STRING, __DATE__ );
s = va("%s %s %s", Q3_VERSION, PLATFORM_STRING, PRODUCT_DATE );
com_version = Cvar_Get ("version", s, CVAR_ROM | CVAR_SERVERINFO );
com_gamename = Cvar_Get("com_gamename", GAMENAME_FOR_MASTER, CVAR_SERVERINFO | CVAR_INIT);
com_protocol = Cvar_Get("com_protocol", va("%i", PROTOCOL_VERSION), CVAR_SERVERINFO | CVAR_INIT);
Expand Down
4 changes: 4 additions & 0 deletions code/qcommon/q_shared.h
Expand Up @@ -70,6 +70,10 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#define PRODUCT_VERSION "1.36"
#endif

#ifndef PRODUCT_DATE
# define PRODUCT_DATE __DATE__
#endif

#define Q3_VERSION PRODUCT_NAME " " PRODUCT_VERSION

#define MAX_TEAMNAME 32
Expand Down
2 changes: 1 addition & 1 deletion code/sys/sys_main.c
Expand Up @@ -553,7 +553,7 @@ void Sys_ParseArgs( int argc, char **argv )
if( !strcmp( argv[1], "--version" ) ||
!strcmp( argv[1], "-v" ) )
{
const char* date = __DATE__;
const char* date = PRODUCT_DATE;
#ifdef DEDICATED
fprintf( stdout, Q3_VERSION " dedicated server (%s)\n", date );
#else
Expand Down

0 comments on commit cce2466

Please sign in to comment.