improve portability of reproducible tarballs by replacing external tar command with tarfile module from Python standard library#4660
Conversation
…o filetools.reproducible_archive_cmd
73b39e2 to
d0a55ba
Compare
--date argument for touch command used in reproducible tarballs
…eate archives of git repos
…_archive addition
--date argument for touch command used in reproducible tarballs|
@boegel This one is ready. As discussed, archives will be made with |
…syBuild version 6.0
tar command with tarfile module
|
@lexming We need to make sure that |
|
TODO here:
|
|
@boegel this is ready on my side, summary of the final behaviour:
This means that existing easyconfigs with We can migrate existing easyconfigs to |
…it_config source tarballs when using Python < 3.9
…rted filenames and extensions in make_archive
tar command with tarfile moduletar command with tarfile module from Python standard library
fixes #4657
use more portable--dateargument fortouchcatch failed commands inside the pipelinemove generation of command to make reproducible archives intro its own methodreplace harcoded pattern in tests of reproducible archives command for call tofiletools.reproducible_archive_cmdaddrequiredargument tofiletools.find_extensions()reproducible_archive_cmdusing thetarfilemodulefiletools.make_archive()method and related unit testfilenameargument infiletools.get_source_tarball_from_git()to allow any extension and pass it tomake_archive()make_archive()now supports uncompressed tarballs and compressed tarballs in GZIP, BZIP2 and XZmake_archive()can create reproducible tarballs in.taror.tar.gzformat