[SCM] The rsync repository. - branch master updated

Rsync CVS commit messages rsync-cvs at lists.samba.org
Tue Feb 22 00:42:46 UTC 2022


The branch, master has been updated
       via  26f4dbe1 Change usage (--version) output to note when ASM isn't really being used.
       via  b3f1970f Fix wording in RSYNC_PORT section (#293)
       via  c51da917 Build Cygwin on windows-2022 with newer python. [buildall]
       via  81f71f6f Add a CAUTION message to --debug=FILTER for trailing whitespace.
      from  48e70055 Add a couple more `--rsync-path` opts to the test. [buildall]

https://git.samba.org/?p=rsync.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 26f4dbe12c63d77ce8dcb7623b53bcf76be5c277
Author: Wayne Davison <wayne at opencoder.net>
Date:   Mon Feb 21 16:39:16 2022 -0800

    Change usage (--version) output to note when ASM isn't really being used.

commit b3f1970f18578fc4bbbc965f31d32a3ba677ef32
Author: Sam Mikes <smikes at cubane.com>
Date:   Mon Feb 21 15:00:45 2022 -0700

    Fix wording in RSYNC_PORT section (#293)
    
    Fix wording from 'does is not read' -> 'is not read'

commit c51da9174f626f6da2b3bf46a045099aeef72175
Author: Wayne Davison <wayne at opencoder.net>
Date:   Wed Feb 9 13:59:08 2022 -0800

    Build Cygwin on windows-2022 with newer python. [buildall]

commit 81f71f6f29656325863d5da78f4fece991d1574d
Author: Wayne Davison <wayne at opencoder.net>
Date:   Thu Jan 27 08:31:24 2022 -0800

    Add a CAUTION message to --debug=FILTER for trailing whitespace.

-----------------------------------------------------------------------

Summary of changes:
 .github/workflows/build.yml |  9 +++---
 NEWS.md                     |  3 ++
 configure.ac                | 76 +++++++++++++++++++++++++--------------------
 exclude.c                   | 14 ++++++---
 rsync.1.md                  | 10 +++++-
 usage.c                     |  2 +-
 6 files changed, 68 insertions(+), 46 deletions(-)


Changeset truncated at 500 lines:

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index a44cd2ab..75987fa3 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -86,16 +86,15 @@ jobs:
           rrsync
 
   cygwin-build:
-    runs-on: windows-latest
+    runs-on: windows-2022
     if: (github.event_name == 'schedule' || contains(github.event.head_commit.message, '[buildall]'))
     steps:
     - uses: actions/checkout at v2
-    - uses: crazy-max/ghaction-chocolatey at v1.2.2
-      with:
-        args: install -y --no-progress cygwin cyg-get
+    - name: cygwin
+      run: choco install -y --no-progress cygwin cyg-get
     - name: prep
       run: |
-        cyg-get make autoconf automake gcc-core attr libattr-devel python38 python38-pip libzstd-devel liblz4-devel libssl-devel libxxhash0 libxxhash-devel
+        cyg-get make autoconf automake gcc-core attr libattr-devel python39 python39-pip libzstd-devel liblz4-devel libssl-devel libxxhash0 libxxhash-devel
         curl.exe -o git-version.h https://gist.githubusercontent.com/WayneD/c11243fa374fc64d4e42f2855c8e3827/raw/rsync-git-version.h
         echo "C:/tools/cygwin/bin" >>$Env:GITHUB_PATH
     - name: commonmark
diff --git a/NEWS.md b/NEWS.md
index 3083ca3a..87abba21 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -138,6 +138,9 @@
 
  - More ASM optimizations from Shark64.
 
+ - Using `--debug=FILTER` now outputs a caution message if a filter rule
+   has trailing whitespace.
+
  - Transformed rrsync into a python script with improvements:
    - Security has been beefed up.
    - The known rsync options were updated to include recent additions.
diff --git a/configure.ac b/configure.ac
index 7031283a..9960fafc 100644
--- a/configure.ac
+++ b/configure.ac
@@ -322,39 +322,6 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ ]], [[return 0;]])],
 CFLAGS="$OLD_CFLAGS"
 AC_SUBST(NOEXECSTACK)
 
