diff options
author | Sam James <sam@gentoo.org> | 2022-08-03 03:22:15 +0100 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2022-08-03 03:25:03 +0100 |
commit | f1c864205d96d4c513341ab7b21f48fe3fa19a81 (patch) | |
tree | a273cc10ad9457edab1eb98c025c1609a6ab6836 /app-arch/libarchive | |
parent | sys-apps/systemd: drop 250.7 (diff) | |
download | gentoo-f1c864205d96d4c513341ab7b21f48fe3fa19a81.tar.gz gentoo-f1c864205d96d4c513341ab7b21f48fe3fa19a81.tar.bz2 gentoo-f1c864205d96d4c513341ab7b21f48fe3fa19a81.zip |
app-arch/libarchive: fix build w/ glibc 2.36
Closes: https://bugs.gentoo.org/863227
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'app-arch/libarchive')
-rw-r--r-- | app-arch/libarchive/files/libarchive-3.6.1-glibc-2.36.patch | 39 | ||||
-rw-r--r-- | app-arch/libarchive/libarchive-3.6.1.ebuild | 4 |
2 files changed, 43 insertions, 0 deletions
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 <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 +--- 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 |