<pre style='margin:0'>
Ryan Schmidt (ryandesign) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/fe77e877d28312ab80eb6d5c121889d2f1ca01aa">https://github.com/macports/macports-ports/commit/fe77e877d28312ab80eb6d5c121889d2f1ca01aa</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit fe77e877d28312ab80eb6d5c121889d2f1ca01aa
</span>Author: Ryan Schmidt <ryandesign@macports.org>
AuthorDate: Sun Oct 30 06:09:56 2022 -0500

<span style='display:block; white-space:pre;color:#404040;'>    rsync: Update to 3.2.7
</span>---
 net/rsync/Portfile                           |  29 ++-----
 net/rsync/files/fileflags.diff               | 115 +++++++++++++++------------
 net/rsync/files/patch-acls-unpack-error.diff |  15 ----
 3 files changed, 69 insertions(+), 90 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/net/rsync/Portfile b/net/rsync/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 61d6d03ffe8..f1be045cb86 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/net/rsync/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/net/rsync/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -5,12 +5,12 @@ PortGroup           compiler_blacklist_versions 1.0
</span> 
 name                rsync
 conflicts           rsync-hfscomp
<span style='display:block; white-space:pre;background:#ffe0e0;'>-version             3.2.6
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version             3.2.7
</span> revision            0
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums           rmd160  182444cd1ddc7b54851f463da7f3cb8a6a91eb5d \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256  fb3365bab27837d41feaf42e967c57bd3a47bc8f10765a3671efd6a3835454d3 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    size    1138593
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  ca09e13ff44c274c98b01327bb13cb4b88fc6d83 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  4e7d9d3f6ed10878c58c5fb724a67dacf4b6aac7340b13e488fb2dc41346f2bb \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    1149787
</span> 
 categories          net
 license             {GPL-3+ OpenSSLException}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -38,7 +38,7 @@ depends_lib         port:popt \
