[SCM] The rsync repository. - branch master updated

Rsync CVS commit messages rsync-cvs at lists.samba.org
Fri Jul 24 19:40:00 UTC 2020


The branch, master has been updated
       via  c3cf174e More changes to NEWS, README, INSTALL, & configure.ac
       via  a0a7c9f2 Enable xattrs on Cygwin.
       via  a8f61ba9 Add Cygwin package info into INSTALL.md.
       via  842d6edf Fix devices-fake test if rsync can't link specials
       via  92a8855f Install python3 for cygwin [buildall]
       via  def96fd7 Install python36 for cygwin [buildall]
       via  f624a73b Change the --mkpath message.
       via  93a373f6 Some INSTALL improvements.
      from  01742c07 Add --mkpath option. Fixes bugzilla bug 4621.

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


- Log -----------------------------------------------------------------
commit c3cf174e5ed52e709ecdfd65c7d5da34c7574b96
Author: Wayne Davison <wayne at opencoder.net>
Date:   Fri Jul 24 11:53:16 2020 -0700

    More changes to NEWS, README, INSTALL, & configure.ac

commit a0a7c9f2e3eee43837a35af6a0d2c16574b5c4b5
Author: Wayne Davison <wayne at opencoder.net>
Date:   Fri Jul 24 11:38:14 2020 -0700

    Enable xattrs on Cygwin.
    
    - Tweak configure.ac to have Cygwin use linux xattrs.
    - Change CI setup to install attr packages on Cygwin.
    
    [buildall]

commit a8f61ba9377d0433b0adfdfbe609c64e6ba01aae
Author: Wayne Davison <wayne at opencoder.net>
Date:   Fri Jul 24 11:37:50 2020 -0700

    Add Cygwin package info into INSTALL.md.

commit 842d6edfdcd1e0b2df819cdff321a1854c074112
Author: Wayne Davison <wayne at opencoder.net>
Date:   Fri Jul 24 11:33:21 2020 -0700

    Fix devices-fake test if rsync can't link specials
    
    - Add info about hardlinked specials to --version output.
    - Use "no hardlink-special" info to ensure that the devices-fake
      test will not fail.

commit 92a8855ff3cbe2d5053952678510d27deb057262
Author: Wayne Davison <wayne at opencoder.net>
Date:   Fri Jul 24 10:10:26 2020 -0700

    Install python3 for cygwin [buildall]

commit def96fd7c418733758d88cb2e98997f52a788262
Author: Wayne Davison <wayne at opencoder.net>
Date:   Fri Jul 24 09:57:41 2020 -0700

    Install python36 for cygwin [buildall]

commit f624a73bbc1ce6edb370f783ab2bf5be42901fb5
Author: Wayne Davison <wayne at opencoder.net>
Date:   Fri Jul 24 09:45:47 2020 -0700

    Change the --mkpath message.

commit 93a373f6ba466244675bb5524f2f4363abfcb4c1
Author: Wayne Davison <wayne at opencoder.net>
Date:   Fri Jul 24 09:42:49 2020 -0700

    Some INSTALL improvements.

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

Summary of changes:
 .github/workflows/build.yml |   2 +-
 INSTALL.md                  | 101 ++++++++++++++++++++++++++------------------
 NEWS.md                     |   6 ++-
 README.md                   |  61 +++++++++++++-------------
 configure.ac                |   4 +-
 main.c                      |   2 +-
 options.c                   |   5 +++
 testsuite/devices.test      |  12 ++++--
 8 files changed, 113 insertions(+), 80 deletions(-)


Changeset truncated at 500 lines:

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 87f4fc8c..e1d63d99 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -89,7 +89,7 @@ jobs:
         args: install -y --no-progress cygwin cyg-get
     - name: prep
       run: |
-        cyg-get make autoconf automake gcc-core libssl-devel libzstd-devel liblz4-devel python36-commonmark
+        cyg-get make autoconf automake gcc-core attr libattr-devel python3 python36-commonmark libzstd-devel liblz4-devel libssl-devel
         echo "::add-path::C:/tools/cygwin/bin"
     - name: configure
       run: bash -c './configure --disable-xxhash'
