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

Reply via email to