From 4928e31b37bed33f7aa891b229c0f7d476fc3aba Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Kempf Date: Wed, 21 Apr 2021 17:22:47 +0200 Subject: [PATCH] Contribs: update libarchive to 3.5.1 --- ...-incorrect-member-from-struct-statfs.patch | 26 ----------- ...ows-versions-if-they-are-set-in-the-.patch | 44 ------------------- contrib/src/libarchive/SHA512SUMS | 2 +- contrib/src/libarchive/fix-types.patch | 43 ------------------ contrib/src/libarchive/rules.mak | 5 +-- contrib/src/libarchive/winrt.patch | 32 +++++--------- 6 files changed, 12 insertions(+), 140 deletions(-) delete mode 100644 contrib/src/libarchive/0001-Fix-retrieving-incorrect-member-from-struct-statfs.patch delete mode 100644 contrib/src/libarchive/0005-don-t-force-windows-versions-if-they-are-set-in-the-.patch delete mode 100644 contrib/src/libarchive/fix-types.patch diff --git a/contrib/src/libarchive/0001-Fix-retrieving-incorrect-member-from-struct-statfs.patch b/contrib/src/libarchive/0001-Fix-retrieving-incorrect-member-from-struct-statfs.patch deleted file mode 100644 index 6561422f9f..0000000000 --- a/contrib/src/libarchive/0001-Fix-retrieving-incorrect-member-from-struct-statfs.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 9b9e4ff23fa528d831f22d62d072db990b862a62 Mon Sep 17 00:00:00 2001 -From: Martin Matuska -Date: Thu, 30 Apr 2020 03:46:05 +0200 -Subject: [PATCH] Fix retrieving incorrect member from struct statfs - -Fixes #1355 ---- - libarchive/archive_read_disk_posix.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/libarchive/archive_read_disk_posix.c b/libarchive/archive_read_disk_posix.c -index 52fec7bb..95a8087a 100644 ---- a/libarchive/archive_read_disk_posix.c -+++ b/libarchive/archive_read_disk_posix.c -@@ -1840,7 +1840,7 @@ setup_current_filesystem(struct archive_read_disk *a) - #if defined(HAVE_STATVFS) - if (svfs.f_flag & ST_NOATIME) - #else -- if (sfs.f_flag & ST_NOATIME) -+ if (sfs.f_flags & ST_NOATIME) - #endif - t->current_filesystem->noatime = 1; - else --- -2.26.0.windows.1 - diff --git a/contrib/src/libarchive/0005-don-t-force-windows-versions-if-they-are-set-in-the-.patch b/contrib/src/libarchive/0005-don-t-force-windows-versions-if-they-are-set-in-the-.patch deleted file mode 100644 index 37af69a79a..0000000000 --- a/contrib/src/libarchive/0005-don-t-force-windows-versions-if-they-are-set-in-the-.patch +++ /dev/null @@ -1,44 +0,0 @@ -From a4fa6bef8bdb141d629d79d8d1f3e67448bd67e1 Mon Sep 17 00:00:00 2001 -From: Steve Lhomme -Date: Thu, 2 Apr 2020 15:33:40 +0200 -Subject: [PATCH 5/5] don't force windows versions if they are set in the - environment - ---- - configure.ac | 20 +++++++++++++++++--- - 1 file changed, 17 insertions(+), 3 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 7312c4d5..05ca4955 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -244,9 +244,23 @@ AM_CONDITIONAL([STATIC_BSDCPIO], [ test "$static_bsdcpio" = yes ]) - # Set up defines needed before including any headers - case $host in - *mingw* | *cygwin* | *msys* ) -- AC_DEFINE([_WIN32_WINNT], 0x0502, [Define to '0x0502' for Windows Server 2003 APIs.]) -- AC_DEFINE([WINVER], 0x0502, [Define to '0x0502' for Windows Server 2003 APIs.]) -- AC_DEFINE([NTDDI_VERSION], 0x05020000, [Define to '0x05020000' for Windows Server 2003 APIs.]) -+ AC_PREPROC_IFELSE([AC_LANG_PROGRAM( -+ [[#ifdef _WIN32_WINNT -+ # error _WIN32_WINNT already defined -+ #endif -+ ]],[[;]]) -+ ],[ -+ AC_DEFINE([_WIN32_WINNT], 0x0502, [Define to '0x0502' for Windows Server 2003 APIs.]) -+ AC_DEFINE([NTDDI_VERSION], 0x05020000, [Define to '0x05020000' for Windows Server 2003 APIs.]) -+ ]) -+ AC_PREPROC_IFELSE([AC_LANG_PROGRAM( -+ [[#ifdef WINVER -+ # error WINVER already defined -+ #endif -+ ]],[[;]]) -+ ],[ -+ AC_DEFINE([WINVER], 0x0502, [Define to '0x0502' for Windows Server 2003 APIs.]) -+ ]) - ;; - esac - --- -2.26.0.windows.1 - diff --git a/contrib/src/libarchive/SHA512SUMS b/contrib/src/libarchive/SHA512SUMS index 8330921be3..3d22dced5f 100644 --- a/contrib/src/libarchive/SHA512SUMS +++ b/contrib/src/libarchive/SHA512SUMS @@ -1 +1 @@ -a8922e54f2e985889d205ee8a0594c1d30dad950438b602a5be6bb1b274a735ad20a48ed484efd458013a0810d26ee4ae76e3a6c820823243d24ea0593ed7021 libarchive-3.4.2.tar.gz +08ddd74bef4cef0981739da202879f36cf7ca33a8f6d438724588efe3ab8477f2f1d0cccf7b8ed0bedfc0c8d0cab16ee3ae5c0c6e83b6811bc650d7d7471a996 libarchive-3.5.1.tar.gz diff --git a/contrib/src/libarchive/fix-types.patch b/contrib/src/libarchive/fix-types.patch deleted file mode 100644 index 14c3216e13..0000000000 --- a/contrib/src/libarchive/fix-types.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 93a8b303904e40261ac58fbd95eb338d6b9cb1df Mon Sep 17 00:00:00 2001 -From: Steve Lhomme -Date: Fri, 27 Mar 2020 16:26:07 +0100 -Subject: [PATCH 2/4] archive_entry: use the proper define for mode_t - ---- - libarchive/archive_entry.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/libarchive/archive_entry.c b/libarchive/archive_entry.c -index 72c644e6..7afec1b1 100644 ---- a/libarchive/archive_entry.c -+++ b/libarchive/archive_entry.c -@@ -353,7 +353,7 @@ archive_entry_devminor(struct archive_entry *entry) - return minor(entry->ae_stat.aest_dev); - } - --mode_t -+__LA_MODE_T - archive_entry_filetype(struct archive_entry *entry) - { - return (AE_IFMT & entry->acl.mode); -@@ -525,7 +525,7 @@ archive_entry_ino64(struct archive_entry *entry) - return (entry->ae_stat.aest_ino); - } - --mode_t -+__LA_MODE_T - archive_entry_mode(struct archive_entry *entry) - { - return (entry->acl.mode); -@@ -598,7 +598,7 @@ _archive_entry_pathname_l(struct archive_entry *entry, - return (archive_mstring_get_mbs_l(&entry->ae_pathname, p, len, sc)); - } - --mode_t -+__LA_MODE_T - archive_entry_perm(struct archive_entry *entry) - { - return (~AE_IFMT & entry->acl.mode); --- -2.26.0.windows.1 - diff --git a/contrib/src/libarchive/rules.mak b/contrib/src/libarchive/rules.mak index c88ab66030..859b1b2b77 100644 --- a/contrib/src/libarchive/rules.mak +++ b/contrib/src/libarchive/rules.mak @@ -1,5 +1,5 @@ # LIBARCHIVE -LIBARCHIVE_VERSION := 3.4.2 +LIBARCHIVE_VERSION := 3.5.1 LIBARCHIVE_URL := http://www.libarchive.org/downloads/libarchive-$(LIBARCHIVE_VERSION).tar.gz PKGS += libarchive @@ -25,9 +25,6 @@ $(TARBALLS)/libarchive-$(LIBARCHIVE_VERSION).tar.gz: libarchive: libarchive-$(LIBARCHIVE_VERSION).tar.gz .sum-libarchive $(UNPACK) - $(APPLY) $(SRC)/libarchive/0001-Fix-retrieving-incorrect-member-from-struct-statfs.patch - $(APPLY) $(SRC)/libarchive/fix-types.patch - $(APPLY) $(SRC)/libarchive/0005-don-t-force-windows-versions-if-they-are-set-in-the-.patch ifdef HAVE_ANDROID $(APPLY) $(SRC)/libarchive/android.patch endif diff --git a/contrib/src/libarchive/winrt.patch b/contrib/src/libarchive/winrt.patch index d31695efe6..30bbbf5ed7 100644 --- a/contrib/src/libarchive/winrt.patch +++ b/contrib/src/libarchive/winrt.patch @@ -255,15 +255,6 @@ index b8bf1288..2197ed41 100644 /* Avoid infinity wait. * Note: If there is no data in the pipe, ReadFile() * called in read() never returns and so we won't -@@ -437,7 +439,7 @@ __archive_read_program(struct archive_read_filter *self, const char *cmd) - cmd); - return (ARCHIVE_FATAL); - } --#if defined(_WIN32) && !defined(__CYGWIN__) -+#if defined(_WIN32) && !defined(__CYGWIN__) && WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) - state->child = OpenProcess(PROCESS_QUERY_INFORMATION, FALSE, child); - if (state->child == NULL) { - child_stop(self, state); @@ -516,3 +518,5 @@ program_filter_close(struct archive_read_filter *self) return (e); @@ -514,30 +505,27 @@ index 47b7cb8e..9743f310 100644 #define WEXITSTATUS(sts) (sts & 0x0FF) diff --git a/libarchive/filter_fork_windows.c b/libarchive/filter_fork_windows.c index ad271fe6..0414d6f4 100644 ---- a/libarchive/filter_fork_windows.c -+++ b/libarchive/filter_fork_windows.c +--- a/libarchive/filter_fork_windows.c.orig 2020-12-26 02:29:38.000000000 +0100 ++++ b/libarchive/filter_fork_windows.c 2021-04-21 17:17:42.651099766 +0200 @@ -31,6 +31,13 @@ #include "filter_fork.h" +#if !WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) -+pid_t -+__archive_create_child(const char *cmd, int *child_stdin, int *child_stdout) ++int ++__archive_create_child(const char *cmd, int *child_stdin, int *child_stdout, HANDLE *out_child) +{ -+ return (-1); ++ return ARCHIVE_FAILED; +} +#else /* WINAPI_PARTITION_DESKTOP */ - pid_t - __archive_create_child(const char *cmd, int *child_stdin, int *child_stdout) - { -@@ -178,6 +185,7 @@ fail: + int + __archive_create_child(const char *cmd, int *child_stdin, int *child_stdout, + HANDLE *out_child) +@@ -187,6 +194,7 @@ __archive_cmdline_free(acmd); - return (-1); + return ARCHIVE_FAILED; } +#endif /* WINAPI_PARTITION_DESKTOP */ void __archive_check_child(int in, int out) --- -2.26.0.windows.1 -