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 6 months ago
parent
commit
6574bc5ae9
No known key found for this signature in database GPG Key ID: 608F5293A04BE668
1 changed files with 12 additions and 4 deletions
  1. +12
    -4
      modules/TDEMacros.cmake

+ 12
- 4
modules/TDEMacros.cmake View File

@@ -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