libarchive fix mount.h conflict

This commit is contained in:
aliriza committed 2023-04-25 07:40:52 +00:00
1 parent b9aa3f8678
commit 0b7e0efa94
2 files changed
+49 -2

No files matched your search

@@ -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.
+8 -2
View File
@@ -6,8 +6,10 @@ url='https://www.libarchive.org'
description='Multi-format archive and compression library'
email='kurth4cker@tutanota.com'
maintainer='kurth4cker'
source=("https://www.libarchive.org/downloads/libarchive-${version}.tar.xz")
md5sums=('9465f7995649c9ea84854a7fd8c76f30')
source=("https://www.libarchive.org/downloads/libarchive-${version}.tar.xz"
'fix-mount-h-conflict.patch')
md5sums=('9465f7995649c9ea84854a7fd8c76f30'
'SKIP')
license=('BSD')
group=(app.arch)
@@ -30,6 +32,10 @@ cd $name-$version
unset CFLAGS
unset CXXFLAGS
prepare(){
patch -Np1 -i ../fix-mount-h-conflict.patch
}
setup() {
./configure --prefix=/usr \
--libdir=/usr/lib64 \