Browse Source

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>
pull/32/head
Slávek Banko 6 months ago
parent
commit
589e29d020
No known key found for this signature in database GPG Key ID: 608F5293A04BE668
2 changed files with 55 additions and 9 deletions
  1. +2
    -7
      modules/FindTDE.cmake
  2. +53
    -2
      modules/TDEMacros.cmake

+ 2
- 7
modules/FindTDE.cmake View File

@@ -89,13 +89,8 @@ if( NOT TDE_FOUND )
set( KDE3_DCOPIDLNG_EXECUTABLE env KDECONFIG=${KDECONFIG_EXECUTABLE} ${KDE3_DCOPIDLNG_EXECUTABLE}
CACHE INTERNAL "dcopidlng executable" FORCE )

# look for SCM data if present
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" )
# read source metadata
tde_read_src_metadata()

message( STATUS " found 'TDE', version ${TDE_VERSION}" )



+ 53
- 2
modules/TDEMacros.cmake View File

@@ -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( )
@@ -942,9 +983,16 @@ endmacro( tde_add_kpart )
#################################################
#####
##### tde_curdatetime

macro( tde_curdatetime result )
tde_execute_process( COMMAND "date" "+%m/%d/%Y %H:%M:%S" OUTPUT_VARIABLE ${result} )
string( REGEX REPLACE "(..)/(..)/(....) (........).*" "\\1/\\2/\\3 \\4" ${result} ${${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 )


@@ -978,6 +1026,9 @@ macro( tde_add_executable _arg_target )
# default metadata
set( _product "Trinity Desktop Environment" )
set( _version "${TDE_VERSION}" )
if( TDE_PKG_VERSION )
set( _version "${_version} (${TDE_PKG_VERSION})" )
endif( )
tde_curdatetime( _datetime )

foreach( _arg ${ARGV} )


Loading…
Cancel
Save