commit 9f299381ab4c418d61ddf1d46599ca67d3badeff
Author: Arkadiusz Miśkiewicz <[email protected]>
Date:   Fri Nov 6 17:30:44 2020 +0100

    - rel 2; lchmod can return ENOTSUP on glibc 2.32 and older kernels (like 
4.4)

 lchmod.patch | 21 +++++++++++++++++++++
 rsync.spec   |  4 +++-
 2 files changed, 24 insertions(+), 1 deletion(-)
---
diff --git a/rsync.spec b/rsync.spec
index ea0b03a..ac0243a 100644
--- a/rsync.spec
+++ b/rsync.spec
@@ -21,7 +21,7 @@ Summary(zh_CN.UTF-8): [通讯]传输工具
 Summary(zh_TW.UTF-8):  [喙啪]$(B6G?i火(c(B
 Name:          rsync
 Version:       3.2.3
-Release:       1
+Release:       2
 Epoch:         1
 License:       GPL v3+
 Group:         Networking/Utilities
@@ -35,6 +35,7 @@ Source4:      %{name}.sysconfig
 Source5:       %{name}d.logrotate
 Patch0:                %{name}-config.patch
 Patch1:                %{name}-fadvise.patch
+Patch2:                lchmod.patch
 URL:           https://rsync.samba.org/
 BuildRequires: acl-devel
 BuildRequires: autoconf >= 2.69
@@ -169,6 +170,7 @@ techniczna nowego algorytmu została również dołączona do 
pakietu.
 %setup -q -b1
 %patch0 -p1
 %{?with_fadvise:%patch1 -p1}
+%patch2 -p1
 
 sed -i -e 's|#!/usr/bin/env bash|#!/bin/bash|' rsync-ssl
 
diff --git a/lchmod.patch b/lchmod.patch
new file mode 100644
index 0000000..88bad5a
--- /dev/null
+++ b/lchmod.patch
@@ -0,0 +1,21 @@
+--- rsync-3.2.3/syscall.c~     2020-07-28 01:36:55.000000000 +0200
++++ rsync-3.2.3/syscall.c      2020-11-06 17:26:04.220502740 +0100
+@@ -232,7 +232,8 @@ int do_chmod(const char *path, mode_t mo
+       RETURN_ERROR_IF_RO_OR_LO;
+ #ifdef HAVE_LCHMOD
+       code = lchmod(path, mode & CHMOD_BITS);
+-#else
++      if (code < 0 && errno == ENOTSUP) {
++#endif
+       if (S_ISLNK(mode)) {
+ # if defined HAVE_SETATTRLIST
+               struct attrlist attrList;
+@@ -247,6 +248,8 @@ int do_chmod(const char *path, mode_t mo
+ # endif
+       } else
+               code = chmod(path, mode & CHMOD_BITS); /* DISCOURAGED FUNCTION 
*/
++#ifdef HAVE_LCHMOD
++      }
+ #endif /* !HAVE_LCHMOD */
+       if (code != 0 && (preserve_perms || preserve_executability))
+               return code;
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/rsync.git/commitdiff/9f299381ab4c418d61ddf1d46599ca67d3badeff

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to