</span> patch.pre_args      -p1
 
 # This patch comes from
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# https://download.samba.org/pub/rsync/src/rsync-patches-3.2.4.tar.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# https://download.samba.org/pub/rsync/src/rsync-patches-3.2.7.tar.gz
</span> # and needs to be updated with each release.
 # We used to use hfs-compression.diff but it has been deliberately
 # disabled by its developers as of 3.1.3 because it needs to be reworked
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -46,29 +46,10 @@ patch.pre_args      -p1
</span> # https://trac.macports.org/ticket/60792#comment:2
 patchfiles          fileflags.diff
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# This patch adds "advanced error-logging for ACL unpack errors". It
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# is unknown where the patch came from or whether it has been suggested
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# to the developers of rsync.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles-append   patch-acls-unpack-error.diff
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> compiler.blacklist  {clang >= 1100 < 1103}
 
 configure.args      --with-rsyncd-conf=${prefix}/etc/rsyncd.conf
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-pre-configure {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    system -W ${worksrcpath} "./prepare-source"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Temporary fix for build on Rosetta, from upstream.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Perhaps can be removed with update to 3.2.5.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# https://github.com/WayneD/rsync/issues/338
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Also: https://trac.macports.org/ticket/65034
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-platform darwin 10 powerpc {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    post-configure {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace "s|#define GETGROUPS_T int|#define GETGROUPS_T gid_t|" ${worksrcpath}/config.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> test.run           yes
 test.target        check
 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/net/rsync/files/fileflags.diff b/net/rsync/files/fileflags.diff
</span><span style='display:block; white-space:pre;color:#808080;'>index 95a2e92c2f4..554564a4655 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/net/rsync/files/fileflags.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/net/rsync/files/fileflags.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -7,7 +7,7 @@ To use this patch, run these commands for a successful build:
</span>     ./configure                         (optional if already run)
     make
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-based-on: db5bfe67a5d022f9ad25340db6bc2cca2cbbdb65
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+based-on: 6b5ae825db985e9d1c98576651b50c8e490ddb97
</span> diff --git a/compat.c b/compat.c
 --- a/compat.c
 +++ b/compat.c
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -27,8 +27,8 @@ diff --git a/compat.c b/compat.c
</span>  extern int xfer_flags_as_varint;
  extern int need_messages_from_generator;
  extern int delete_mode, delete_before, delete_during, delete_after;
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -80,7 +82,7 @@ int do_negotiated_strings = 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- int xmit_id0_names = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -86,7 +88,7 @@ struct name_num_item *xattr_sum_nni;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int xattr_sum_len = 0;
</span>  
  /* These index values are for the file-list's extra-attribute array. */
 -int pathname_ndx, depth_ndx, atimes_ndx, crtimes_ndx, uid_ndx, gid_ndx, acls_ndx, xattrs_ndx, unsort_ndx;
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -36,7 +36,7 @@ diff --git a/compat.c b/compat.c
</span>  
  int receiver_symlink_times = 0; /* receiver can set the time on a symlink */
  int sender_symlink_iconv = 0; /* sender should convert symlink content */
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -578,6 +580,8 @@ void setup_protocol(int f_out,int f_in)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -588,6 +590,8 @@ void setup_protocol(int f_out,int f_in)
</span>           uid_ndx = ++file_extra_cnt;
        if (preserve_gid)
                gid_ndx = ++file_extra_cnt;
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -45,7 +45,7 @@ diff --git a/compat.c b/compat.c
</span>   if (preserve_acls && !am_sender)
                acls_ndx = ++file_extra_cnt;
        if (preserve_xattrs)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -741,6 +745,10 @@ void setup_protocol(int f_out,int f_in)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -751,6 +755,10 @@ void setup_protocol(int f_out,int f_in)
</span>                   fprintf(stderr, "Both rsync versions must be at least 3.2.0 for --crtimes.\n");
                        exit_cleanup(RERR_PROTOCOL);
                }
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -104,7 +104,7 @@ diff --git a/delete.c b/delete.c
</span> diff --git a/flist.c b/flist.c
 --- a/flist.c
 +++ b/flist.c
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -53,6 +53,7 @@ extern int preserve_links;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -52,6 +52,7 @@ extern int preserve_links;
</span>  extern int preserve_hard_links;
  extern int preserve_devices;
  extern int preserve_specials;
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -112,7 +112,7 @@ diff --git a/flist.c b/flist.c
</span>  extern int delete_during;
  extern int missing_args;
  extern int eol_nulls;
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -386,6 +387,9 @@ static void send_file_entry(int f, const char *fname, struct file_struct *file,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -388,6 +389,9 @@ static void send_file_entry(int f, const char *fname, struct file_struct *file,
</span>   static time_t crtime;
  #endif
        static mode_t mode;
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -122,7 +122,7 @@ diff --git a/flist.c b/flist.c
</span>  #ifdef SUPPORT_HARD_LINKS
        static int64 dev;
  #endif
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -429,6 +433,14 @@ static void send_file_entry(int f, const char *fname, struct file_struct *file,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -431,6 +435,14 @@ static void send_file_entry(int f, const char *fname, struct file_struct *file,
</span>           xflags |= XMIT_SAME_MODE;
        else
                mode = file->mode;
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -137,7 +137,7 @@ diff --git a/flist.c b/flist.c
</span>  
        if (preserve_devices && IS_DEVICE(mode)) {
                if (protocol_version < 28) {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -590,6 +602,10 @@ static void send_file_entry(int f, const char *fname, struct file_struct *file,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -592,6 +604,10 @@ static void send_file_entry(int f, const char *fname, struct file_struct *file,
</span>  #endif
        if (!(xflags & XMIT_SAME_MODE))
                write_int(f, to_wire_mode(mode));
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -148,7 +148,7 @@ diff --git a/flist.c b/flist.c
</span>   if (atimes_ndx && !S_ISDIR(mode) && !(xflags & XMIT_SAME_ATIME))
                write_varlong(f, atime, 4);
        if (preserve_uid && !(xflags & XMIT_SAME_UID)) {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -684,6 +700,9 @@ static struct file_struct *recv_file_entry(int f, struct file_list *flist, int x
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -686,6 +702,9 @@ static struct file_struct *recv_file_entry(int f, struct file_list *flist, int x
</span>   static time_t crtime;
  #endif
        static mode_t mode;
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -158,7 +158,7 @@ diff --git a/flist.c b/flist.c
</span>  #ifdef SUPPORT_HARD_LINKS
        static int64 dev;
  #endif
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -801,6 +820,10 @@ static struct file_struct *recv_file_entry(int f, struct file_list *flist, int x
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -803,6 +822,10 @@ static struct file_struct *recv_file_entry(int f, struct file_list *flist, int x
</span>  #ifdef SUPPORT_CRTIMES
                        if (crtimes_ndx)
                                crtime = F_CRTIME(first);
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -169,7 +169,7 @@ diff --git a/flist.c b/flist.c
</span>  #endif
                        if (preserve_uid)
                                uid = F_OWNER(first);
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -874,6 +897,10 @@ static struct file_struct *recv_file_entry(int f, struct file_list *flist, int x
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -876,6 +899,10 @@ static struct file_struct *recv_file_entry(int f, struct file_list *flist, int x
</span>  
        if (chmod_modes && !S_ISLNK(mode) && mode)
                mode = tweak_mode(mode, chmod_modes);
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -180,7 +180,7 @@ diff --git a/flist.c b/flist.c
</span>  
        if (preserve_uid && !(xflags & XMIT_SAME_UID)) {
                if (protocol_version < 30)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1055,6 +1082,10 @@ static struct file_struct *recv_file_entry(int f, struct file_list *flist, int x
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1057,6 +1084,10 @@ static struct file_struct *recv_file_entry(int f, struct file_list *flist, int x
</span>   }
  #endif
        file->mode = mode;
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -191,7 +191,7 @@ diff --git a/flist.c b/flist.c
</span>   if (preserve_uid)
                F_OWNER(file) = uid;
        if (preserve_gid) {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1468,6 +1499,10 @@ struct file_struct *make_file(const char *fname, struct file_list *flist,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1470,6 +1501,10 @@ struct file_struct *make_file(const char *fname, struct file_list *flist,
</span>   }
  #endif
        file->mode = st.st_mode;
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -241,7 +241,7 @@ diff --git a/generator.c b/generator.c
</span>  #ifdef SUPPORT_ACLS
                if (preserve_acls && !S_ISLNK(file->mode)) {
                        if (!ACL_READY(*sxp))
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1451,6 +1462,10 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1454,6 +1465,10 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
</span>           if (!preserve_perms) { /* See comment in non-dir code below. */
                        file->mode = dest_mode(file->mode, sx.st.st_mode, dflt_perms, statret == 0);
                }
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -252,7 +252,7 @@ diff --git a/generator.c b/generator.c
</span>           if (statret != 0 && basis_dir[0] != NULL) {
                        int j = try_dests_non(file, fname, ndx, fnamecmpbuf, &sx, itemizing, code);
                        if (j == -2) {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1493,10 +1508,15 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1496,10 +1511,15 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
</span>            * readable and writable permissions during the time we are
                 * putting files within them.  This is then restored to the
                 * former permissions after the transfer is done. */
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -269,7 +269,7 @@ diff --git a/generator.c b/generator.c
</span>                           rsyserr(FERROR_XFER, errno,
                                        "failed to modify permissions on %s",
                                        full_fname(fname));
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1531,6 +1551,10 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1534,6 +1554,10 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
</span>           int exists = statret == 0 && stype != FT_DIR;
                file->mode = dest_mode(file->mode, sx.st.st_mode, dflt_perms, exists);
        }
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -280,7 +280,7 @@ diff --git a/generator.c b/generator.c
</span>  
  #ifdef SUPPORT_HARD_LINKS
        if (preserve_hard_links && F_HLINK_NOT_FIRST(file)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2104,17 +2128,25 @@ static void touch_up_dirs(struct file_list *flist, int ndx)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2107,17 +2131,25 @@ static void touch_up_dirs(struct file_list *flist, int ndx)
</span>                   continue;
                fname = f_name(file, NULL);
                if (fix_dir_perms)
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -341,7 +341,7 @@ diff --git a/main.c b/main.c
</span>  extern int msgs2stderr;
  extern int module_id;
  extern int read_only;
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -966,6 +970,22 @@ static int do_recv(int f_in, int f_out, char *local_name)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -975,6 +979,22 @@ static int do_recv(int f_in, int f_out, char *local_name)
</span>    * points to an identical file won't be replaced by the referent. */
        copy_links = copy_dirlinks = copy_unsafe_links = 0;
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -450,7 +450,7 @@ diff --git a/options.c b/options.c
</span> diff --git a/rsync.1.md b/rsync.1.md
 --- a/rsync.1.md
 +++ b/rsync.1.md
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -410,6 +410,7 @@ has its own detailed description later in this manpage.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -446,6 +446,7 @@ has its own detailed description later in this manpage.
</span>  --keep-dirlinks, -K      treat symlinked dir on receiver as dir
  --hard-links, -H         preserve hard links
  --perms, -p              preserve permissions
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -458,7 +458,7 @@ diff --git a/rsync.1.md b/rsync.1.md
</span>  --executability, -E      preserve executability
  --chmod=CHMOD            affect file and/or directory permissions
  --acls, -A               preserve ACLs (implies --perms)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -451,7 +452,10 @@ has its own detailed description later in this manpage.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -487,7 +488,10 @@ has its own detailed description later in this manpage.
</span>  --ignore-missing-args    ignore missing source args without error
  --delete-missing-args    delete missing source args from destination
  --ignore-errors          delete even if there are I/O errors
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -470,7 +470,7 @@ diff --git a/rsync.1.md b/rsync.1.md
</span>  --max-delete=NUM         don't delete more than NUM files
  --max-size=SIZE          don't transfer any file larger than SIZE
  --min-size=SIZE          don't transfer any file smaller than SIZE
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -792,6 +796,7 @@ expand it.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -831,6 +835,7 @@ expand it.
</span>      recursion and want to preserve almost everything.  Be aware that it does
      **not** include preserving ACLs (`-A`), xattrs (`-X`), atimes (`-U`),
      crtimes (`-N`), nor the finding and preserving of hardlinks (`-H`).
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -478,7 +478,7 @@ diff --git a/rsync.1.md b/rsync.1.md
</span>  
      The only exception to the above equivalence is when [`--files-from`](#opt)
      is specified, in which case [`-r`](#opt) is not implied.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1251,7 +1256,7 @@ expand it.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1295,7 +1300,7 @@ expand it.
</span>      Without this option, if the sending side has replaced a directory with a
      symlink to a directory, the receiving side will delete anything that is in
      the way of the new symlink, including a directory hierarchy (as long as
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -487,7 +487,7 @@ diff --git a/rsync.1.md b/rsync.1.md
</span>  
      See also [`--keep-dirlinks`](#opt) for an analogous option for the
      receiving side.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1446,6 +1451,37 @@ expand it.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1490,6 +1495,37 @@ expand it.
</span>      those used by [`--fake-super`](#opt)) unless you repeat the option (e.g. `-XX`).
      This "copy all xattrs" mode cannot be used with [`--fake-super`](#opt).
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -525,7 +525,7 @@ diff --git a/rsync.1.md b/rsync.1.md
</span>  0.  `--chmod=CHMOD`
  
      This option tells rsync to apply one or more comma-separated "chmod" modes
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1963,8 +1999,8 @@ expand it.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2017,8 +2053,8 @@ expand it.
</span>      [`--ignore-missing-args`](#opt) option a step farther: each missing arg
      will become a deletion request of the corresponding destination file on the
      receiving side (should it exist).  If the destination file is a non-empty
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -536,7 +536,7 @@ diff --git a/rsync.1.md b/rsync.1.md
</span>      independent of any other type of delete processing.
  
      The missing source files are represented by special file-list entries which
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1975,14 +2011,14 @@ expand it.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2029,14 +2065,14 @@ expand it.
</span>      Tells [`--delete`](#opt) to go ahead and delete files even when there are
      I/O errors.
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -554,7 +554,7 @@ diff --git a/rsync.1.md b/rsync.1.md
</span>      [`--recursive`](#opt) option was also enabled.
  
  0.  `--max-delete=NUM`
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -3040,7 +3076,7 @@ expand it.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3096,7 +3132,7 @@ expand it.
</span>      also turns on the output of other verbose messages).
  
      The "%i" escape has a cryptic output that is 11 letters long.  The general
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -701,7 +701,7 @@ diff --git a/rsync.h b/rsync.h
</span>  #define ITEM_REPORT_CRTIME (1<<10)
  #define ITEM_BASIS_TYPE_FOLLOWS (1<<11)
  #define ITEM_XNAME_FOLLOWS (1<<12)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -593,6 +595,31 @@ typedef unsigned int size_t;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -587,6 +589,31 @@ typedef unsigned int size_t;
</span>  #define SUPPORT_CRTIMES 1
  #endif
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -733,15 +733,15 @@ diff --git a/rsync.h b/rsync.h
</span>  /* Find a variable that is either exactly 32-bits or longer.
   * If some code depends on 32-bit truncation, it will need to
   * take special action in a "#if SIZEOF_INT32 > 4" section. */
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -824,6 +851,7 @@ extern int pathname_ndx;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -818,6 +845,7 @@ extern int pathname_ndx;
</span>  extern int depth_ndx;
  extern int uid_ndx;
  extern int gid_ndx;
 +extern int fileflags_ndx;
  extern int acls_ndx;
  extern int xattrs_ndx;
<span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -878,6 +906,11 @@ extern int xattrs_ndx;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ extern int file_sum_extra_cnt;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -873,6 +901,11 @@ extern int file_sum_extra_cnt;
</span>  /* When the associated option is on, all entries will have these present: */
  #define F_OWNER(f) REQ_EXTRA(f, uid_ndx)->unum
  #define F_GROUP(f) REQ_EXTRA(f, gid_ndx)->unum
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -998,7 +998,7 @@ diff --git a/testsuite/rsync.fns b/testsuite/rsync.fns
</span> diff --git a/usage.c b/usage.c
 --- a/usage.c
 +++ b/usage.c
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -137,6 +137,11 @@ static void print_info_flags(enum logcode f)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -138,6 +138,11 @@ static void print_info_flags(enum logcode f)
</span>  #endif
                        "crtimes",
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1091,7 +1091,7 @@ diff --git a/util1.c b/util1.c
</span> diff --git a/xattrs.c b/xattrs.c
 --- a/xattrs.c
 +++ b/xattrs.c
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1091,7 +1091,7 @@ int set_xattr(const char *fname, const struct file_struct *file, const char *fna
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1086,7 +1086,7 @@ int set_xattr(const char *fname, const struct file_struct *file, const char *fna
</span>    && !S_ISLNK(sxp->st.st_mode)
  #endif
         && access(fname, W_OK) < 0
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1100,7 +1100,7 @@ diff --git a/xattrs.c b/xattrs.c
</span>           added_write_perm = 1;
  
        ndx = F_XATTR(file);
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1099,7 +1099,7 @@ int set_xattr(const char *fname, const struct file_struct *file, const char *fna
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1094,7 +1094,7 @@ int set_xattr(const char *fname, const struct file_struct *file, const char *fna
</span>   lst = &glst->xa_items;
        int return_value = rsync_xal_set(fname, lst, fnamecmp, sxp);
        if (added_write_perm) /* remove the temporary write permission */
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1109,7 +1109,7 @@ diff --git a/xattrs.c b/xattrs.c
</span>   return return_value;
  }
  
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1216,7 +1216,7 @@ int set_stat_xattr(const char *fname, struct file_struct *file, mode_t new_mode)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1211,7 +1211,7 @@ int set_stat_xattr(const char *fname, struct file_struct *file, mode_t new_mode)
</span>   mode = (fst.st_mode & _S_IFMT) | (fmode & ACCESSPERMS)
             | (S_ISDIR(fst.st_mode) ? 0700 : 0600);
        if (fst.st_mode != mode)
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1118,10 +1118,23 @@ diff --git a/xattrs.c b/xattrs.c
</span>   if (!IS_DEVICE(fst.st_mode))
                fst.st_rdev = 0; /* just in case */
  
<span style='display:block; white-space:pre;background:#e0ffe0;'>+diff -Nurp a/aclocal.m4 b/aclocal.m4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/aclocal.m4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/aclocal.m4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -12,6 +12,6 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # PARTICULAR PURPOSE.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-m4_include([../m4/have_type.m4])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-m4_include([../m4/header_major_fixed.m4])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-m4_include([../m4/socklen_t.m4])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++m4_include([m4/have_type.m4])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++m4_include([m4/header_major_fixed.m4])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++m4_include([m4/socklen_t.m4])
</span> diff -Nurp a/rsync.1 b/rsync.1
 --- a/rsync.1
 +++ b/rsync.1
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -488,6 +488,7 @@ has its own detailed description later i
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -543,6 +543,7 @@ has its own detailed description later i
</span>  --keep-dirlinks, -K      treat symlinked dir on receiver as dir
  --hard-links, -H         preserve hard links
  --perms, -p              preserve permissions
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1129,7 +1142,7 @@ diff -Nurp a/rsync.1 b/rsync.1
</span>  --executability, -E      preserve executability
  --chmod=CHMOD            affect file and/or directory permissions
  --acls, -A               preserve ACLs (implies --perms)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -529,7 +530,10 @@ has its own detailed description later i
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -584,7 +585,10 @@ has its own detailed description later i
</span>  --ignore-missing-args    ignore missing source args without error
  --delete-missing-args    delete missing source args from destination
  --ignore-errors          delete even if there are I/O errors
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1141,7 +1154,7 @@ diff -Nurp a/rsync.1 b/rsync.1
</span>  --max-delete=NUM         don't delete more than NUM files
  --max-size=SIZE          don't transfer any file larger than SIZE
  --min-size=SIZE          don't transfer any file smaller than SIZE
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -857,6 +861,7 @@ This is equivalent to \fB\-rlptgoD\fP.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -915,6 +919,7 @@ This is equivalent to \fB\-rlptgoD\fP.
</span>  recursion and want to preserve almost everything.  Be aware that it does
  \fBnot\fP include preserving ACLs (\fB\-A\fP), xattrs (\fB\-X\fP), atimes (\fB\-U\fP),
  crtimes (\fB\-N\fP), nor the finding and preserving of hardlinks (\fB\-H\fP).
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1149,7 +1162,7 @@ diff -Nurp a/rsync.1 b/rsync.1
</span>  .IP
  The only exception to the above equivalence is when \fB\-\-files-from\fP
  is specified, in which case \fB\-r\fP is not implied.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1320,7 +1325,7 @@ to non-directories to be affected, as th
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1379,7 +1384,7 @@ to non-directories to be affected, as th
</span>  Without this option, if the sending side has replaced a directory with a
  symlink to a directory, the receiving side will delete anything that is in
  the way of the new symlink, including a directory hierarchy (as long as
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1158,7 +1171,7 @@ diff -Nurp a/rsync.1 b/rsync.1
</span>  .IP
  See also \fB\-\-keep-dirlinks\fP for an analogous option for the
  receiving side.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1538,6 +1543,29 @@ receiver-only rule that excludes all nam
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1597,6 +1602,29 @@ receiver-only rule that excludes all nam
</span>  Note that the \fB\-X\fP option does not copy rsync's special xattr values (e.g.
  those used by \fB\-\-fake-super\fP) unless you repeat the option (e.g. \fB\-XX\fP).
  This "copy all xattrs" mode cannot be used with \fB\-\-fake-super\fP.
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1188,7 +1201,7 @@ diff -Nurp a/rsync.1 b/rsync.1
</span>  .IP "\fB\-\-chmod=CHMOD\fP"
  This option tells rsync to apply one or more comma-separated "chmod" modes
  to the permission of the files in the transfer.  The resulting value is
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2008,8 +2036,8 @@ This option takes the behavior of the (i
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2078,8 +2106,8 @@ This option takes the behavior of the (i
</span>  \fB\-\-ignore-missing-args\fP option a step farther: each missing arg
  will become a deletion request of the corresponding destination file on the
  receiving side (should it exist).  If the destination file is a non-empty
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1199,7 +1212,7 @@ diff -Nurp a/rsync.1 b/rsync.1
</span>  independent of any other type of delete processing.
  .IP
  The missing source files are represented by special file-list entries which
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2017,13 +2045,13 @@ display as a "\fB*missing\fP" entry in t
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2087,13 +2115,13 @@ display as a "\fB*missing\fP" entry in t
</span>  .IP "\fB\-\-ignore-errors\fP"
  Tells \fB\-\-delete\fP to go ahead and delete files even when there are
  I/O errors.
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1216,7 +1229,7 @@ diff -Nurp a/rsync.1 b/rsync.1
</span>  \fB\-\-recursive\fP option was also enabled.
  .IP "\fB\-\-max-delete=NUM\fP"
  This tells rsync not to delete more than NUM files or directories.  If that
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -3082,7 +3110,7 @@ version 2.6.7 (you can use \fB\-vv\fP wi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3154,7 +3182,7 @@ version 2.6.7 (you can use \fB\-vv\fP wi
</span>  also turns on the output of other verbose messages).
  .IP
  The "%i" escape has a cryptic output that is 11 letters long.  The general
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1228,7 +1241,7 @@ diff -Nurp a/rsync.1 b/rsync.1
</span> diff -Nurp a/rsync.1.html b/rsync.1.html
 --- a/rsync.1.html
 +++ b/rsync.1.html
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -399,6 +399,7 @@ has its own detailed description later i
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -438,6 +438,7 @@ has its own detailed description later i
</span>  --keep-dirlinks, -K      treat symlinked dir on receiver as dir
  --hard-links, -H         preserve hard links
  --perms, -p              preserve permissions
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1236,7 +1249,7 @@ diff -Nurp a/rsync.1.html b/rsync.1.html
</span>  --executability, -E      preserve executability
  --chmod=CHMOD            affect file and/or directory permissions
  --acls, -A               preserve ACLs (implies --perms)
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -440,7 +441,10 @@ has its own detailed description later i
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -479,7 +480,10 @@ has its own detailed description later i
</span>  --ignore-missing-args    ignore missing source args without error
  --delete-missing-args    delete missing source args from destination
  --ignore-errors          delete even if there are I/O errors
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1248,7 +1261,7 @@ diff -Nurp a/rsync.1.html b/rsync.1.html
</span>  --max-delete=NUM         don't delete more than NUM files
  --max-size=SIZE          don't transfer any file larger than SIZE
  --min-size=SIZE          don't transfer any file smaller than SIZE
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -764,7 +768,8 @@ section.</p>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -806,7 +810,8 @@ section.</p>
</span>  <p>This is equivalent to <code>-rlptgoD</code>.  It is a quick way of saying you want
  recursion and want to preserve almost everything.  Be aware that it does
  <strong>not</strong> include preserving ACLs (<code>-A</code>), xattrs (<code>-X</code>), atimes (<code>-U</code>),
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1258,7 +1271,7 @@ diff -Nurp a/rsync.1.html b/rsync.1.html
</span>  <p>The only exception to the above equivalence is when <a href="#opt--files-from"><code>--files-from</code></a>
  is specified, in which case <a href="#opt-r"><code>-r</code></a> is not implied.</p>
  </dd>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1190,7 +1195,7 @@ to non-directories to be affected, as th
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1234,7 +1239,7 @@ to non-directories to be affected, as th
</span>  <p>Without this option, if the sending side has replaced a directory with a
  symlink to a directory, the receiving side will delete anything that is in
  the way of the new symlink, including a directory hierarchy (as long as
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1267,7 +1280,7 @@ diff -Nurp a/rsync.1.html b/rsync.1.html
</span>  <p>See also <a href="#opt--keep-dirlinks"><code>--keep-dirlinks</code></a> for an analogous option for the
  receiving side.</p>
  <p><code>--copy-dirlinks</code> applies to all symlinks to directories in the source.  If
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1377,6 +1382,37 @@ those used by <a href="#opt--fake-super"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1421,6 +1426,37 @@ those used by <a href="#opt--fake-super"
</span>  This &quot;copy all xattrs&quot; mode cannot be used with <a href="#opt--fake-super"><code>--fake-super</code></a>.</p>
  </dd>
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1305,7 +1318,7 @@ diff -Nurp a/rsync.1.html b/rsync.1.html
</span>  <dt id="opt--chmod"><code>--chmod=CHMOD</code><a href="#opt--chmod" class="tgt"></a></dt><dd>
  <p>This option tells rsync to apply one or more comma-separated &quot;chmod&quot; modes
  to the permission of the files in the transfer.  The resulting value is
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1849,8 +1885,8 @@ is no longer there.</p>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1902,8 +1938,8 @@ is no longer there.</p>
</span>  <a href="#opt--ignore-missing-args"><code>--ignore-missing-args</code></a> option a step farther: each missing arg
  will become a deletion request of the corresponding destination file on the
  receiving side (should it exist).  If the destination file is a non-empty
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1316,7 +1329,7 @@ diff -Nurp a/rsync.1.html b/rsync.1.html
</span>  independent of any other type of delete processing.</p>
  <p>The missing source files are represented by special file-list entries which
  display as a &quot;<code>*missing</code>&quot; entry in the <a href="#opt--list-only"><code>--list-only</code></a> output.</p>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1861,12 +1897,12 @@ display as a &quot;<code>*missing</code>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1914,12 +1950,12 @@ display as a &quot;<code>*missing</code>
</span>  I/O errors.</p>
  </dd>
  
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1332,7 +1345,7 @@ diff -Nurp a/rsync.1.html b/rsync.1.html
</span>  <a href="#opt--recursive"><code>--recursive</code></a> option was also enabled.</p>
  </dd>
  
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -2836,7 +2872,7 @@ files will also be output, but only if t
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2891,7 +2927,7 @@ files will also be output, but only if t
</span>  version 2.6.7 (you can use <code>-vv</code> with older versions of rsync, but that
  also turns on the output of other verbose messages).</p>
  <p>The &quot;%i&quot; escape has a cryptic output that is 11 letters long.  The general
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/net/rsync/files/patch-acls-unpack-error.diff b/net/rsync/files/patch-acls-unpack-error.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index dcda1f8446e..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/net/rsync/files/patch-acls-unpack-error.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,15 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-This patch causes rsync to report which files caused the unpack_smb_acl()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-error, instead of just noting that one happened. This allows the end
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-user to check the ACL of the reported file by hand.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-https://github.com/WayneD/rsync/commit/81c5c81381d86d84fca3a2681ad0c2027bc65d6e
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/acls.c       2020-06-25 22:54:21.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/acls.c       2020-07-06 16:31:26.000000000 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -519,6 +519,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           sys_acl_free_acl(sacl);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           if (!ok) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                  rsyserr(FERROR_XFER, errno, "get_acl: unpack_smb_acl(%s)", fname);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                   return -1;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   } else if (no_acl_syscall_error(errno)) {
</span></pre><pre style='margin:0'>

</pre>