diff --git a/INSTALL.md b/INSTALL.md
index dc0b3be9..93b700af 100644
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -1,7 +1,7 @@
 # How to build and install rsync
 
 When building rsync, you'll want to install various libraries in order to get
-all the new features enabled.  The configure script will alert you when the
+all the features enabled.  The configure script will alert you when the
 newest libraries are missing and tell you the appropriate `--disable-LIB`
 option to use if you want to just skip that feature.  What follows are various
 support libraries that you may want to install to build rsync with the maximum
@@ -35,67 +35,77 @@ installed to manipulate xattrs and to run the rsync testsuite.
 
 ## xxhash
 
-The [xxHash library](https://cyan4973.github.io/xxHash/) provides extremely
-fast checksum functions that can make the "rsync algorithm" run much more
-quickly, especially when matching blocks in large files.  Installing this
-development library adds xxhash checksums as the default checksum algorithm.
+The [xxHash library][1] provides extremely fast checksum functions that can
+make the "rsync algorithm" run much more quickly, especially when matching
+blocks in large files.  Installing this development library adds xxhash
+checksums as the default checksum algorithm.
+
+[1]: https://cyan4973.github.io/xxHash/
 
 ## zstd
 
-The [zstd library](http://facebook.github.io/zstd/) compression algorithm that
-uses a lot less CPU than the default zlib algorithm at the same compression
-level.  Note that you need at least version 1.4, so you might need to skip the
-zstd compression if you can only install a 1.3 release.  Installing this
-development library adds zstd compression as the default compression algorithm.
+The [zstd library][2] compression algorithm that uses a lot less CPU than
+the default zlib algorithm at the same compression level.  Note that you
+need at least version 1.4, so you might need to skip the zstd compression if
+you can only install a 1.3 release.  Installing this development library
+adds zstd compression as the default compression algorithm.
+
+[2]: http://facebook.github.io/zstd/
 
 ## lz4
 
-The [lz4 library](https://lz4.github.io/lz4/) compression algorithm that uses
-very little CPU, though it also has the smallest compression ratio of other
-algorithms.  Installing this development library adds lz4 compression as an
-available compression algorithm.
+The [lz4 library][3] compression algorithm that uses very little CPU, though
+it also has the smallest compression ratio of other algorithms.  Installing
+this development library adds lz4 compression as an available compression
+algorithm.
+
+[3]: https://lz4.github.io/lz4/
 
 ## openssl crypto
 
-The [openssl crypto library](https://www.openssl.org/docs/man1.0.2/man3/crypto.html)
-provides some hardware accelerated checksum algorithms for MD4 and MD5.
-Installing this development library makes rsync use the (potentially) faster
-checksum routines when computing MD4 & MD5 checksums.
+The [openssl crypto library][4] provides some hardware accelerated checksum
+algorithms for MD4 and MD5.  Installing this development library makes rsync
+use the (potentially) faster checksum routines when computing MD4 & MD5
+checksums.
+
+[4]: https://www.openssl.org/docs/man1.0.2/man3/crypto.html
 
 ## Package summary
 
-To sum up, here are some package install commands for various OSes:
+To help you get the libraries installed, here are some package install commands
+for various OSes.  The commands are split up to correspond with the above
+items, but feel free to combine the package names into a single install, if you
+like.
 
  -  For Debian and Ubuntu (Debian Buster users may want to briefly(?) enable
     buster-backports to update zstd from 1.3 to 1.4):
 
-    >     sudo apt install gcc g++ autoconf automake python3-cmarkgfm
-    >     sudo apt install acl libacl1-dev
-    >     sudo apt install attr libattr1-dev
-    >     sudo apt install libxxhash-dev
-    >     sudo apt install libzstd-dev
-    >     sudo apt install libzlz4-dev
-    >     sudo apt install libssl-dev
+    >     sudo apt install -y gcc g++ autoconf automake python3-cmarkgfm
+    >     sudo apt install -y acl libacl1-dev
+    >     sudo apt install -y attr libattr1-dev
+    >     sudo apt install -y libxxhash-dev
+    >     sudo apt install -y libzstd-dev
+    >     sudo apt install -y libzlz4-dev
+    >     sudo apt install -y libssl-dev
 
  -  For CentOS (use EPEL for python3-pip):
 
-    >     sudo yum install epel-release
-    >     sudo yum install gcc g++ autoconf automake python3-pip
-    >     sudo yum install acl libacl-devel
-    >     sudo yum install attr libattr-devel
-    >     sudo yum install xxhash-devel
-    >     sudo yum install libzstd-devel
-    >     sudo yum install lz4-devel
-    >     sudo yum install openssl-devel
+    >     sudo yum -y install epel-release
+    >     sudo yum -y install gcc g++ autoconf automake python3-pip
+    >     sudo yum -y install acl libacl-devel
+    >     sudo yum -y install attr libattr-devel
+    >     sudo yum -y install xxhash-devel
+    >     sudo yum -y install libzstd-devel
+    >     sudo yum -y install lz4-devel
+    >     sudo yum -y install openssl-devel
     >     pip3 install --user commonmark
 
  -  For FreeBSD (this assumes that the python3 version is 3.7):
 
-    >     sudo pkg install -y gcc g++ autotools python3
+    >     sudo pkg install -y autotools python3 py37-CommonMark
     >     sudo pkg install -y xxhash
     >     sudo pkg install -y zstd
     >     sudo pkg install -y liblz4
-    >     sudo pkg install -y py37-CommonMark
 
  -  For macOS:
 
@@ -105,6 +115,14 @@ To sum up, here are some package install commands for various OSes:
     >     brew install lz4
     >     brew install openssl
 
+ -  For Cygwin (with all cygwin programs stopped, run the appropriate setup program from a cmd shell):
+
+    >     .\setup-x86_64.exe --quiet-mode -P make,autoconf,automake,gcc-core,python3,python36-commonmark
+    >     .\setup-x86_64.exe --quiet-mode -P attr,libattr-devel
+    >     .\setup-x86_64.exe --quiet-mode -P libzstd-devel
+    >     .\setup-x86_64.exe --quiet-mode -P liblz4-devel
+    >     .\setup-x86_64.exe --quiet-mode -P libssl-devel
+
 ## Build and install
 
 After installing the various libraries, you need to configure, build, and
@@ -114,8 +132,8 @@ install the source:
 >      make
 >      sudo make install
 
-You may set the installation directory and other parameters by options
-to ./configure.  To see them, use:
+The default install path is /usr/local/bin, but you can set the installation
+directory and other parameters using options to ./configure.  To see them, use:
 
 >     ./configure --help
 
@@ -178,9 +196,10 @@ Install gcc or HP's "ANSI/C Compiler".
 Some versions of Mac OS X (Darwin) seem to have an IPv6 stack, but do
 not completely implement the "New Sockets" API.
 
-[This site](http://www.ipv6.org/impl/mac.html) says that Apple started to
-support IPv6 in 10.2 (Jaguar).  If your build fails, try again after running
-configure with --disable-ipv6.
+[This site][5] says that Apple started to support IPv6 in 10.2 (Jaguar).  If
+your build fails, try again after running configure with --disable-ipv6.
+
+[5]: http://www.ipv6.org/impl/mac.html
 
 ## IBM AIX notes
 
diff --git a/NEWS.md b/NEWS.md
index 27e8eef8..08cac043 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -39,8 +39,8 @@
    protocol (so if you used this patch in the past, be sure to update your
    converter script to use newlines instead of null chars).
 
- - Added `--crtimes` (`-N`) option for preserving the file's create time (on
-   an OS that supports that, such as macOS).
+ - Added `--crtimes` (`-N`) option for preserving the file's create time (I
+   believe that this is macOS only at the moment).
 
  - Added `--mkpath` option to tell rsync that it should create a non-existing
    path component of the destination arg.
@@ -60,6 +60,8 @@
    error to go from the receiver to the generator to the sender.  To disable
    this new default you can use the `--no-msgs2stderr` option.
 
+ - Change configure to know that Cywin supports Linux xattrs.
+
  - Improved the testsuite on FreeBSD & Cygwin.
 
  - Added some compatibility code for HPE NonStop platforms.
diff --git a/README.md b/README.md
index 4c3894b5..f9875182 100644
--- a/README.md
+++ b/README.md
@@ -26,6 +26,15 @@ options.  To get a complete list of supported options type:
 See the manpage for more detailed information.
 
 
+BUILDING AND INSTALLING
+-----------------------
+
+If you need to build rsync yourself, check out the [INSTALL][1] page for
+information on what libraries and packages you can use to get the maximum
+features in your build.
+
+[1]: https://download.samba.org/pub/rsync/INSTALL
+
 SETUP
 -----
 
@@ -63,9 +72,9 @@ connect to an rsync daemon.
 WEB SITE
 --------
 
-The main rsync web site is here:
+For more information, visit the [main rsync web site][2].
 
->  https://rsync.samba.org/
+[2]: https://rsync.samba.org/
 
 You'll find a FAQ list, downloads, resources, HTML versions of the
 manpages, etc.
@@ -77,25 +86,25 @@ MAILING LISTS
 There is a mailing list for the discussion of rsync and its applications
 that is open to anyone to join.  New releases are announced on this
 list, and there is also an announcement-only mailing list for those that
-want official announcements.  See the mailing-list page for full
-details:
+want official announcements.  See the [mailing-list page][3] for full
+details.
 
->  https://rsync.samba.org/lists.html
+[3]: https://rsync.samba.org/lists.html
 
 
 BUG REPORTS
 -----------
 
-To visit this web page for full the details on bug reporting:
+The [bug-tracking web page][4] has full details on bug reporting.
 
->  https://rsync.samba.org/bugtracking.html
+[4]: https://rsync.samba.org/bug-tracking.html
 
-That page contains links to the current bug list, and information on how
-to report a bug well.  You might also like to try searching the Internet
-for the error message you've received, or looking in the mailing list
-archives at:
+That page contains links to the current bug list, and information on how to
+do a good job when reporting a bug.  You might also like to try searching
+the Internet for the error message you've received, or looking in the
+[mailing list archives][5].
 
->  https://mail-archive.com/rsync@lists.samba.org/
+[5]: https://mail-archive.com/rsync@lists.samba.org/
 
 To send a bug report, follow the instructions on the bug-tracking
 page of the web site.
@@ -108,18 +117,15 @@ GIT REPOSITORY
 
 If you want to get the very latest version of rsync direct from the
 source code repository, then you will need to use git.  The git repo
-is hosted on github and on samba's site.  Feel free to access it here:
-
->  https://github.com/WayneD/rsync
+is hosted [on GitHub][6] and [on Samba's site][7].
 
-A backup git repo is available on the samba site:
+[6]: https://github.com/WayneD/rsync
+[7]: https://git.samba.org/?p=rsync.git;a=summary
 
->     git clone git://git.samba.org/rsync.git
+See [the download page][8] for full details on all the ways to grab the
+source.
 
-See the download page for full details on all the ways to grab the
-source:
-
->  https://rsync.samba.org/download.html
+[8]: https://rsync.samba.org/download.html
 
 
 COPYRIGHT
@@ -130,13 +136,8 @@ maintained by Wayne Davison.  It has been improved by many developers
 from around the world.
 
 Rsync may be used, modified and redistributed only under the terms of
-the GNU General Public License, found in the file COPYING in this
-distribution, or at:
-
->  https://www.fsf.org/licenses/gpl.html
-
-
-AVAILABILITY
-------------
+the GNU General Public License, found in the file [COPYING][9] in this
+distribution, or at [the Free Software Foundation][10].
 
-The main web site for rsync is https://rsync.samba.org/
+[9]: https://download.samba.org/pub/rsync/COPYING
+[10]: https://www.fsf.org/licenses/gpl.html
diff --git a/configure.ac b/configure.ac
index d9636962..8030eebc 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,6 +1,6 @@
 dnl Process this file with autoconf to produce a configure script.
 
-AC_INIT([rsync],[ ],[https://rsync.samba.org/bugtracking.html])
+AC_INIT([rsync],[ ],[https://rsync.samba.org/bug-tracking.html])
 
 AC_CONFIG_MACRO_DIR([m4])
 AC_CONFIG_SRCDIR([byteorder.h])
@@ -1290,7 +1290,7 @@ if test x"$enable_xattr_support" = x"no"; then
     AC_MSG_RESULT(no)
 else
     case "$host_os" in
-    *linux*|*netbsd*)
+    *linux*|*netbsd*|*cygwin*)
 	AC_MSG_RESULT(Using Linux xattrs)
 	AC_DEFINE(HAVE_LINUX_XATTRS, 1, [True if you have Linux xattrs (or equivalent)])
 	AC_DEFINE(SUPPORT_XATTRS, 1)
diff --git a/main.c b/main.c
index 1130e24c..04b32e74 100644
--- a/main.c
+++ b/main.c
@@ -722,7 +722,7 @@ static char *get_local_name(struct file_list *flist, char *dest_path)
 		if (INFO_GTE(NAME, 1)) {
 			if (file_total == 1 || trailing_slash)
 				*cp = '\0';
-			rprintf(FINFO, "created %s %s\n", ret == 1 ? "directory" : "path", dest_path);
+			rprintf(FINFO, "created %d director%s for %s\n", ret, ret == 1 ? "y" : "ies", dest_path);
 			if (file_total == 1 || trailing_slash)
 				*cp = '/';
 		}
diff --git a/options.c b/options.c
index d92a7665..aa61d348 100644
--- a/options.c
+++ b/options.c
@@ -608,6 +608,11 @@ static void print_info_flags(enum logcode f)
 #endif
 			"hardlinks",
 
+#ifndef CAN_HARDLINK_SPECIAL
+		"no "
+#endif
+			"hardlink-special",
+
 #ifndef SUPPORT_LINKS
 		"no "
 #endif
diff --git a/testsuite/devices.test b/testsuite/devices.test
index 773c543f..56ab2c52 100644
--- a/testsuite/devices.test
+++ b/testsuite/devices.test
@@ -97,6 +97,8 @@ esac
 
 # TODO: Need to test whether hardlinks are possible on this OS/filesystem
 
+$RSYNC --version | grep "[, ] hardlink-special" >/dev/null && CAN_HLINK_SPECIAL=yes || CAN_HLINK_SPECIAL=no
+
 mkdir "$fromdir"
 mkdir "$todir"
 mknod "$fromdir/char" c 41 67  || test_skipped "Can't create char device node"
@@ -105,7 +107,11 @@ mknod "$fromdir/char3" c 42 69  || test_skipped "Can't create char device node"
 mknod "$fromdir/block" b 42 69 || test_skipped "Can't create block device node"
 mknod "$fromdir/block2" b 42 73 || test_skipped "Can't create block device node"
 mknod "$fromdir/block3" b 105 73 || test_skipped "Can't create block device node"
-ln "$fromdir/block3" "$fromdir/block3.5" || echo "Skipping hard-linked device test..."
+if test "$CAN_HLINK_SPECIAL" = yes; then
+    ln "$fromdir/block3" "$fromdir/block3.5"
+else
+    echo "Skipping hard-linked device test..."
+fi
 mkfifo "$fromdir/fifo" || mknod "$fromdir/fifo" p || test_skipped "Can't run mkfifo"
 # Work around time rounding/truncating issue by touching both files.
 touch -r "$fromdir/block" "$fromdir/block" "$fromdir/block2"
@@ -147,7 +153,7 @@ cD$all_plus char2
 cD$all_plus char3
 cS$all_plus fifo
 EOT
-if test ! -r "$fromdir/block3.5"; then
+if test "$CAN_HLINK_SPECIAL" = no; then
     grep -v block3.5 <"$chkfile" >"$chkfile.new"
     mv "$chkfile.new" "$chkfile"
 fi
@@ -159,7 +165,7 @@ echo ""
 ( cd "$todir" && rsync_ls_lR . ) > "$tmpdir/ls-to"
 diff $diffopt "$tmpdir/ls-from" "$tmpdir/ls-to"
 
-if test -r "$fromdir/block3.5"; then
+if test "$CAN_HLINK_SPECIAL" = yes; then
     set -x
     $RSYNC -aii --link-dest="$todir" "$fromdir/" "$chkdir/" \
 	| tee "$outfile"


-- 
The rsync repository.



More information about the rsync-cvs mailing list