Browse Source

tde_create_tarball: Add options to ensure reproducibility.

Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
pull/34/head
Slávek Banko 2 years ago
parent
commit
6574bc5ae9
No known key found for this signature in database GPG Key ID: 608F5293A04BE668
  1. 16
      modules/TDEMacros.cmake

16
modules/TDEMacros.cmake

@ -1951,6 +1951,13 @@ macro( tde_create_tarball )
string( REGEX REPLACE "^([^\n]*)\n.*" "\\1" TAR_VERSION "${TAR_VERSION}" )
if( "${TAR_VERSION}" MATCHES "GNU *tar" )
set( TAR_SETOWNER "--owner=root;--group=root" )
set( TAR_REPRODUCIBLE "--pax-option=exthdr.name=%d/PaxHeaders/%f,delete=atime,delete=ctime" )
tde_read_src_metadata()
if( TDE_PKG_DATETIME )
list( APPEND TAR_REPRODUCIBLE --mtime "${TDE_PKG_DATETIME}" )
elseif( TDE_SCM_MODULE_DATETIME )
list( APPEND TAR_REPRODUCIBLE --mtime "${TDE_SCM_MODULE_DATETIME}" )
endif( )
elseif( "${TAR_VERSION}" MATCHES "bsd *tar" )
set( TAR_SETOWNER "--uname=root;--gname=root" )
else( )
@ -1963,9 +1970,9 @@ macro( tde_create_tarball )
endif( )
if( _compression )
if( "${_compression}" STREQUAL "gzip" )
set( _compression "-z" )
set( TAR_COMPRESSION "|" ${_compression} "-n" )
else( )
set( _compression "--use-compress-program=\"${_compression}\"" )
set( TAR_COMPRESSION "|" ${_compression} )
endif( )
endif( )
@ -1976,8 +1983,9 @@ macro( tde_create_tarball )
DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/${_target}" )
add_custom_command(
COMMAND ${TAR_EXECUTABLE} cf ${CMAKE_CURRENT_BINARY_DIR}/${_target}
${_compression} ${TAR_SETOWNER} -- ${_files}
COMMAND ${TAR_EXECUTABLE} cf -
${TAR_SETOWNER} ${TAR_REPRODUCIBLE} -- ${_files}
${TAR_COMPRESSION} > ${CMAKE_CURRENT_BINARY_DIR}/${_target}
WORKING_DIRECTORY "${_sourcedir}"
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${_target}"
DEPENDS ${_files_deps}

Loading…
Cancel
Save