pactest: set package tar format to GNU_FORMAT

python-3.8 changed the default tar format to PAX_FORMAT. This caused
issues in our testsuite with package extraction of files with UTF-8
characters as we run the tests under the C locale.

sycn600.py:
error: error while reading package /tmp/pactest-xuhri4xa/var/cache/pacman/pkg/unicodechars-2.0-1.pkg.tar.gz: Pathname can't be converted from UTF-8 to current locale.

Set format back to GNU_FORMAT.

Signed-off-by: Allan McRae <allan@archlinux.org>
This commit is contained in:
Allan McRae 2019-11-12 16:14:57 +10:00
parent 540b19164b
commit b9faf65273

View file

@ -142,7 +142,7 @@ class pmpkg(object):
util.mkdir(os.path.dirname(self.path))
# Generate package metadata
tar = tarfile.open(self.path, "w:gz")
tar = tarfile.open(self.path, "w:gz", format=tarfile.GNU_FORMAT)
for name, data in archive_files:
info = tarfile.TarInfo(name)
info.size = len(data)