[SCM] The rsync repository. - branch master updated

Rsync CVS commit messages rsync-cvs at lists.samba.org
Wed Jul 15 23:55:42 UTC 2020


The branch, master has been updated
       via  c6f5f0b5 Let's try cygwin again. (#69)
      from  f553da17 GitHub artifact test didn't work.

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


- Log -----------------------------------------------------------------
commit c6f5f0b5057e9323ac75bfcefed46d0a96759635
Author: Wayne Davison <wayne at opencoder.net>
Date:   Wed Jul 15 14:30:22 2020 -0700

    Let's try cygwin again. (#69)
    
    Setup an optional cygwin build that is currently triggered when a [buildall] is in the commit message (the build is currently quite slow).

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

Summary of changes:
 .cirrus.yml                 |  6 ++++--
 .github/workflows/build.yml | 39 +++++++++++++++++++++++++++++++++------
 testsuite/fuzzy.test        |  2 +-
 testsuite/itemize.test      | 12 ++++++------
 testsuite/rsync.fns         | 18 ++++++++++++++++--
 5 files changed, 60 insertions(+), 17 deletions(-)


Changeset truncated at 500 lines:

diff --git a/.cirrus.yml b/.cirrus.yml
index 1aa90052..15cbc2dc 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -2,6 +2,8 @@ freebsd_task:
   name: FreeBSD
   freebsd_instance:
     image: freebsd-12-1-release-amd64
+  env:
+    PATH: /usr/local/bin:$PATH
   prep_script:
     - dd if=/dev/zero of=/tmp/zpool bs=1M count=1024
     - zpool create -m `pwd`/testtmp zpool /tmp/zpool
@@ -13,8 +15,8 @@ freebsd_task:
   install_script:
     - make install
   info_script:
-    - /usr/local/bin/rsync --version
+    - rsync --version
   test_script:
     - make check
   ssl_file_list_script:
-    - /usr/local/bin/rsync-ssl --no-motd download.samba.org::rsyncftp/ || true
+    - rsync-ssl --no-motd download.samba.org::rsyncftp/ || true
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index fbab5cd4..fd0cf4d2 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -13,8 +13,9 @@ jobs:
     steps:
     - uses: actions/checkout at v2
     - name: prep
-      run: sudo apt-get install acl libacl1-dev attr libattr1-dev
-        liblz4-dev libzstd-dev libxxhash-dev python3-cmarkgfm openssl
+      run: |
+        sudo apt-get install acl libacl1-dev attr libattr1-dev liblz4-dev libzstd-dev libxxhash-dev python3-cmarkgfm openssl
+        echo "::add-path::/usr/local/bin"
     - name: configure
       run: ./configure --with-included-popt --with-included-zlib
     - name: make
@@ -22,7 +23,7 @@ jobs:
     - name: install
       run: sudo make install
     - name: info
-      run: /usr/local/bin/rsync --version
+      run: rsync --version
     - name: check
       run: sudo make check
     - name: check30
@@ -30,7 +31,7 @@ jobs:
     - name: check29
       run: sudo make check29
     - name: ssl file list
-      run: /usr/local/bin/rsync-ssl --no-motd download.samba.org::rsyncftp/ || true
+      run: rsync-ssl --no-motd download.samba.org::rsyncftp/ || true
 
   macos-build:
     runs-on: macos-latest
@@ -40,6 +41,7 @@ jobs:
       run: |
         brew install automake openssl xxhash zstd lz4
         sudo pip3 install commonmark
+        echo "::add-path::/usr/local/bin"
     - name: configure
       run: CPPFLAGS=-I/usr/local/opt/openssl/include/ LDFLAGS=-L/usr/local/opt/openssl/lib/ ./configure
     - name: make
@@ -47,8 +49,33 @@ jobs:
     - name: install
       run: sudo make install
     - name: info
-      run: /usr/local/bin/rsync --version
+      run: rsync --version
     - name: check
       run: sudo make check
     - name: ssl file list
-      run: /usr/local/bin/rsync-ssl --no-motd download.samba.org::rsyncftp/ || true
+      run: rsync-ssl --no-motd download.samba.org::rsyncftp/ || true
+
+  cygwin-build:
+    runs-on: windows-latest
+    if: "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: prep
+      run: |
+        cyg-get make autoconf automake gcc-core libssl-devel libzstd-devel liblz4-devel
+        echo "::add-path::C:/tools/cygwin/bin"
+    - name: configure
+      run: bash -c './configure --disable-md2man --disable-xxhash'
+    - name: make
+      run: bash -c 'make'
+    - name: install
+      run: bash -c 'make install'
+    - name: info
+      run: bash -c '/usr/local/bin/rsync --version'
+    - name: check
+      run: bash -c 'make check'
+    - name: ssl file list
+      run: bash -c 'PATH="/usr/local/bin:$PATH" rsync-ssl --no-motd download.samba.org::rsyncftp/ || true'
diff --git a/testsuite/fuzzy.test b/testsuite/fuzzy.test
index 39726a03..05c5b068 100644
--- a/testsuite/fuzzy.test
+++ b/testsuite/fuzzy.test
@@ -12,7 +12,7 @@
 mkdir "$fromdir"
 mkdir "$todir"
 
