From a0b4c0dd4e799c68021c4760d775613fe7b64598 Mon Sep 17 00:00:00 2001 From: "A. Wilcox" Date: Sun, 20 Feb 2022 17:59:31 -0600 Subject: system/libarchive: Update to 3.6.0, multiple fixes * Remove seek-error.patch The reason for this patch was fixed in upstream MR 1076. Now we can have sparse file support! * Disable/skip Japanese and Russian locale tests. musl iconv doesn't support multidirectional KOI8R/Shift-JIS. We disable these tests, and finally enable the libarchive test suite. --- system/libarchive/disable-locale-tests.patch | 570 +++++++++++++++++++++++++++ 1 file changed, 570 insertions(+) create mode 100644 system/libarchive/disable-locale-tests.patch (limited to 'system/libarchive/disable-locale-tests.patch') diff --git a/system/libarchive/disable-locale-tests.patch b/system/libarchive/disable-locale-tests.patch new file mode 100644 index 000000000..885490c95 --- /dev/null +++ b/system/libarchive/disable-locale-tests.patch @@ -0,0 +1,570 @@ +--- libarchive-3.6.0/libarchive/test/test_gnutar_filename_encoding.c.old 2022-02-09 06:24:12.000000000 -0600 ++++ libarchive-3.6.0/libarchive/test/test_gnutar_filename_encoding.c 2022-02-20 17:08:38.820000000 -0600 +@@ -75,7 +75,7 @@ + char buff[4096]; + size_t used; + +- if (NULL == setlocale(LC_ALL, "ru_RU.KOI8-R")) { ++ if (1) { + skipping("KOI8-R locale not available on this system."); + return; + } +@@ -116,7 +116,7 @@ + char buff[4096]; + size_t used; + +- if (NULL == setlocale(LC_ALL, "ru_RU.KOI8-R")) { ++ if (1) { + skipping("KOI8-R locale not available on this system."); + return; + } +@@ -157,8 +157,7 @@ + char buff[4096]; + size_t used; + +- if (NULL == setlocale(LC_ALL, "Russian_Russia") && +- NULL == setlocale(LC_ALL, "ru_RU.CP1251")) { ++ if (1) { + skipping("KOI8-R locale not available on this system."); + return; + } +@@ -242,7 +241,7 @@ + char buff[4096]; + size_t used; + +- if (NULL == setlocale(LC_ALL, "Russian_Russia")) { ++ if (1) { + skipping("Russian_Russia locale not available on this system."); + return; + } +@@ -277,7 +276,7 @@ + char buff[4096]; + size_t used; + +- if (NULL == setlocale(LC_ALL, "ja_JP.eucJP")) { ++ if (1) { + skipping("eucJP locale not available on this system."); + return; + } +@@ -357,8 +356,7 @@ + char buff[4096]; + size_t used; + +- if (NULL == setlocale(LC_ALL, "Japanese_Japan") && +- NULL == setlocale(LC_ALL, "ja_JP.SJIS")) { ++ if (1) { + skipping("CP932/SJIS locale not available on this system."); + return; + } +--- libarchive-3.6.0/libarchive/test/test_pax_filename_encoding.c.old 2022-02-09 06:24:12.000000000 -0600 ++++ libarchive-3.6.0/libarchive/test/test_pax_filename_encoding.c 2022-02-20 17:09:41.050000000 -0600 +@@ -342,7 +342,7 @@ + char buff[4096]; + size_t used; + +- if (NULL == setlocale(LC_ALL, "ru_RU.KOI8-R")) { ++ if (1) { + skipping("KOI8-R locale not available on this system."); + return; + } +@@ -388,8 +388,7 @@ + char buff[4096]; + size_t used; + +- if (NULL == setlocale(LC_ALL, "Russian_Russia") && +- NULL == setlocale(LC_ALL, "ru_RU.CP1251")) { ++ if (1) { + skipping("KOI8-R locale not available on this system."); + return; + } +@@ -435,7 +434,7 @@ + char buff[4096]; + size_t used; + +- if (NULL == setlocale(LC_ALL, "ja_JP.eucJP")) { ++ if (1) { + skipping("eucJP locale not available on this system."); + return; + } +@@ -482,8 +481,7 @@ + char buff[4096]; + size_t used; + +- if (NULL == setlocale(LC_ALL, "Japanese_Japan") && +- NULL == setlocale(LC_ALL, "ja_JP.SJIS")) { ++ if (1) { + skipping("eucJP locale not available on this system."); + return; + } +--- libarchive-3.6.0/libarchive/test/test_read_format_cpio_filename.c.old 2022-02-09 06:24:12.000000000 -0600 ++++ libarchive-3.6.0/libarchive/test/test_read_format_cpio_filename.c 2022-02-20 17:16:18.580000000 -0600 +@@ -91,7 +91,7 @@ + /* + * Read UTF-8 filename in ja_JP.eucJP with "hdrcharset=UTF-8" option. + */ +- if (NULL == setlocale(LC_ALL, "ja_JP.eucJP")) { ++ if (1) { + skipping("ja_JP.eucJP locale not available on this system."); + return; + } +@@ -191,8 +191,7 @@ + /* + * Read CP866 filename in ru_RU.KOI8-R with "hdrcharset=CP866" option. + */ +- if (NULL == setlocale(LC_ALL, "Russian_Russia.20866") && +- NULL == setlocale(LC_ALL, "ru_RU.KOI8-R")) { ++ if (1) { + skipping("ru_RU.KOI8-R locale not available on this system."); + return; + } +@@ -296,8 +295,7 @@ + /* + * Read KOI8-R filename in ru_RU.CP866 with "hdrcharset=KOI8-R" option. + */ +- if (NULL == setlocale(LC_ALL, "Russian_Russia.866") && +- NULL == setlocale(LC_ALL, "ru_RU.CP866")) { ++ if (1) { + skipping("ru_RU.CP866 locale not available on this system."); + return; + } +@@ -401,8 +399,7 @@ + /* + * Read UTF-8 filename in ru_RU.KOI8-R with "hdrcharset=UTF-8" option. + */ +- if (NULL == setlocale(LC_ALL, "Russian_Russia.20866") && +- NULL == setlocale(LC_ALL, "ru_RU.KOI8-R")) { ++ if (1) { + skipping("ru_RU.KOI8-R locale not available on this system."); + return; + } +@@ -454,8 +451,7 @@ + /* + * Read UTF-8 filename in ru_RU.CP866 with "hdrcharset=UTF-8" option. + */ +- if (NULL == setlocale(LC_ALL, "Russian_Russia.866") && +- NULL == setlocale(LC_ALL, "ru_RU.CP866")) { ++ if (1) { + skipping("ru_RU.CP866 locale not available on this system."); + return; + } +@@ -553,8 +549,7 @@ + /* + * Read eucJP filename in CP932/SJIS with "hdrcharset=eucJP" option. + */ +- if (NULL == setlocale(LC_ALL, "Japanese_Japan") && +- NULL == setlocale(LC_ALL, "ja_JP.SJIS")) { ++ if (1) { + skipping("CP932 locale not available on this system."); + return; + } +@@ -604,8 +599,7 @@ + /* + * Read UTF-8 filename in CP932/SJIS with "hdrcharset=UTF-8" option. + */ +- if (NULL == setlocale(LC_ALL, "Japanese_Japan") && +- NULL == setlocale(LC_ALL, "ja_JP.SJIS")) { ++ if (1) { + skipping("CP932 locale not available on this system."); + return; + } +@@ -656,8 +650,7 @@ + /* + * Read CP866 filename in CP1251 with "hdrcharset=CP866" option. + */ +- if (NULL == setlocale(LC_ALL, "Russian_Russia") && +- NULL == setlocale(LC_ALL, "ru_RU.CP1251")) { ++ if (1) { + skipping("CP1251 locale not available on this system."); + return; + } +@@ -715,7 +708,7 @@ + /* + * Read CP866 filename in CP1251 without "hdrcharset=CP866" option. + */ +- if (NULL == setlocale(LC_ALL, "Russian_Russia")) { ++ if (1) { + skipping("Russian_Russia locale not available on this system."); + return; + } +@@ -761,8 +754,7 @@ + /* + * Read KOI8-R filename in CP1251 with "hdrcharset=KOI8-R" option. + */ +- if (NULL == setlocale(LC_ALL, "Russian_Russia") && +- NULL == setlocale(LC_ALL, "ru_RU.CP1251")) { ++ if (1) { + skipping("CP1251 locale not available on this system."); + return; + } +@@ -814,8 +806,7 @@ + /* + * Read KOI8-R filename in CP1251 with "hdrcharset=KOI8-R" option. + */ +- if (NULL == setlocale(LC_ALL, "Russian_Russia") && +- NULL == setlocale(LC_ALL, "ru_RU.CP1251")) { ++ if (1) { + skipping("CP1251 locale not available on this system."); + return; + } +--- libarchive-3.6.0/libarchive/test/test_read_format_gtar_filename.c.old 2022-02-09 06:24:12.000000000 -0600 ++++ libarchive-3.6.0/libarchive/test/test_read_format_gtar_filename.c 2022-02-20 17:17:56.960000000 -0600 +@@ -89,8 +89,7 @@ + /* + * Read CP866 filename in ru_RU.KOI8-R with "hdrcharset=CP866" option. + */ +- if (NULL == setlocale(LC_ALL, "Russian_Russia.20866") && +- NULL == setlocale(LC_ALL, "ru_RU.KOI8-R")) { ++ if (1) { + skipping("ru_RU.KOI8-R locale not available on this system."); + return; + } +@@ -194,8 +193,7 @@ + /* + * Read KOI8-R filename in ru_RU.CP866 with "hdrcharset=KOI8-R" option. + */ +- if (NULL == setlocale(LC_ALL, "Russian_Russia.866") && +- NULL == setlocale(LC_ALL, "ru_RU.CP866")) { ++ if (1) { + skipping("ru_RU.CP866 locale not available on this system."); + return; + } +@@ -299,8 +297,7 @@ + /* + * Read eucJP filename in CP932/SJIS with "hdrcharset=eucJP" option. + */ +- if (NULL == setlocale(LC_ALL, "Japanese_Japan") && +- NULL == setlocale(LC_ALL, "ja_JP.SJIS")) { ++ if (1) { + skipping("CP932 locale not available on this system."); + return; + } +@@ -350,8 +347,7 @@ + /* + * Read CP866 filename in CP1251 with "hdrcharset=CP866" option. + */ +- if (NULL == setlocale(LC_ALL, "Russian_Russia") && +- NULL == setlocale(LC_ALL, "ru_RU.CP1251")) { ++ if (1) { + skipping("CP1251 locale not available on this system."); + return; + } +@@ -409,7 +405,7 @@ + /* + * Read CP866 filename in CP1251 without "hdrcharset=CP866" option. + */ +- if (NULL == setlocale(LC_ALL, "Russian_Russia")) { ++ if (1) { + skipping("Russian_Russia locale not available on this system."); + return; + } +@@ -455,8 +451,7 @@ + /* + * Read KOI8-R filename in CP1251 with "hdrcharset=KOI8-R" option. + */ +- if (NULL == setlocale(LC_ALL, "Russian_Russia") && +- NULL == setlocale(LC_ALL, "ru_RU.CP1251")) { ++ if (1) { + skipping("CP1251 locale not available on this system."); + return; + } +--- libarchive-3.6.0/libarchive/test/test_read_format_rar.c.old 2022-02-09 06:24:12.000000000 -0600 ++++ libarchive-3.6.0/libarchive/test/test_read_format_rar.c 2022-02-20 17:19:17.710000000 -0600 +@@ -336,8 +336,7 @@ + struct archive_entry *ae; + struct archive *a; + +- if (NULL == setlocale(LC_ALL, "Japanese_Japan") && +- NULL == setlocale(LC_ALL, "ja_JP.SJIS")) { ++ if (1) { + skipping("CP932 locale not available on this system."); + return; + } +--- libarchive-3.6.0/libarchive/test/test_read_format_zip_filename.c.old 2022-02-09 06:24:12.000000000 -0600 ++++ libarchive-3.6.0/libarchive/test/test_read_format_zip_filename.c 2022-02-20 17:29:22.640000000 -0600 +@@ -176,7 +176,7 @@ + * because the file name in the sample file is UTF-8 and + * Bit 11 of its general purpose bit flag is set. + */ +- if (NULL == setlocale(LC_ALL, "ja_JP.eucJP")) { ++ if (1) { + skipping("ja_JP.eucJP locale not availablefilename_ on " + "this system."); + return; +@@ -343,8 +343,7 @@ + /* + * Read CP866 filename in ru_RU.KOI8-R with "hdrcharset=CP866" option. + */ +- if (NULL == setlocale(LC_ALL, "Russian_Russia.20866") && +- NULL == setlocale(LC_ALL, "ru_RU.KOI8-R")) { ++ if (1) { + skipping("ru_RU.KOI8-R locale not available on this system."); + return; + } +@@ -456,8 +455,7 @@ + /* + * Read KOI8-R filename in ru_RU.CP866 with "hdrcharset=KOI8-R" option. + */ +- if (NULL == setlocale(LC_ALL, "Russian_Russia.866") && +- NULL == setlocale(LC_ALL, "ru_RU.CP866")) { ++ if (1) { + skipping("ru_RU.CP866 locale not available on this system."); + return; + } +@@ -569,8 +567,7 @@ + /* + * Read UTF-8 filename in ru_RU.KOI8-R with "hdrcharset=UTF-8" option. + */ +- if (NULL == setlocale(LC_ALL, "Russian_Russia.20866") && +- NULL == setlocale(LC_ALL, "ru_RU.KOI8-R")) { ++ if (1) { + skipping("ru_RU.KOI8-R locale not available on this system."); + return; + } +@@ -633,8 +630,7 @@ + * because the file name in the sample file is UTF-8 and + * Bit 11 of its general purpose bit flag is set. + */ +- if (NULL == setlocale(LC_ALL, "Russian_Russia.866") && +- NULL == setlocale(LC_ALL, "ru_RU.CP866")) { ++ if (1) { + skipping("ru_RU.CP866 locale not available on this system."); + return; + } +@@ -809,8 +805,7 @@ + * because the file name in the sample file is UTF-8 and + * Bit 11 of its general purpose bit flag is set. + */ +- if (NULL == setlocale(LC_ALL, "Japanese_Japan") && +- NULL == setlocale(LC_ALL, "ja_JP.SJIS")) { ++ if (1) { + skipping("CP932 locale not available on this system."); + return; + } +@@ -884,8 +879,7 @@ + /* + * Read CP866 filename in CP1251 with "hdrcharset=CP866" option. + */ +- if (NULL == setlocale(LC_ALL, "Russian_Russia") && +- NULL == setlocale(LC_ALL, "ru_RU.CP1251")) { ++ if (1) { + skipping("CP1251 locale not available on this system."); + return; + } +@@ -947,7 +941,7 @@ + /* + * Read CP866 filename in CP1251 without "hdrcharset=CP866" option. + */ +- if (NULL == setlocale(LC_ALL, "Russian_Russia")) { ++ if (1) { + skipping("Russian_Russia locale not available on this system."); + return; + } +@@ -997,8 +991,7 @@ + /* + * Read KOI8-R filename in CP1251 with "hdrcharset=KOI8-R" option. + */ +- if (NULL == setlocale(LC_ALL, "Russian_Russia") && +- NULL == setlocale(LC_ALL, "ru_RU.CP1251")) { ++ if (1) { + skipping("CP1251 locale not available on this system."); + return; + } +@@ -1056,8 +1049,7 @@ + * because the file name in the sample file is UTF-8 and + * Bit 11 of its general purpose bit flag is set. + */ +- if (NULL == setlocale(LC_ALL, "Russian_Russia") && +- NULL == setlocale(LC_ALL, "ru_RU.CP1251")) { ++ if (1) { + skipping("CP1251 locale not available on this system."); + return; + } +--- libarchive-3.6.0/libarchive/test/test_ustar_filename_encoding.c.old 2022-02-09 06:24:12.000000000 -0600 ++++ libarchive-3.6.0/libarchive/test/test_ustar_filename_encoding.c 2022-02-20 17:30:54.440000000 -0600 +@@ -75,7 +75,7 @@ + char buff[4096]; + size_t used; + +- if (NULL == setlocale(LC_ALL, "ru_RU.KOI8-R")) { ++ if (1) { + skipping("KOI8-R locale not available on this system."); + return; + } +@@ -116,7 +116,7 @@ + char buff[4096]; + size_t used; + +- if (NULL == setlocale(LC_ALL, "ru_RU.KOI8-R")) { ++ if (1) { + skipping("KOI8-R locale not available on this system."); + return; + } +@@ -157,8 +157,7 @@ + char buff[4096]; + size_t used; + +- if (NULL == setlocale(LC_ALL, "Russian_Russia") && +- NULL == setlocale(LC_ALL, "ru_RU.CP1251")) { ++ if (1) { + skipping("KOI8-R locale not available on this system."); + return; + } +@@ -242,7 +241,7 @@ + char buff[4096]; + size_t used; + +- if (NULL == setlocale(LC_ALL, "Russian_Russia")) { ++ if (1) { + skipping("Russian_Russia locale not available on this system."); + return; + } +@@ -277,7 +276,7 @@ + char buff[4096]; + size_t used; + +- if (NULL == setlocale(LC_ALL, "ja_JP.eucJP")) { ++ if (1) { + skipping("eucJP locale not available on this system."); + return; + } +@@ -357,8 +356,7 @@ + char buff[4096]; + size_t used; + +- if (NULL == setlocale(LC_ALL, "Japanese_Japan") && +- NULL == setlocale(LC_ALL, "ja_JP.SJIS")) { ++ if (1) { + skipping("CP932/SJIS locale not available on this system."); + return; + } +--- libarchive-3.6.0/libarchive/test/test_zip_filename_encoding.c.old 2022-02-09 06:24:12.000000000 -0600 ++++ libarchive-3.6.0/libarchive/test/test_zip_filename_encoding.c 2022-02-20 17:41:15.060000000 -0600 +@@ -122,7 +122,7 @@ + char buff[4096]; + size_t used; + +- if (NULL == setlocale(LC_ALL, "ru_RU.KOI8-R")) { ++ if (1) { + skipping("KOI8-R locale not available on this system."); + return; + } +@@ -222,7 +222,7 @@ + char buff[4096]; + size_t used; + +- if (NULL == setlocale(LC_ALL, "ru_RU.CP1251")) { ++ if (1) { + skipping("Russian_Russia locale not available on this system."); + return; + } +@@ -265,7 +265,7 @@ + char buff[4096]; + size_t used; + +- if (NULL == setlocale(LC_ALL, "Russian_Russia")) { ++ if (1) { + skipping("Russian_Russia locale not available on this system."); + return; + } +@@ -334,7 +334,7 @@ + char buff[4096]; + size_t used; + +- if (NULL == setlocale(LC_ALL, "ja_JP.eucJP")) { ++ if (1) { + skipping("eucJP locale not available on this system."); + return; + } +@@ -433,8 +433,7 @@ + char buff[4096]; + size_t used; + +- if (NULL == setlocale(LC_ALL, "Japanese_Japan") && +- NULL == setlocale(LC_ALL, "ja_JP.SJIS")) { ++ if (1) { + skipping("CP932/SJIS locale not available on this system."); + return; + } +--- libarchive-3.6.0/libarchive/test/test_read_format_tar_filename.c.old 2022-02-09 06:24:12.000000000 -0600 ++++ libarchive-3.6.0/libarchive/test/test_read_format_tar_filename.c 2022-02-20 17:54:34.540000000 -0600 +@@ -47,8 +47,7 @@ + * Read filename in ru_RU.CP866 with "hdrcharset=KOI8-R" option. + * We should correctly read two filenames. + */ +- if (NULL == setlocale(LC_ALL, "Russian_Russia.866") && +- NULL == setlocale(LC_ALL, "ru_RU.CP866")) { ++ if (1) { + skipping("ru_RU.CP866 locale not available on this system."); + return; + } +@@ -276,8 +275,7 @@ + * Read filename in CP1251 with "hdrcharset=KOI8-R" option. + * We should correctly read two filenames. + */ +- if (NULL == setlocale(LC_ALL, "Russian_Russia") && +- NULL == setlocale(LC_ALL, "ru_RU.CP1251")) { ++ if (1) { + skipping("CP1251 locale not available on this system."); + return; + } +--- libarchive-3.6.0/libarchive/test/test_read_format_ustar_filename.c.old 2022-02-09 06:24:12.000000000 -0600 ++++ libarchive-3.6.0/libarchive/test/test_read_format_ustar_filename.c 2022-02-20 17:56:02.310000000 -0600 +@@ -90,8 +90,7 @@ + /* + * Read CP866 filename in ru_RU.KOI8-R with "hdrcharset=CP866" option. + */ +- if (NULL == setlocale(LC_ALL, "Russian_Russia.20866") && +- NULL == setlocale(LC_ALL, "ru_RU.KOI8-R")) { ++ if (1) { + skipping("ru_RU.KOI8-R locale not available on this system."); + return; + } +@@ -200,8 +199,7 @@ + /* + * Read KOI8-R filename in ru_RU.CP866 with "hdrcharset=KOI8-R" option. + */ +- if (NULL == setlocale(LC_ALL, "Russian_Russia.866") && +- NULL == setlocale(LC_ALL, "ru_RU.CP866")) { ++ if (1) { + skipping("ru_RU.CP866 locale not available on this system."); + return; + } +@@ -311,8 +309,7 @@ + /* + * Read eucJP filename in CP932/SJIS with "hdrcharset=eucJP" option. + */ +- if (NULL == setlocale(LC_ALL, "Japanese_Japan") && +- NULL == setlocale(LC_ALL, "ja_JP.SJIS")) { ++ if (1) { + skipping("CP932 locale not available on this system."); + return; + } +@@ -365,8 +362,7 @@ + /* + * Read CP866 filename in CP1251 with "hdrcharset=CP866" option. + */ +- if (NULL == setlocale(LC_ALL, "Russian_Russia") && +- NULL == setlocale(LC_ALL, "ru_RU.CP1251")) { ++ if (1) { + skipping("CP1251 locale not available on this system."); + return; + } +@@ -427,7 +423,7 @@ + /* + * Read CP866 filename in CP1251 without "hdrcharset=CP866" option. + */ +- if (NULL == setlocale(LC_ALL, "Russian_Russia")) { ++ if (1) { + skipping("Russian_Russia locale not available on this system."); + return; + } +@@ -476,8 +472,7 @@ + /* + * Read KOI8-R filename in CP1251 with "hdrcharset=KOI8-R" option. + */ +- if (NULL == setlocale(LC_ALL, "Russian_Russia") && +- NULL == setlocale(LC_ALL, "ru_RU.CP1251")) { ++ if (1) { + skipping("CP1251 locale not available on this system."); + return; + } -- cgit v1.2.3-60-g2f50