[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