tde_create_tarball: Add options to ensure reproducibility.

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

@ -1807,6 +1807,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( )
@ -1819,9 +1826,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( )
@ -1832,8 +1839,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