commit: f1c864205d96d4c513341ab7b21f48fe3fa19a81 Author: Sam James <sam <AT> gentoo <DOT> org> AuthorDate: Wed Aug 3 02:22:15 2022 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Wed Aug 3 02:25:03 2022 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f1c86420
app-arch/libarchive: fix build w/ glibc 2.36 Closes: https://bugs.gentoo.org/863227 Signed-off-by: Sam James <sam <AT> gentoo.org> .../files/libarchive-3.6.1-glibc-2.36.patch | 39 ++++++++++++++++++++++ app-arch/libarchive/libarchive-3.6.1.ebuild | 4 +++ 2 files changed, 43 insertions(+) diff --git a/app-arch/libarchive/files/libarchive-3.6.1-glibc-2.36.patch b/app-arch/libarchive/files/libarchive-3.6.1-glibc-2.36.patch new file mode 100644 index 000000000000..e45d891e2a17 --- /dev/null +++ b/app-arch/libarchive/files/libarchive-3.6.1-glibc-2.36.patch @@ -0,0 +1,39 @@ +https://github.com/libarchive/libarchive/pull/1761 +https://bugs.gentoo.org/863227 + +From a2f68263a1da5ad227bcb9cd8fa91b93c8b6c99f Mon Sep 17 00:00:00 2001 +From: Khem Raj <[email protected]> +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 +--- 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. + diff --git a/app-arch/libarchive/libarchive-3.6.1.ebuild b/app-arch/libarchive/libarchive-3.6.1.ebuild index 41cfc71f5a04..dbe62127a118 100644 --- a/app-arch/libarchive/libarchive-3.6.1.ebuild +++ b/app-arch/libarchive/libarchive-3.6.1.ebuild @@ -45,6 +45,10 @@ BDEPEND=" verify-sig? ( sec-keys/openpgp-keys-libarchive ) " +PATCHES=( + "${FILESDIR}"/${P}-glibc-2.36.patch +) + multilib_src_configure() { export ac_cv_header_ext2fs_ext2_fs_h=$(usex e2fsprogs) #354923