-cp -p "$srcdir"/rsync.c "$fromdir"/rsync.c
+cp_p "$srcdir"/rsync.c "$fromdir"/rsync.c
 cp_touch "$fromdir"/rsync.c "$todir"/rsync2.c
 sleep 1
 
diff --git a/testsuite/itemize.test b/testsuite/itemize.test
index c37f9785..9988cb72 100644
--- a/testsuite/itemize.test
+++ b/testsuite/itemize.test
@@ -17,9 +17,9 @@ outfile="$scratchdir/rsync.out"
 
 makepath "$fromdir/foo"
 makepath "$fromdir/bar/baz"
-cp -p "$srcdir/configure.ac" "$fromdir/foo/config1"
-cp -p "$srcdir/config.sub" "$fromdir/foo/config2"
-cp -p "$srcdir/rsync.h" "$fromdir/bar/baz/rsync"
+cp_p "$srcdir/configure.ac" "$fromdir/foo/config1"
+cp_p "$srcdir/config.sub" "$fromdir/foo/config2"
+cp_p "$srcdir/rsync.h" "$fromdir/bar/baz/rsync"
 chmod 600 "$fromdir"/foo/config? "$fromdir/bar/baz/rsync"
 umask 0
 ln -s ../bar/baz/rsync "$fromdir/foo/sym"
@@ -66,7 +66,7 @@ diff $diffopt "$chkfile" "$outfile" || test_fail "test 1 failed"
 # Ensure there are no accidental directory-time problems.
 $RSYNC -a -f '-! */' "$fromdir/" "$todir"
 
-cp -p "$srcdir/configure.ac" "$fromdir/foo/config2"
+cp_p "$srcdir/configure.ac" "$fromdir/foo/config2"
 chmod 601 "$fromdir/foo/config2"
 $RSYNC -iplrH "$fromdir/" "$todir/" \
     | tee "$outfile"
@@ -79,7 +79,7 @@ EOT
 diff $diffopt "$chkfile" "$outfile" || test_fail "test 2 failed"
 
 $RSYNC -a -f '-! */' "$fromdir/" "$todir"
-cp -p "$srcdir/config.sub" "$fromdir/foo/config2"
+cp_p "$srcdir/config.sub" "$fromdir/foo/config2"
 sleep 1 # For directory mod below to ensure time difference
 rm "$todir/foo/sym"
 umask 0
@@ -99,7 +99,7 @@ cLc$T.$dots foo/sym -> ../bar/baz/rsync
 EOT
 diff $diffopt "$chkfile" "$outfile" || test_fail "test 3 failed"
 
-cp -p "$srcdir/configure.ac" "$fromdir/foo/config2"
+cp_p "$srcdir/configure.ac" "$fromdir/foo/config2"
 chmod 600 "$fromdir/foo/config2"
 # Lack of -t is for unchanged hard-link stress-test!
 $RSYNC -vvplrH "$fromdir/" "$todir/" \
diff --git a/testsuite/rsync.fns b/testsuite/rsync.fns
index fb1721f3..68389e70 100644
--- a/testsuite/rsync.fns
+++ b/testsuite/rsync.fns
@@ -1,4 +1,4 @@
-#! /bin/sh
+#!/bin/sh
 
 # Copyright (C) 2001 by Martin Pool <mbp at samba.org>
 
@@ -62,7 +62,7 @@ set_cp_destdir() {
 # Perform a "cp -p", making sure that timestamps are really the same,
 # even if the copy rounded microsecond times on the destination file.
 cp_touch() {
-    cp -p "${@}" || test_fail "cp -p failed"
+    cp_p "${@}"
     if test $# -gt 2 -o -d "$2"; then
 	set_cp_destdir "${@}" # sets destdir var
 	while test $# -gt 1; do
@@ -125,6 +125,20 @@ get_rootgid() {
     esac
 }
 
+# When copying via "cp -p", we want to ensure that a non-root user does not
+# preserve ownership (we want our files to be created as the testing user).
+# For instance, a Cygwin CI run might have git files owned by a different
+# user than the (admin) user running the tests.
+cp_cmd="cp -p"
+if test x`get_testuid` != x0; then
+    case `cp --help 2>/dev/null` in
+	*--no-preserve=*) cp_cmd="cp -p --no-preserve=ownership" ;;
+    esac
+fi
+cp_p() {
+    $cp_cmd "${@}" || test_fail "$cp_cmd failed"
+}
+
 check_perms() {
     perms=`"$TOOLDIR/tls" "$1" | sed 's/^[-d]\(.........\).*/\1/'`
     if test $perms = $2; then


-- 
The rsync repository.



More information about the rsync-cvs mailing list