[openjk] 17/19: Override __DATE__ to the date from the changelog, for reproducible builds

Simon McVittie smcv at debian.org
Sun Mar 20 21:48:45 UTC 2016


This is an automated email from the git hooks/post-receive script.

smcv pushed a commit to branch master
in repository openjk.

commit 06ed561698d41061f322d9e96b95393fa51d69a8
Author: Simon McVittie <smcv at debian.org>
Date:   Sun Mar 20 14:49:34 2016 +0000

    Override __DATE__ to the date from the changelog, for reproducible builds
---
 debian/changelog                                   |   1 +
 ...-to-be-overridden-for-reproducible-builds.patch | 180 +++++++++++++++++++++
 debian/patches/series                              |   1 +
 3 files changed, 182 insertions(+)

diff --git a/debian/changelog b/debian/changelog
index 5098efd..72ce76a 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -19,6 +19,7 @@ openjk (0~20160320+dfsg1-1) UNRELEASED; urgency=medium
     #741573) and the XPM icon that they used
   * Add documentation to the systemd units
   * Add experimental AppArmor profiles, initially in non-enforcing mode
+  * Override __DATE__ to the date from the changelog, for reproducible builds
 
  -- Simon McVittie <smcv at debian.org>  Fri, 22 Jan 2016 11:09:04 +0000
 
