aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rw-r--r--tools/patch/Makefile2
-rw-r--r--tools/patch/patches/070-don-t-fail-hard-on-EACCES-when-copying-xattrs.patch33
2 files changed, 34 insertions, 1 deletions
diff --git a/tools/patch/Makefile b/tools/patch/Makefile
index bac7d5692c..957fe6e309 100644
--- a/tools/patch/Makefile
+++ b/tools/patch/Makefile
@@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=patch
PKG_VERSION:=2.7.6
-PKG_RELEASE:=6
+PKG_RELEASE:=7
PKG_CPE_ID:=cpe:/a:gnu:patch
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
diff --git a/tools/patch/patches/070-don-t-fail-hard-on-EACCES-when-copying-xattrs.patch b/tools/patch/patches/070-don-t-fail-hard-on-EACCES-when-copying-xattrs.patch
new file mode 100644
index 0000000000..e19a9c0845
--- /dev/null
+++ b/tools/patch/patches/070-don-t-fail-hard-on-EACCES-when-copying-xattrs.patch
@@ -0,0 +1,33 @@
+From f42cbe1a91a3a6f79d1eec594ce7c72aec79179b Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Thomas=20Wei=C3=9Fschuh?= <thomas@t-8ch.de>
+Date: Wed, 9 Nov 2022 05:08:22 +0100
+Subject: [PATCH] don't fail hard on EACCES when copying xattrs
+
+On btrfs the xattr "btrfs.compressed" requires privileges to set,
+otherwise EACCES is returned.
+When patch tries to do copy this attribute it receives the error and
+aborts.
+---
+ src/util.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/src/util.c
++++ b/src/util.c
+@@ -182,7 +182,7 @@ copy_attr_error (struct error_context *c
+ int err = errno;
+ va_list ap;
+
+- if (err != ENOSYS && err != ENOTSUP && err != EPERM)
++ if (err != ENOSYS && err != ENOTSUP && err != EPERM && err != EACCES)
+ {
+ /* use verror module to print error message */
+ va_start (ap, fmt);
+@@ -284,7 +284,7 @@ set_file_attributes (char const *to, enu
+ }
+ if (attr & FA_XATTRS)
+ if (copy_attr (from, to) != 0
+- && errno != ENOSYS && errno != ENOTSUP && errno != EPERM)
++ && errno != ENOSYS && errno != ENOTSUP && errno != EPERM && errno != EACCES)
+ fatal_exit (0);
+ if (attr & FA_MODE)
+ {