aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xextra/libarchive/build3
-rw-r--r--extra/libarchive/checksums3
-rw-r--r--extra/libarchive/patches/replace-namelen.patch31
-rw-r--r--extra/libarchive/sources3
-rw-r--r--extra/libarchive/version2
5 files changed, 39 insertions, 3 deletions
diff --git a/extra/libarchive/build b/extra/libarchive/build
index d069befd..d6ec4493 100755
--- a/extra/libarchive/build
+++ b/extra/libarchive/build
@@ -1,5 +1,8 @@
#!/bin/sh -e
+# See: https://github.com/libarchive/libarchive/pull/1924
+patch -p1 < replace-namelen.patch
+
./configure \
--prefix=/usr \
--without-nettle \
diff --git a/extra/libarchive/checksums b/extra/libarchive/checksums
index b5fc7198..c685c0e0 100644
--- a/extra/libarchive/checksums
+++ b/extra/libarchive/checksums
@@ -1,2 +1,3 @@
%BLAKE3
-f98695fe81235a74fa3fc2c3ba0f0d4f13ea15f9be3850b83e304cf5d78be710 libarchive-3.6.2.tar.xz
+da8a5af4e425d0a8fc44b486c54e0068589417c18485a2d44d7c40af37893301 libarchive-3.7.0.tar.xz
+b7fc2796cc307269f6c1614564d93dc8b4339ec6ff467851b0b4c9ba992eaf24 replace-namelen.patch
diff --git a/extra/libarchive/patches/replace-namelen.patch b/extra/libarchive/patches/replace-namelen.patch
new file mode 100644
index 00000000..ccc93be8
--- /dev/null
+++ b/extra/libarchive/patches/replace-namelen.patch
@@ -0,0 +1,31 @@
+From dbc79c26d1405537f1a83219289c871f3a8ce018 Mon Sep 17 00:00:00 2001
+From: Wong Hoi Sing Edison <hswong3i@pantarei-design.com>
+Date: Wed, 19 Jul 2023 16:27:19 +0800
+Subject: [PATCH] Replace `svfs.f_namelen` with `svfs.f_namemax`
+
+When compile 3.7.0 with CentOS 7 coming with below error message:
+
+ libarchive/archive_read_disk_posix.c:1869:40: error: 'struct statvfs' has no member named 'f_namelen'
+
+The equivalent for `f_namelen` in struct statvfs is `f_namemax`.
+
+See http://landley.net/mantis/mantis-346.html
+
+Signed-off-by: Wong Hoi Sing Edison <hswong3i@pantarei-design.com>
+---
+ 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 e9657f6a7..8d5c32f03 100644
+--- a/libarchive/archive_read_disk_posix.c
++++ b/libarchive/archive_read_disk_posix.c
+@@ -1866,7 +1866,7 @@ setup_current_filesystem(struct archive_read_disk *a)
+ #if defined(USE_READDIR_R)
+ /* Set maximum filename length. */
+ #if defined(HAVE_STATVFS)
+- t->current_filesystem->name_max = svfs.f_namelen;
++ t->current_filesystem->name_max = svfs.f_namemax;
+ #else
+ t->current_filesystem->name_max = sfs.f_namelen;
+ #endif
diff --git a/extra/libarchive/sources b/extra/libarchive/sources
index df535196..3d5e64bf 100644
--- a/extra/libarchive/sources
+++ b/extra/libarchive/sources
@@ -1 +1,2 @@
-https://github.com/libarchive/libarchive/releases/download/v3.6.2/libarchive-3.6.2.tar.xz
+https://github.com/libarchive/libarchive/releases/download/v3.7.0/libarchive-3.7.0.tar.xz
+patches/replace-namelen.patch
diff --git a/extra/libarchive/version b/extra/libarchive/version
index ee7527fc..68796f59 100644
--- a/extra/libarchive/version
+++ b/extra/libarchive/version
@@ -1 +1 @@
-3.6.2 1
+3.7.0 1