forked from rpms/rsync
Merged update from upstream sources
This is an automated DistroBaker update from upstream sources. If you do not know what this is about or would like to opt out, contact the OSCI team. Source: https://src.fedoraproject.org/rpms/rsync.git#fc6927906bad10726974a296536f5d537e2caba6
This commit is contained in:
parent
51b66e5520
commit
64606fcd89
53
rsync-3.2.3-lchmod.patch
Normal file
53
rsync-3.2.3-lchmod.patch
Normal file
@ -0,0 +1,53 @@
|
||||
diff --git a/syscall.c b/syscall.c
|
||||
index b9c3b4ef..11d10e4a 100644
|
||||
--- a/syscall.c
|
||||
+++ b/syscall.c
|
||||
@@ -227,27 +227,35 @@ int do_open(const char *pathname, int flags, mode_t mode)
|
||||
#ifdef HAVE_CHMOD
|
||||
int do_chmod(const char *path, mode_t mode)
|
||||
{
|
||||
+ static int switch_step = 0;
|
||||
int code;
|
||||
if (dry_run) return 0;
|
||||
RETURN_ERROR_IF_RO_OR_LO;
|
||||
+ switch (switch_step) {
|
||||
#ifdef HAVE_LCHMOD
|
||||
- code = lchmod(path, mode & CHMOD_BITS);
|
||||
-#else
|
||||
- if (S_ISLNK(mode)) {
|
||||
+#include "case_N.h"
|
||||
+ if ((code = lchmod(path, mode & CHMOD_BITS)) == 0 || errno != ENOTSUP)
|
||||
+ break;
|
||||
+ switch_step++;
|
||||
+#endif
|
||||
+
|
||||
+#include "case_N.h"
|
||||
+ if (S_ISLNK(mode)) {
|
||||
# if defined HAVE_SETATTRLIST
|
||||
- struct attrlist attrList;
|
||||
- uint32_t m = mode & CHMOD_BITS; /* manpage is wrong: not mode_t! */
|
||||
+ struct attrlist attrList;
|
||||
+ uint32_t m = mode & CHMOD_BITS; /* manpage is wrong: not mode_t! */
|
||||
|
||||
- memset(&attrList, 0, sizeof attrList);
|
||||
- attrList.bitmapcount = ATTR_BIT_MAP_COUNT;
|
||||
- attrList.commonattr = ATTR_CMN_ACCESSMASK;
|
||||
- code = setattrlist(path, &attrList, &m, sizeof m, FSOPT_NOFOLLOW);
|
||||
+ memset(&attrList, 0, sizeof attrList);
|
||||
+ attrList.bitmapcount = ATTR_BIT_MAP_COUNT;
|
||||
+ attrList.commonattr = ATTR_CMN_ACCESSMASK;
|
||||
+ code = setattrlist(path, &attrList, &m, sizeof m, FSOPT_NOFOLLOW);
|
||||
# else
|
||||
- code = 1;
|
||||
+ code = 1;
|
||||
# endif
|
||||
- } else
|
||||
- code = chmod(path, mode & CHMOD_BITS); /* DISCOURAGED FUNCTION */
|
||||
-#endif /* !HAVE_LCHMOD */
|
||||
+ } else
|
||||
+ code = chmod(path, mode & CHMOD_BITS); /* DISCOURAGED FUNCTION */
|
||||
+ break;
|
||||
+ }
|
||||
if (code != 0 && (preserve_perms || preserve_executability))
|
||||
return code;
|
||||
return 0;
|
11
rsync.spec
11
rsync.spec
@ -10,7 +10,7 @@
|
||||
Summary: A program for synchronizing files over a network
|
||||
Name: rsync
|
||||
Version: 3.2.3
|
||||
Release: 3%{?dist}
|
||||
Release: 4%{?dist}
|
||||
URL: http://rsync.samba.org/
|
||||
|
||||
Source0: https://download.samba.org/pub/rsync/src/rsync-%{version}%{?prerelease}.tar.gz
|
||||
@ -32,6 +32,7 @@ License: GPLv3+
|
||||
Patch0: rsync-3.2.2-ssl-verify-hostname.patch
|
||||
#Added due to rhbz#1873975 - default-acls test fail on s390x due to libacl
|
||||
Patch1: rsync-3.2.2-runtests.patch
|
||||
Patch2: rsync-3.2.3-lchmod.patch
|
||||
|
||||
%description
|
||||
Rsync uses a reliable algorithm to bring remote and host files into
|
||||
@ -67,9 +68,9 @@ patch -p1 -i patches/copy-devices.diff
|
||||
|
||||
%patch0 -p1 -b .verify-hostname
|
||||
%patch1 -p1 -b .runtests
|
||||
%patch2 -p1 -b .lchmod
|
||||
|
||||
%build
|
||||
|
||||
%configure --disable-xxhash
|
||||
# --with-included-zlib=no temporary disabled because of #1043965
|
||||
|
||||
@ -82,7 +83,7 @@ chmod -x support/*
|
||||
%install
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
|
||||
%makeinstall INSTALLCMD='install -p' INSTALLMAN='install -p'
|
||||
%{make_install} INSTALLCMD='install -p' INSTALLMAN='install -p'
|
||||
|
||||
install -D -m644 %{SOURCE3} $RPM_BUILD_ROOT/%{_unitdir}/rsyncd.service
|
||||
install -D -m644 %{SOURCE2} $RPM_BUILD_ROOT/%{_unitdir}/rsyncd.socket
|
||||
@ -117,6 +118,10 @@ install -D -m644 %{SOURCE6} $RPM_BUILD_ROOT/%{_unitdir}/rsyncd@.service
|
||||
%systemd_postun_with_restart rsyncd.service
|
||||
|
||||
%changelog
|
||||
* Tue Dec 08 2020 Michal Ruprich <mruprich@redhat.com> - 3.2.3-4
|
||||
- Resolves: #1894485 - rsync is unable to set permissions when chrooted
|
||||
- Getting rid of deprecated makeinstall macro
|
||||
|
||||
* Fri Nov 20 2020 Michal Ruprich <mruprich@redhat.com> - 3.2.3-3
|
||||
- Disabling LTO as a temporary measure for rhbz#1898912
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user