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 e246359..669986d 100644 --- a/SPECS/rsync.spec +++ b/SPECS/rsync.spec @@ -9,7 +9,7 @@ Summary: A program for synchronizing files over a network Name: rsync Version: 3.1.3 -Release: 6%{?dist} +Release: 7%{?dist} Group: Applications/Internet URL: http://rsync.samba.org/ @@ -30,6 +30,7 @@ License: GPLv3+ Patch0: rsync-man.patch Patch1: rsync-3.0.6-iconv-logging.patch Patch2: rsync-3.1.3-covscan.patch +Patch3: rsync-3.1.2-remove-symlinks.patch %description Rsync uses a reliable algorithm to bring remote and host files into @@ -70,6 +71,7 @@ patch -p1 -i patches/copy-devices.diff %patch0 -p1 -b .man %patch1 -p1 -b .iconv %patch2 -p1 -b .covscan +%patch3 -p1 -b .symlinks %build @@ -117,6 +119,9 @@ chmod -x support/* %systemd_postun_with_restart rsyncd.service %changelog +* Tue Oct 29 2019 Michal Ruprich - 3.1.3-7 +- Resolves: #1693162 - remove-source-files fails with symlinks + * Tue Apr 16 2019 Michal Ruprich - 3.1.3-6 - Resolves: #1602683 - Please review important issues found by covscan