Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Baumann <mail@andreasbaumann.cc>2022-08-07 15:51:31 +0200
committerAndreas Baumann <mail@andreasbaumann.cc>2022-08-07 15:51:31 +0200
commit509273bdb92fecfedbf6065944be0d6c052a5313 (patch)
treebc76f47ca1aa8b9ba7a3b6fd276a5e5cdec83eca
parentbf5f37c21f7ce27c049d48a7607f075caa7e2a0d (diff)
core/libarchive: removed fix for FS#63765, added fix for FS#75533 (glibc 2.36)
-rw-r--r--core/libarchive/0003-no-sys_mount-linux_fs-includes.patch43
-rw-r--r--core/libarchive/PKGBUILD15
2 files changed, 53 insertions, 5 deletions
diff --git a/core/libarchive/0003-no-sys_mount-linux_fs-includes.patch b/core/libarchive/0003-no-sys_mount-linux_fs-includes.patch
new file mode 100644
index 00000000..4b19c7be
--- /dev/null
+++ b/core/libarchive/0003-no-sys_mount-linux_fs-includes.patch
@@ -0,0 +1,43 @@
+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: 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 <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.
+--
+2.37.1
+
diff --git a/core/libarchive/PKGBUILD b/core/libarchive/PKGBUILD
index b155a0bf..7d0a99db 100644
--- a/core/libarchive/PKGBUILD
+++ b/core/libarchive/PKGBUILD
@@ -1,8 +1,13 @@
-# temporarily, see FS#63765
+# temporarily for glibc 2.36, see FS#75533
+source+=(0003-no-sys_mount-linux_fs-includes.patch)
+sha256sums+=('cdb370df255245de557f0e6b1f780798a954771833d56602633b67db8cacce53')
eval "$(
- declare -f check | \
- sed '
- s/make check/make check || true/
- '
+ {
+ declare -f prepare || \
+ printf 'prepare() { cd "${pkgname}-${pkgver}"\n}\n'
+ } \
+ | sed '
+ $ i patch -Np1 < ../0003-no-sys_mount-linux_fs-includes.patch
+ '
)"