Archive build script: fix compatibility with older tar on CentOS 7

On CentOS 7, `tar --use-compress-program='xz -9'` tries to run `xz -9` as
executable, rather than running `xz` with `-9` as argument. Passing the
`-9` option via the `XZ_OPT` environment variable, as suggested by
@campbellbarton in D6138, works fine.
This commit is contained in:
Sybren A. Stüvel 2019-11-29 10:35:19 +01:00
parent 9e168b63b4
commit ae13bba24e
1 changed files with 4 additions and 1 deletions

View File

@ -49,11 +49,14 @@ try:
if not os.path.exists(output_dir):
os.mkdir(output_dir)
archive_env = os.environ.copy()
if extension == 'zip':
archive_cmd = ['zip', '-9', '-r', package_archive, package_dir]
elif extension == 'tar.xz':
archive_cmd = ['tar', '-cf', package_archive, '--owner=0', '--group=0',
'--use-compress-program=xz -9', package_dir]
'--use-compress-program=xz', package_dir]
archive_env['XZ_OPT'] = '-9'
else:
sys.stderr.write('Unknown archive extension: ' + extension)
sys.exit(-1)