Use the source package date or the source git repository date

instead of the current build date. The use of a stable date
is necessary to achieve reproducible builds.

Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
(cherry picked from commit 589e29d020)
v3.5.13-sru
Slávek Banko 5 years ago
parent 70ee060ff7
commit c838406b19
No known key found for this signature in database
GPG Key ID: 608F5293A04BE668

@ -86,6 +86,9 @@ if( NOT TDE_FOUND )
set( KDE3_DCOPIDLNG_EXECUTABLE env KDECONFIG=${KDECONFIG_EXECUTABLE} ${KDE3_DCOPIDLNG_EXECUTABLE}
CACHE INTERNAL "dcopidlng executable" FORCE )
# read source metadata
tde_read_src_metadata()
message( STATUS " found 'TDE', version ${TDE_VERSION}" )
endif( NOT TDE_FOUND )

@ -102,6 +102,47 @@ macro( tde_execute_process )
endmacro( tde_execute_process )
################################################
#####
##### tde_read_src_metadata
macro( tde_read_src_metadata )
# look for SCM data if present
if( EXISTS "${CMAKE_SOURCE_DIR}/.tdescminfo" )
file( READ "${CMAKE_SOURCE_DIR}/.tdescminfo" TDE_SCM_INFO )
string( REGEX MATCH "(^|\n)Name: ([^\n]*)" TDE_SCM_MODULE_NAME "${TDE_SCM_INFO}" )
string( REGEX REPLACE "^[^:]*: " "" TDE_SCM_MODULE_NAME "${TDE_SCM_MODULE_NAME}" )
string( REGEX MATCH "(^|\n)Revision: ([^\n]*)" TDE_SCM_MODULE_REVISION "${TDE_SCM_INFO}" )
string( REGEX REPLACE "^[^:]*: " "" TDE_SCM_MODULE_REVISION "${TDE_SCM_MODULE_REVISION}" )
string( REGEX MATCH "(^|\n)DateTime: ([^\n]*)" TDE_SCM_MODULE_DATETIME "${TDE_SCM_INFO}" )
string( REGEX REPLACE "^[^:]*: " "" TDE_SCM_MODULE_DATETIME "${TDE_SCM_MODULE_DATETIME}" )
else( )
if( EXISTS "${CMAKE_SOURCE_DIR}/.tdescmmodule" )
file( STRINGS "${CMAKE_SOURCE_DIR}/.tdescmmodule" TDE_SCM_MODULE_NAME )
endif( EXISTS "${CMAKE_SOURCE_DIR}/.tdescmmodule" )
if( EXISTS "${CMAKE_SOURCE_DIR}/.tdescmrevision" )
file( STRINGS "${CMAKE_SOURCE_DIR}/.tdescmrevision" TDE_SCM_MODULE_REVISION )
endif( EXISTS "${CMAKE_SOURCE_DIR}/.tdescmrevision" )
endif( )
# look for package data if present
if( EXISTS "${CMAKE_SOURCE_DIR}/.tdepkginfo" )
file( READ "${CMAKE_SOURCE_DIR}/.tdepkginfo" TDE_PKG_INFO )
endif( )
if( EXISTS "${CMAKE_BINARY_DIR}/.tdepkginfo" )
file( READ "${CMAKE_BINARY_DIR}/.tdepkginfo" TDE_PKG_INFO )
endif( )
if( TDE_PKG_INFO )
string( REGEX MATCH "(^|\n)Name: ([^\n]*)" TDE_PKG_NAME "${TDE_PKG_INFO}" )
string( REGEX REPLACE "^[^:]*: " "" TDE_PKG_NAME "${TDE_PKG_NAME}" )
string( REGEX MATCH "(^|\n)Version: ([^\n]*)" TDE_PKG_REVISION "${TDE_PKG_INFO}" )
string( REGEX REPLACE "^[^:]*: " "" TDE_PKG_VERSION "${TDE_PKG_VERSION}" )
string( REGEX MATCH "(^|\n)DateTime: ([^\n]*)" TDE_PKG_DATETIME "${TDE_PKG_INFO}" )
string( REGEX REPLACE "^[^:]*: " "" TDE_PKG_DATETIME "${TDE_PKG_DATETIME}" )
endif( )
endmacro( tde_read_src_metadata )
if( DEFINED MASTER_SOURCE_DIR )
return( )
endif( )
@ -865,6 +906,22 @@ macro( tde_add_kpart _target )
endmacro( tde_add_kpart )
#################################################
#####
##### tde_curdatetime
macro( tde_curdatetime result )
if( TDE_PKG_DATETIME )
set( ${result} ${TDE_PKG_DATETIME} )
elseif( TDE_SCM_MODULE_DATETIME )
set( ${result} ${TDE_SCM_MODULE_DATETIME} )
else( )
tde_execute_process( COMMAND "date" "+%m/%d/%Y %H:%M:%S" OUTPUT_VARIABLE ${result} )
string( REGEX REPLACE "(..)/(..)/(....) (........).*" "\\1/\\2/\\3 \\4" ${result} ${${result}} )
endif( )
endmacro( tde_curdatetime )
#################################################
#####
##### tde_add_executable

Loading…
Cancel
Save