diff --git a/SOURCES/rsync-3.1.2-remove-symlinks.patch b/SOURCES/rsync-3.1.2-remove-symlinks.patch new file mode 100644 index 0000000..43d175d --- /dev/null +++ b/SOURCES/rsync-3.1.2-remove-symlinks.patch @@ -0,0 +1,33 @@ +diff --git a/sender.c b/sender.c +index 03e4aadd..9b432ed9 100644 +--- a/sender.c ++++ b/sender.c +@@ -32,6 +32,7 @@ extern int logfile_format_has_i; + extern int want_xattr_optim; + extern int csum_length; + extern int append_mode; ++extern int copy_links; + extern int io_error; + extern int flist_eof; + extern int allowed_lull; +@@ -138,17 +139,16 @@ void successful_send(int ndx) + return; + f_name(file, fname); + +- if (do_lstat(fname, &st) < 0) { ++ if ((copy_links ? do_stat(fname, &st) : do_lstat(fname, &st)) < 0) { + failed_op = "re-lstat"; + goto failed; + } + +- if (S_ISREG(file->mode) /* Symlinks & devices don't need this check: */ +- && (st.st_size != F_LENGTH(file) || st.st_mtime != file->modtime ++ if (st.st_size != F_LENGTH(file) || st.st_mtime != file->modtime + #ifdef ST_MTIME_NSEC + || (NSEC_BUMP(file) && (uint32)st.ST_MTIME_NSEC != F_MOD_NSEC(file)) + #endif +- )) { ++ ) { + rprintf(FERROR_XFER, "ERROR: Skipping sender remove for changed file: %s\n", fname); + return; + } diff --git a/SPECS/rsync.spec b/SPECS/rsync.spec index d5f6d55..57be505 100644 --- a/SPECS/rsync.spec +++ b/SPECS/rsync.spec @@ -8,7 +8,7 @@ Summary: A program for synchronizing files over a network Name: rsync Version: 3.1.2 -Release: 4%{?prerelease}%{?dist} +Release: 6%{?prerelease}%{?dist}.1 Group: Applications/Internet URL: http://rsync.samba.org/ @@ -30,6 +30,7 @@ Patch0: rsync-3.0.10-lose-track.patch Patch1: rsync-man.patch Patch3: rsync-3.0.6-iconv-logging.patch Patch4: rsync-3.1.2-zlib.patch +Patch5: rsync-3.1.2-remove-symlinks.patch %description Rsync uses a reliable algorithm to bring remote and host files into @@ -62,6 +63,7 @@ patch -p1 -i patches/copy-devices.diff %patch1 -p1 -b .man %patch3 -p1 -b .iconv-logging %patch4 -p1 -b .zlib +%patch5 -p1 -b .symlinks %build rm -fr autom4te.cache @@ -113,6 +115,15 @@ rm -rf $RPM_BUILD_ROOT %systemd_postun_with_restart rsyncd.service %changelog +* Wed Mar 27 2019 Michal Ruprich - 3.1.2-6.1 +- Resolves: #1693108 - remove-source-files fails with symlinks + +* Mon Aug 20 2018 Michal Ruprich - 3.1.2-6 +- Related: #1615799 - reverting changes made in RHEL-7.6 + +* Mon Aug 20 2018 Michal Ruprich - 3.1.2-5 +- Resolves: #1615799 - Rsync built-in testsuite fails with selinux enabled + * Wed Oct 18 2017 Michal Ruprich - 3.1.2-4 - Related: #1432899 - removing dependencies on perl - using the bundled zlib.h(#1491582)