From: Michael Tremer Date: Tue, 6 Dec 2022 11:55:06 +0000 (+0000) Subject: libarchive: Fix build with newer glibc X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2fe64477e837cbda399a8caa20186e0c30129a63;p=ipfire-3.x.git libarchive: Fix build with newer glibc Signed-off-by: Michael Tremer --- diff --git a/libarchive/libarchive.nm b/libarchive/libarchive.nm index 993154f83..337c9afae 100644 --- a/libarchive/libarchive.nm +++ b/libarchive/libarchive.nm @@ -5,7 +5,7 @@ name = libarchive version = 3.6.1 -release = 1 +release = 2 groups = System/Libraries url = http://www.libarchive.org/ @@ -44,13 +44,12 @@ build --disable-static \ --disable-bsdtar \ --disable-bsdcpio \ - --with-bzip2 \ --with-expat \ --with-lzo2 \ --with-nettle \ + --with-xz \ --with-zlib \ - --with-zstd \ - --without-lzmadec + --with-zstd test LD_LIBRARY_PATH=$(pwd)/src/.libs make check || : diff --git a/libarchive/patches/libarchive-Do-not-include-sys-mount.h-when-linux-fs..patch b/libarchive/patches/libarchive-Do-not-include-sys-mount.h-when-linux-fs..patch new file mode 100644 index 000000000..0ce2d8d82 --- /dev/null +++ b/libarchive/patches/libarchive-Do-not-include-sys-mount.h-when-linux-fs..patch @@ -0,0 +1,40 @@ +From a2f68263a1da5ad227bcb9cd8fa91b93c8b6c99f Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 25 Jul 2022 10:56:53 -0700 +Subject: [PATCH] libarchive: Do not include sys/mount.h when linux/fs.h is present + +These headers are in conflict and only one is needed by +archive_read_disk_posix.c therefore include linux/fs.h if it exists +otherwise include sys/mount.h + +It also helps compiling with glibc 2.36 +where sys/mount.h conflicts with linux/mount.h see [1] + +[1] https://sourceware.org/glibc/wiki/Release/2.36 +--- + libarchive/archive_read_disk_posix.c | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +diff --git a/libarchive/archive_read_disk_posix.c b/libarchive/archive_read_disk_posix.c +index 2b39e672..a96008db 100644 +--- a/libarchive/archive_read_disk_posix.c ++++ b/libarchive/archive_read_disk_posix.c +@@ -34,9 +34,6 @@ __FBSDID("$FreeBSD$"); + #ifdef HAVE_SYS_PARAM_H + #include + #endif +-#ifdef HAVE_SYS_MOUNT_H +-#include +-#endif + #ifdef HAVE_SYS_STAT_H + #include + #endif +@@ -54,6 +51,8 @@ __FBSDID("$FreeBSD$"); + #endif + #ifdef HAVE_LINUX_FS_H + #include ++#elif HAVE_SYS_MOUNT_H ++#include + #endif + /* + * Some Linux distributions have both linux/ext2_fs.h and ext2fs/ext2_fs.h.