This updates rsync to 3.2.3, which amongst other things includes https://github.com/WayneD/rsync/commit/9375a8c4c2b79a9d44ceae00de7284b77d79033c which greatly reduces maxrss (https://github.com/WayneD/rsync/issues/81).
Also adds a patch for the --rsh problem I ran into (issue open upstream). OK? Not included in the diff, but also I would like to reopen the discussion about dependencies. In order to lower resource use for CVS repository mirrors (7.3G of data across 450K files) I would like to have xxhash and lz4 enabled in the default ports build. xxhash and lz4 are nearly self-contained ports, they use the base compiler, they use gmake but otherwise add no build dependencies above what's already needed for rsync, and are available on all archs we build packages for. xxhash is a single C file, takes ~10 seconds to build, the package weighs in at 200K. lz4 is a little larger, 4 C files in the library, and there are tools too so it takes more like 45 seconds to build, the package is 300K. These are not onerous requirements. zstd is a bit different, it uses "COMPILER=base-clang ports-gcc". Seems this is needed for -Wvla which is used in the Makefile (easily patched), and maybe for something related to atomics on certain archs (hppa and powerpc are the usual suspects for this). It would be nice to have zstd as well (it's an excellent compression tool and nicely licensed) but that wants more work first so I am not proposing that at this point. Index: Makefile =================================================================== RCS file: /cvs/ports/net/rsync/Makefile,v retrieving revision 1.87 diff -u -p -r1.87 Makefile --- Makefile 8 Aug 2020 21:53:46 -0000 1.87 +++ Makefile 26 Aug 2020 11:24:23 -0000 @@ -2,8 +2,7 @@ COMMENT = mirroring/synchronization over low bandwidth links -DISTNAME = rsync-3.2.2 -REVISION = 0 +DISTNAME = rsync-3.2.3 CATEGORIES = net HOMEPAGE = https://rsync.samba.org/ Index: distinfo =================================================================== RCS file: /cvs/ports/net/rsync/distinfo,v retrieving revision 1.30 diff -u -p -r1.30 distinfo --- distinfo 3 Aug 2020 21:35:36 -0000 1.30 +++ distinfo 26 Aug 2020 11:24:23 -0000 @@ -1,2 +1,2 @@ -SHA256 (rsync-3.2.2.tar.gz) = ZEvThBd5UHZlIR/X24NZyKEGcMV+MFtKq2G05AA3r6g= -SIZE (rsync-3.2.2.tar.gz) = 1057001 +SHA256 (rsync-3.2.3.tar.gz) = vsw8UEzupJn0FnomAEDM9Nny75SZrVaDwXmmlxRs5Q4= +SIZE (rsync-3.2.3.tar.gz) = 1069784 Index: patches/patch-authenticate_c =================================================================== RCS file: /cvs/ports/net/rsync/patches/patch-authenticate_c,v retrieving revision 1.7 diff -u -p -r1.7 patch-authenticate_c --- patches/patch-authenticate_c 3 Aug 2020 21:35:36 -0000 1.7 +++ patches/patch-authenticate_c 26 Aug 2020 11:24:23 -0000 @@ -1,4 +1,5 @@ -$OpenBSD: patch-authenticate_c,v 1.7 2020/08/03 21:35:36 kn Exp $ +$OpenBSD$ + Index: authenticate.c --- authenticate.c.orig +++ authenticate.c Index: patches/patch-compat_c =================================================================== RCS file: patches/patch-compat_c diff -N patches/patch-compat_c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-compat_c 26 Aug 2020 11:24:23 -0000 @@ -0,0 +1,16 @@ +$OpenBSD$ + +https://github.com/WayneD/rsync/issues/84 + +Index: compat.c +--- compat.c.orig ++++ compat.c +@@ -705,7 +705,7 @@ void setup_protocol(int f_out,int f_in) + do_negotiated_strings = 1; + compat_flags |= CF_VARINT_FLIST_FLAGS; + } +- if (strchr(client_info, 'V') != NULL) { /* Support a pre-release 'V' that got superseded */ ++ if (!local_server && strchr(client_info, 'V') != NULL) { /* Support a pre-release 'V' that got superseded */ + if (!write_batch) + compat_flags |= CF_VARINT_FLIST_FLAGS; + write_byte(f_out, compat_flags); Index: patches/patch-configure_sh =================================================================== RCS file: /cvs/ports/net/rsync/patches/patch-configure_sh,v retrieving revision 1.5 diff -u -p -r1.5 patch-configure_sh --- patches/patch-configure_sh 3 Aug 2020 21:35:36 -0000 1.5 +++ patches/patch-configure_sh 26 Aug 2020 11:24:23 -0000 @@ -1,8 +1,9 @@ -$OpenBSD: patch-configure_sh,v 1.5 2020/08/03 21:35:36 kn Exp $ +$OpenBSD$ + Index: configure.sh --- configure.sh.orig +++ configure.sh -@@ -4901,7 +4901,7 @@ fi +@@ -4908,7 +4908,7 @@ fi cat >>confdefs.h <<_ACEOF Index: patches/patch-rsync_1 =================================================================== RCS file: /cvs/ports/net/rsync/patches/patch-rsync_1,v retrieving revision 1.7 diff -u -p -r1.7 patch-rsync_1 --- patches/patch-rsync_1 3 Aug 2020 21:35:36 -0000 1.7 +++ patches/patch-rsync_1 26 Aug 2020 11:24:23 -0000 @@ -1,8 +1,9 @@ -$OpenBSD: patch-rsync_1,v 1.7 2020/08/03 21:35:36 kn Exp $ +$OpenBSD$ + Index: rsync.1 --- rsync.1.orig +++ rsync.1 -@@ -4109,7 +4109,7 @@ documentation. +@@ -4253,7 +4253,7 @@ documentation. .IP "\fBUSER\fP or \fBLOGNAME\fP" The USER or LOGNAME environment variables are used to determine the default username sent to an rsync daemon. If neither is set, the username defaults Index: patches/patch-rsyncd_conf_5 =================================================================== RCS file: /cvs/ports/net/rsync/patches/patch-rsyncd_conf_5,v retrieving revision 1.8 diff -u -p -r1.8 patch-rsyncd_conf_5 --- patches/patch-rsyncd_conf_5 3 Aug 2020 21:35:36 -0000 1.8 +++ patches/patch-rsyncd_conf_5 26 Aug 2020 11:24:23 -0000 @@ -1,4 +1,5 @@ -$OpenBSD: patch-rsyncd_conf_5,v 1.8 2020/08/03 21:35:36 kn Exp $ +$OpenBSD$ + Index: rsyncd.conf.5 --- rsyncd.conf.5.orig +++ rsyncd.conf.5 @@ -17,7 +18,7 @@ Index: rsyncd.conf.5 reread its config file. .P Note that you should \fBnot\fP send the rsync daemon a HUP signal to force it to -@@ -425,7 +424,7 @@ This parameter specifies the user name or user ID that +@@ -438,7 +437,7 @@ This parameter specifies the user name or user ID that and from that module should take place as when the daemon was run as root. In combination with the "gid" parameter this determines what file permissions are available. The default when run by a super-user is to @@ -26,7 +27,7 @@ Index: rsyncd.conf.5 to not try to change the user. See also the "gid" parameter. .IP The RSYNC_USER_NAME environment variable may be used to request that rsync -@@ -445,7 +444,7 @@ accessing the module. The first one will be the defau +@@ -458,7 +457,7 @@ accessing the module. The first one will be the defau extra ones be set as supplemental groups. You may also specify a "\fB*\fP" as the first gid in the list, which will be replaced by all the normal groups for the transfer's user (see "uid"). The default when run by a super-user @@ -35,7 +36,7 @@ Index: rsyncd.conf.5 other supplementary groups. The default for a non-super-user is to not change any group attributes (and indeed, your OS may not allow a non-super-user to try to change their group settings). -@@ -619,7 +618,7 @@ require that you specify a group password if you do no +@@ -632,7 +631,7 @@ require that you specify a group password if you do no passwords. .IP There is no default for the "secrets file" parameter, you must choose a @@ -44,7 +45,7 @@ Index: rsyncd.conf.5 readable by "other"; see "strict modes". If the file is not found or is rejected, no logins for a "user auth" module will be possible. .IP "\fBstrict\ modes\fP" -@@ -1176,8 +1175,8 @@ A more sophisticated example would be: +@@ -1192,8 +1191,8 @@ A more sophisticated example would be: .RS 4 .P .nf @@ -55,7 +56,7 @@ Index: rsyncd.conf.5 use chroot = yes max connections = 4 syslog facility = local5 -@@ -1203,7 +1202,7 @@ pid file = /var/run/rsyncd.pid +@@ -1219,7 +1218,7 @@ pid file = /var/run/rsyncd.pid path = /data/cvs comment = CVS repository (requires authentication) auth users = tridge, susan @@ -64,7 +65,7 @@ Index: rsyncd.conf.5 .fi .RE .P -@@ -1218,7 +1217,7 @@ susan:herpass +@@ -1234,7 +1233,7 @@ susan:herpass .P .SH "FILES" .P Index: patches/patch-support_rrsync =================================================================== RCS file: /cvs/ports/net/rsync/patches/patch-support_rrsync,v retrieving revision 1.2 diff -u -p -r1.2 patch-support_rrsync --- patches/patch-support_rrsync 18 Sep 2012 11:28:23 -0000 1.2 +++ patches/patch-support_rrsync 26 Aug 2020 11:24:23 -0000 @@ -1,6 +1,8 @@ -$OpenBSD: patch-support_rrsync,v 1.2 2012/09/18 11:28:23 jasper Exp $ ---- support/rrsync.orig Fri Aug 31 11:58:47 2012 -+++ support/rrsync Fri Aug 31 11:58:36 2012 +$OpenBSD$ + +Index: support/rrsync +--- support/rrsync.orig ++++ support/rrsync @@ -11,7 +11,7 @@ use File::Glob ':glob'; # You may configure these values to your liking. See also the section