[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