-ASM=
-
-AC_MSG_CHECKING([whether to enable ASM optimizations])
-AC_ARG_ENABLE(asm,
-    AS_HELP_STRING([--enable-asm],[enable/disable to control ASM optimizations]))
-
-if test x"$enable_asm" = x""; then
-    case "$host_os" in
-	*linux*) ;;
-	*) enable_asm=no ;;
-    esac
-fi
-
-if test x"$enable_asm" != x"no"; then
-    if test x"$host_cpu" = x"x86_64" || test x"$host_cpu" = x"amd64"; then
-	ASM="$host_cpu"
-    elif test x"$enable_asm" = x"yes"; then
-        AC_MSG_RESULT(unavailable)
-        AC_MSG_ERROR(The ASM optimizations are currently x86_64|amd64 only.
-Omit --enable-asm to continue without it.)
-    fi
-fi
-
-if test x"$ASM" != x""; then
-    AC_MSG_RESULT([yes ($ASM)])
-    AC_DEFINE(HAVE_ASM, 1, [Define to 1 to enable ASM optimizations])
-    ASM='$(ASM_'"$ASM)"
-else
-    AC_MSG_RESULT(no)
-fi
-
-AC_SUBST(ASM)
-
 # arrgh. libc in some old debian version screwed up the largefile
 # stuff, getting byte range locking wrong
 AC_CACHE_CHECK([for broken largefile support],rsync_cv_HAVE_BROKEN_LARGEFILE,[
@@ -457,7 +424,8 @@ if test x"$enable_openssl" != x"no"; then
     if test x"$ac_cv_header_openssl_md4_h" = x"yes" && test x"$ac_cv_header_openssl_md5_h" = x"yes"; then
       AC_MSG_RESULT(yes)
       AC_SEARCH_LIBS(MD5_Init, crypto,
-          [AC_DEFINE(USE_OPENSSL)],
+          [AC_DEFINE(USE_OPENSSL)
+	   enable_openssl=yes],
           [err_msg="$err_msg$nl- Failed to find MD5_Init function in openssl crypto lib.";
 	   no_lib="$no_lib openssl"])
     else
@@ -465,10 +433,46 @@ if test x"$enable_openssl" != x"no"; then
 	err_msg="$err_msg$nl- Failed to find openssl/md4.h and openssl/md5.h for openssl crypto lib support."
 	no_lib="$no_lib openssl"
     fi
+    if test x"$enable_asm" != x"yes"; then
+	enable_asm=no
+    fi
 else
     AC_MSG_RESULT(no)
 fi
 
+ASM=
+
+AC_MSG_CHECKING([whether to enable ASM optimizations])
+AC_ARG_ENABLE(asm,
+    AS_HELP_STRING([--enable-asm],[enable/disable to control ASM optimizations]))
+
+if test x"$enable_asm" = x""; then
+    case "$host_os" in
+	*linux*) ;;
+	*) enable_asm=no ;;
+    esac
+fi
+
+if test x"$enable_asm" != x"no"; then
+    if test x"$host_cpu" = x"x86_64" || test x"$host_cpu" = x"amd64"; then
+	ASM="$host_cpu"
+    elif test x"$enable_asm" = x"yes"; then
+        AC_MSG_RESULT(unavailable)
+        AC_MSG_ERROR(The ASM optimizations are currently x86_64|amd64 only.
+Omit --enable-asm to continue without it.)
+    fi
+fi
+
+if test x"$ASM" != x""; then
+    AC_MSG_RESULT([yes ($ASM)])
+    AC_DEFINE(HAVE_ASM, 1, [Define to 1 to enable ASM optimizations])
+    ASM='$(ASM_'"$ASM)"
+else
+    AC_MSG_RESULT(no)
+fi
+
+AC_SUBST(ASM)
+
 AC_MSG_CHECKING([whether to enable xxhash checksum support])
 AC_ARG_ENABLE([xxhash],
 	AS_HELP_STRING([--disable-xxhash],[disable to omit xxhash checksums]))
