diff options
author | Pavel Vinogradov | 2022-08-31 13:23:39 -0400 |
---|---|---|
committer | Pavel Vinogradov | 2022-08-31 13:24:37 -0400 |
commit | 0236aac1eac5b304190b9d880b3e6fe0895b701e (patch) | |
tree | f43f44ba6bcf34b4fd8f932fe4ab6c338338b324 /archive-libs/libarchive | |
parent | f14c66f8172ae236e587fead3f6178bfd93fd87e (diff) |
archive-libs/libarchive: added fix to build with glibc 2.36
Diffstat (limited to 'archive-libs/libarchive')
-rw-r--r-- | archive-libs/libarchive/HISTORY | 4 | ||||
-rwxr-xr-x | archive-libs/libarchive/PRE_BUILD | 4 | ||||
-rw-r--r-- | archive-libs/libarchive/patches/0001-libarchive-Do-not-include-sys-mount.h.patch | 41 |
3 files changed, 49 insertions, 0 deletions
diff --git a/archive-libs/libarchive/HISTORY b/archive-libs/libarchive/HISTORY index 03e0a495e6..db90fef40c 100644 --- a/archive-libs/libarchive/HISTORY +++ b/archive-libs/libarchive/HISTORY @@ -1,3 +1,7 @@ +2022-08-31 Pavel Vinogradov <public@sourcemage.org> + * PRE_BUILD, patches/0001-libarchive-Do-not-include-sys-mount.h.patch: + added fix to build with glibc 2.36 + 2022-04-18 Florian Franzmann <bwlf@bandrate.org> * DETAILS: version 3.6.1, SECURITY_PATCH++, fixes multiple use-after-free and read-out-of-bounds bugs diff --git a/archive-libs/libarchive/PRE_BUILD b/archive-libs/libarchive/PRE_BUILD new file mode 100755 index 0000000000..f80ee7decc --- /dev/null +++ b/archive-libs/libarchive/PRE_BUILD @@ -0,0 +1,4 @@ +default_pre_build && +cd "${SOURCE_DIRECTORY}" && + +apply_patch_dir patches diff --git a/archive-libs/libarchive/patches/0001-libarchive-Do-not-include-sys-mount.h.patch b/archive-libs/libarchive/patches/0001-libarchive-Do-not-include-sys-mount.h.patch new file mode 100644 index 0000000000..7c88ca1b1c --- /dev/null +++ b/archive-libs/libarchive/patches/0001-libarchive-Do-not-include-sys-mount.h.patch @@ -0,0 +1,41 @@ +From a2f68263a1da5ad227bcb9cd8fa91b93c8b6c99f Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +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 2b39e672b..a96008db7 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 <sys/param.h> + #endif +-#ifdef HAVE_SYS_MOUNT_H +-#include <sys/mount.h> +-#endif + #ifdef HAVE_SYS_STAT_H + #include <sys/stat.h> + #endif +@@ -54,6 +51,8 @@ __FBSDID("$FreeBSD$"); + #endif + #ifdef HAVE_LINUX_FS_H + #include <linux/fs.h> ++#elif HAVE_SYS_MOUNT_H ++#include <sys/mount.h> + #endif + /* + * Some Linux distributions have both linux/ext2_fs.h and ext2fs/ext2_fs.h. |