#! /bin/sh # This program is distributable under the terms of the GNU GPL (see # COPYING). # Test that rsync handles basic ACL preservation. . $srcdir/testsuite/rsync.fns $RSYNC --version | grep ", ACLs" >/dev/null || test_skipped "Rsync is configured without ACL support" case "$setfacl_nodef" in true) test_skipped "I don't know how to use your setfacl command" ;; esac makepath "$fromdir/foo" echo something >"$fromdir/file1" echo else >"$fromdir/file2" files='foo file1 file2' setfacl -m u:0:7 "$fromdir/foo" || test_skipped "Your filesystem has ACLs disabled" setfacl -m g:1:5 "$fromdir/foo" setfacl -m g:2:1 "$fromdir/foo" setfacl -m g:0:7 "$fromdir/foo" setfacl -m u:2:1 "$fromdir/foo" setfacl -m u:1:5 "$fromdir/foo" setfacl -m u:0:5 "$fromdir/file1" setfacl -m u:0:5 "$fromdir/file2" cd "$fromdir" $RSYNC -avvA $files "$todir/" getfacl $files >"$scratchdir/acls.txt" cd "$todir" getfacl $files | diff $diffopt "$scratchdir/acls.txt" - # The script would have aborted on error, so getting here means we've won. exit 0