@@ -1417,6 +1421,10 @@ esac
 AC_CONFIG_FILES([Makefile lib/dummy zlib/dummy popt/dummy shconfig])
 AC_OUTPUT
 
+if test "$enable_openssl" = yes && test "$enable_asm" = yes; then
+    echo "*** Ignoring --enable-asm option -- using openssl for MD5 checksums ***"
+fi
+
 AC_MSG_RESULT()
 AC_MSG_RESULT([    rsync $PACKAGE_VERSION configuration successful])
 AC_MSG_RESULT()
diff --git a/exclude.c b/exclude.c
index e0957443..4ee06a84 100644
--- a/exclude.c
+++ b/exclude.c
@@ -152,13 +152,17 @@ static void add_rule(filter_rule_list *listp, const char *pat, unsigned int pat_
 {
 	const char *cp;
 	unsigned int pre_len, suf_len, slash_cnt = 0;
+	char *mention_rule_suffix;
 
-	if (DEBUG_GTE(FILTER, 2)) {
-		rprintf(FINFO, "[%s] add_rule(%s%.*s%s)%s\n",
+	if (DEBUG_GTE(FILTER, 1) && pat_len && (pat[pat_len-1] == ' ' || pat[pat_len-1] == '\t'))
+		mention_rule_suffix = " -- CAUTION: trailing whitespace!";
+	else
+		mention_rule_suffix = DEBUG_GTE(FILTER, 2) ? "" : NULL;
+	if (mention_rule_suffix) {
+		rprintf(FINFO, "[%s] add_rule(%s%.*s%s)%s%s\n",
 			who_am_i(), get_rule_prefix(rule, pat, 0, NULL),
-			(int)pat_len, pat,
-			(rule->rflags & FILTRULE_DIRECTORY) ? "/" : "",
-			listp->debug_type);
+			(int)pat_len, pat, (rule->rflags & FILTRULE_DIRECTORY) ? "/" : "",
+			listp->debug_type, mention_rule_suffix);
 	}
 
 	/* These flags also indicate that we're reading a list that
diff --git a/rsync.1.md b/rsync.1.md
index b5685d3f..e20706dd 100644
--- a/rsync.1.md
+++ b/rsync.1.md
@@ -3723,6 +3723,14 @@ first matching pattern is acted on: if it is an exclude pattern, then that file
 is skipped; if it is an include pattern then that filename is not skipped; if
 no matching pattern is found, then the filename is not skipped.
 
+Aside: because the interactions of filter rules can be complex, it is useful to
+use the `--debug=FILTER` option if things aren't working they way you expect.
+The level-1 output (the default if no level number is specified) mentions the
+filter rule that is first matched by each file in the transfer.  It also warns
+if a filter rule has trailing whitespace.  The level-2 output mentions a lot
+more filter events, including the definition of each rule and the handling of
+per-directory filter files.
+
 Rsync builds an ordered list of filter rules as specified on the command-line.
 Filter rules have the following syntax:
 
@@ -4429,7 +4437,7 @@ file is included or excluded.
 
 0. `RSYNC_PORT`
 
-    This environment variable does is not read by rsync, but is instead set in
+    This environment variable is not read by rsync, but is instead set in
     its sub-environment when rsync is running the remote shell in combination
     with a daemon connection.  This allows a script such as
     [`rsync-ssl`](rsync-ssl.1) to be able to know the port number that the user
diff --git a/usage.c b/usage.c
index db13535f..c8c4f025 100644
--- a/usage.c
+++ b/usage.c
@@ -144,7 +144,7 @@ static void print_info_flags(enum logcode f)
 #endif
 			"SIMD",
 
-#ifndef HAVE_ASM
+#if !defined HAVE_ASM || defined USE_OPENSSL
 		"no "
 #endif
 			"asm",


-- 
The rsync repository.



More information about the rsync-cvs mailing list