[pacman-dev] [PATCH] pactest: set package tar format to GNU_FORMAT

Allan McRae allan at archlinux.org
Tue Nov 12 06:19:30 UTC 2019


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 at archlinux.org>
---

This patch at least gets us back to where we were with python-3.7.
We probably have heaps more issues with UTF-8 usage...

 test/pacman/pmpkg.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/test/pacman/pmpkg.py b/test/pacman/pmpkg.py
index 6a845222..e40868cc 100644
--- a/test/pacman/pmpkg.py
+++ b/test/pacman/pmpkg.py
@@ -142,7 +142,7 @@ def makepkg(self, path):
         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)
-- 
2.24.0


More information about the pacman-dev mailing list