diff --git a/debian/patches/Allow-__DATE__-to-be-overridden-for-reproducible-builds.patch b/debian/patches/Allow-__DATE__-to-be-overridden-for-reproducible-builds.patch
new file mode 100644
index 0000000..57f4d63
--- /dev/null
+++ b/debian/patches/Allow-__DATE__-to-be-overridden-for-reproducible-builds.patch
@@ -0,0 +1,180 @@
+From: Simon McVittie <smcv at debian.org>
+Date: Sun, 20 Mar 2016 16:27:52 +0000
+Subject: Allow __DATE__ to be overridden, for reproducible builds
+
+---
+ CMakeLists.txt            | 9 +++++++++
+ code/game/g_main.cpp      | 4 ++--
+ code/qcommon/common.cpp   | 4 ++--
+ code/qcommon/q_shared.h   | 4 ++++
+ codeJK2/game/g_main.cpp   | 4 ++--
+ codemp/game/g_main.c      | 2 +-
+ codemp/game/g_xcvar.h     | 2 +-
+ codemp/qcommon/common.cpp | 4 ++--
+ codemp/qcommon/q_shared.h | 4 ++++
+ 9 files changed, 27 insertions(+), 10 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 2e4e11b..6203e7d 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -298,6 +298,15 @@ if(BuildPortableVersion)
+ 	set(SharedDefines ${SharedDefines} "_PORTABLE_VERSION")
+ endif()
+ 
++# https://reproducible-builds.org/specs/source-date-epoch/
++if (NOT ("$ENV{SOURCE_DATE_EPOCH}" STREQUAL ""))
++	execute_process(COMMAND "date"
++		"--date=$ENV{SOURCE_DATE_EPOCH}" "+%b %_d %Y"
++		OUTPUT_VARIABLE source_date
++		ERROR_QUIET
++		OUTPUT_STRIP_TRAILING_WHITESPACE)
++	set(SharedDefines ${SharedDefines} "SOURCE_DATE=\"${source_date}\"")
++endif()
+ 
+ 
+ 
+diff --git a/code/game/g_main.cpp b/code/game/g_main.cpp
+index 7e10680..4de8b7b 100644
+--- a/code/game/g_main.cpp
++++ b/code/game/g_main.cpp
+@@ -604,7 +604,7 @@ void G_InitCvars( void ) {
+ 
+ 	// noset vars
+ 	gi.cvar( "gamename", GAMEVERSION , CVAR_SERVERINFO | CVAR_ROM );
+-	gi.cvar( "gamedate", __DATE__ , CVAR_ROM );
++	gi.cvar( "gamedate", SOURCE_DATE , CVAR_ROM );
+ 	g_skippingcin = gi.cvar ("skippingCinematic", "0", CVAR_ROM);
+ 
+ 	// latched vars
+@@ -721,7 +721,7 @@ void InitGame(  const char *mapname, const char *spawntarget, int checkSum, cons
+ 
+ 	gi.Printf ("------- Game Initialization -------\n");
+ 	gi.Printf ("gamename: %s\n", GAMEVERSION);
+-	gi.Printf ("gamedate: %s\n", __DATE__);
++	gi.Printf ("gamedate: %s\n", SOURCE_DATE);
+ 
+ 	srand( randomSeed );
+ 
+diff --git a/code/qcommon/common.cpp b/code/qcommon/common.cpp
+index 6c15818..60e8be8 100644
+--- a/code/qcommon/common.cpp
++++ b/code/qcommon/common.cpp
+@@ -1049,7 +1049,7 @@ Com_Init
+ void Com_Init( char *commandLine ) {
+ 	char	*s;
+ 
+-	Com_Printf( "%s %s %s\n", Q3_VERSION, PLATFORM_STRING, __DATE__ );
++	Com_Printf( "%s %s %s\n", Q3_VERSION, PLATFORM_STRING, SOURCE_DATE );
+ 
+ 	try {
+ 		Com_InitZoneMemory();
+@@ -1125,7 +1125,7 @@ void Com_Init( char *commandLine ) {
+ 			Cmd_AddCommand ("freeze", Com_Freeze_f);
+ 		}
+ 
+-		s = va("%s %s %s", Q3_VERSION, PLATFORM_STRING, __DATE__ );
++		s = va("%s %s %s", Q3_VERSION, PLATFORM_STRING, SOURCE_DATE );
+ 		com_version = Cvar_Get ("version", s, CVAR_ROM | CVAR_SERVERINFO );
+ 
+ #ifdef JK2_MODE
+diff --git a/code/qcommon/q_shared.h b/code/qcommon/q_shared.h
+index e01f657..769d0d2 100644
+--- a/code/qcommon/q_shared.h
++++ b/code/qcommon/q_shared.h
+@@ -76,6 +76,10 @@ along with this program; if not, see <http://www.gnu.org/licenses/>.
+ #define HOMEPATH_NAME_MACOSX HOMEPATH_NAME_WIN
+ #endif
+ 
++#ifndef SOURCE_DATE
++#define SOURCE_DATE __DATE__
++#endif
++
+ #define	BASEGAME "base"
+ #define OPENJKGAME "OpenJK"
+ 
+diff --git a/codeJK2/game/g_main.cpp b/codeJK2/game/g_main.cpp
+index 2fc693c..3e18ad2 100644
+--- a/codeJK2/game/g_main.cpp
++++ b/codeJK2/game/g_main.cpp
+@@ -546,7 +546,7 @@ void G_InitCvars( void ) {
+ 
+ 	// noset vars
+ 	gi.cvar( "gamename", GAMEVERSION , CVAR_SERVERINFO | CVAR_ROM );
+-	gi.cvar( "gamedate", __DATE__ , CVAR_ROM );
++	gi.cvar( "gamedate", SOURCE_DATE , CVAR_ROM );
+ 	g_skippingcin = gi.cvar ("skippingCinematic", "0", CVAR_ROM);
+ 
+ 	// latched vars
+@@ -608,7 +608,7 @@ void InitGame(  const char *mapname, const char *spawntarget, int checkSum, cons
+ 
+ 	gi.Printf ("------- Game Initialization -------\n");
+ 	gi.Printf ("gamename: %s\n", GAMEVERSION);
+-	gi.Printf ("gamedate: %s\n", __DATE__);
++	gi.Printf ("gamedate: %s\n", SOURCE_DATE);
+ 
+ 	srand( randomSeed );
+ 
+diff --git a/codemp/game/g_main.c b/codemp/game/g_main.c
+index e2a3e6b..f70f6e1 100644
+--- a/codemp/game/g_main.c
++++ b/codemp/game/g_main.c
+@@ -193,7 +193,7 @@ void G_InitGame( int levelTime, int randomSeed, int restart ) {
+ 
+ 	trap->Print ("------- Game Initialization -------\n");
+ 	trap->Print ("gamename: %s\n", GAMEVERSION);
+-	trap->Print ("gamedate: %s\n", __DATE__);
++	trap->Print ("gamedate: %s\n", SOURCE_DATE);
+ 
+ 	srand( randomSeed );
+ 
+diff --git a/codemp/game/g_xcvar.h b/codemp/game/g_xcvar.h
+index ea1761c..ff0588b 100644
+--- a/codemp/game/g_xcvar.h
++++ b/codemp/game/g_xcvar.h
+@@ -165,7 +165,7 @@ XCVAR_DEF( g_voteDelay,					"3000",			NULL,				CVAR_NONE,										qfalse )
+ XCVAR_DEF( g_warmup,					"20",			NULL,				CVAR_ARCHIVE,									qtrue )
+ XCVAR_DEF( g_weaponDisable,				"0",			NULL,				CVAR_SERVERINFO|CVAR_ARCHIVE|CVAR_LATCH,		qtrue )
+ XCVAR_DEF( g_weaponRespawn,				"5",			NULL,				CVAR_NONE,										qtrue )
+-XCVAR_DEF( gamedate,					__DATE__,		NULL,				CVAR_ROM,										qfalse )
++XCVAR_DEF( gamedate,					SOURCE_DATE,		NULL,				CVAR_ROM,										qfalse )
+ XCVAR_DEF( gamename,					GAMEVERSION,	NULL,				CVAR_SERVERINFO|CVAR_ROM,						qfalse )
+ XCVAR_DEF( pmove_fixed,					"0",			NULL,				CVAR_SYSTEMINFO|CVAR_ARCHIVE,					qtrue )
+ XCVAR_DEF( pmove_float,					"0",			NULL,				CVAR_SYSTEMINFO|CVAR_ARCHIVE,					qtrue )
+diff --git a/codemp/qcommon/common.cpp b/codemp/qcommon/common.cpp
+index 92b1b46..88cc2d2 100644
+--- a/codemp/qcommon/common.cpp
++++ b/codemp/qcommon/common.cpp
+@@ -1125,7 +1125,7 @@ void Com_Init( char *commandLine ) {
+ 	char	*s;
+ 	int		qport;
+ 
+-	Com_Printf( "%s %s %s\n", JK_VERSION, PLATFORM_STRING, __DATE__ );
++	Com_Printf( "%s %s %s\n", JK_VERSION, PLATFORM_STRING, SOURCE_DATE );
+ 
+ 	try
+ 	{
+@@ -1240,7 +1240,7 @@ void Com_Init( char *commandLine ) {
+ 
+ 		com_bootlogo = Cvar_Get( "com_bootlogo", "1", CVAR_ARCHIVE);
+ 
+-		s = va("%s %s %s", JK_VERSION_OLD, PLATFORM_STRING, __DATE__ );
++		s = va("%s %s %s", JK_VERSION_OLD, PLATFORM_STRING, SOURCE_DATE );
+ 		com_version = Cvar_Get ("version", s, CVAR_ROM | CVAR_SERVERINFO );
+ 
+ 		SE_Init();
+diff --git a/codemp/qcommon/q_shared.h b/codemp/qcommon/q_shared.h
+index 4b6e1da..1ab8859 100644
+--- a/codemp/qcommon/q_shared.h
++++ b/codemp/qcommon/q_shared.h
+@@ -29,6 +29,10 @@ along with this program; if not, see <http://www.gnu.org/licenses/>.
+ 
+ #define PRODUCT_NAME			"openjk"
+ 
++#ifndef SOURCE_DATE
++#define SOURCE_DATE __DATE__
++#endif
++
+ #define CLIENT_WINDOW_TITLE "OpenJK (MP)"
+ #define CLIENT_CONSOLE_TITLE "OpenJK Console (MP)"
+ #define HOMEPATH_NAME_UNIX "openjk"
diff --git a/debian/patches/series b/debian/patches/series
index 099564e..9ade172 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1,3 @@
 g_utils-disarm-debug-code-that-writes-to-c-nofreeent.patch
 Fix-a-typo-in-Siege-mode-attemtping-attempting.patch
+Allow-__DATE__-to-be-overridden-for-reproducible-builds.patch

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/openjk.git



More information about the Pkg-games-commits mailing list