|
version 1.1.1.2, 2013/10/14 07:51:15
|
version 1.1.1.3, 2021/03/17 00:32:36
|
|
Line 16 outfile="$scratchdir/rsync.out"
|
Line 16 outfile="$scratchdir/rsync.out"
|
| |
|
| case $0 in |
case $0 in |
| *fake*) |
*fake*) |
| $RSYNC --version | grep ", xattrs" >/dev/null || test_skipped "Rsync needs xattrs for fake device tests" | $RSYNC --version | grep "[, ] xattrs" >/dev/null || test_skipped "Rsync needs xattrs for fake device tests" |
| RSYNC="$RSYNC --fake-super" |
RSYNC="$RSYNC --fake-super" |
| TLS_ARGS="$TLS_ARGS --fake-super" |
TLS_ARGS="$TLS_ARGS --fake-super" |
| case "$HOST_OS" in |
case "$HOST_OS" in |
|
Line 50 echo "$mode $maj,$min 0:0" > rsync.%stat
|
Line 50 echo "$mode $maj,$min 0:0" > rsync.%stat
|
| EOF |
EOF |
| } |
} |
| ;; |
;; |
| |
freebsd*) |
| |
mknod() { |
| |
fn="$1" |
| |
case "$2" in |
| |
p) mode=10644 ;; |
| |
c) mode=20644 ;; |
| |
b) mode=60644 ;; |
| |
esac |
| |
maj="${3:-0}" |
| |
min="${4:-0}" |
| |
touch "$fn" |
| |
setextattr -h user "rsync.%stat" "$mode $maj,$min 0:0" "$fn" |
| |
} |
| |
;; |
| *) |
*) |
| mknod() { |
mknod() { |
| fn="$1" |
fn="$1" |
|
Line 67 EOF
|
Line 81 EOF
|
| esac |
esac |
| ;; |
;; |
| *) |
*) |
| case `get_testuid` in | my_uid=`get_testuid` |
| '') ;; # If "id" failed, try to continue... | root_uid=`get_rootuid` |
| 0) ;; | if test x"$my_uid" = x; then |
| *) if [ -e "$FAKEROOT_PATH" ]; then | : # If "id" failed, try to continue... |
| | elif test x"$my_uid" != x"$root_uid"; then |
| | if [ -e "$FAKEROOT_PATH" ]; then |
| echo "Let's try re-running the script under fakeroot..." |
echo "Let's try re-running the script under fakeroot..." |
| exec "$FAKEROOT_PATH" "$SHELL_PATH" $RUNSHFLAGS "$0" |
exec "$FAKEROOT_PATH" "$SHELL_PATH" $RUNSHFLAGS "$0" |
| fi |
fi |
| test_skipped "Rsync needs root/fakeroot for device tests" |
test_skipped "Rsync needs root/fakeroot for device tests" |
| ;; | fi |
| esac | |
| ;; |
;; |
| esac |
esac |
| |
|
| # TODO: Need to test whether hardlinks are possible on this OS/filesystem |
# 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 "$fromdir" |
| mkdir "$todir" |
mkdir "$todir" |
| mknod "$fromdir/char" c 41 67 || test_skipped "Can't create char device node" |
mknod "$fromdir/char" c 41 67 || test_skipped "Can't create char device node" |
|
Line 90 mknod "$fromdir/char3" c 42 69 || test_skipped "Can't
|
Line 107 mknod "$fromdir/char3" c 42 69 || test_skipped "Can't
|
| mknod "$fromdir/block" b 42 69 || test_skipped "Can't create block 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/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" |
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" |
mkfifo "$fromdir/fifo" || mknod "$fromdir/fifo" p || test_skipped "Can't run mkfifo" |
| # Work around time rounding/truncating issue by touching both files. |
# Work around time rounding/truncating issue by touching both files. |
| touch -r "$fromdir/block" "$fromdir/block" "$fromdir/block2" |
touch -r "$fromdir/block" "$fromdir/block" "$fromdir/block2" |
|
Line 132 cD$all_plus char2
|
Line 153 cD$all_plus char2
|
| cD$all_plus char3 |
cD$all_plus char3 |
| cS$all_plus fifo |
cS$all_plus fifo |
| EOT |
EOT |
| if test ! -r "$fromdir/block3.5"; then | if test "$CAN_HLINK_SPECIAL" = no; then |
| grep -v block3.5 <"$chkfile" >"$chkfile.new" |
grep -v block3.5 <"$chkfile" >"$chkfile.new" |
| mv "$chkfile.new" "$chkfile" |
mv "$chkfile.new" "$chkfile" |
| fi |
fi |
|
Line 144 echo ""
|
Line 165 echo ""
|
| ( cd "$todir" && rsync_ls_lR . ) > "$tmpdir/ls-to" |
( cd "$todir" && rsync_ls_lR . ) > "$tmpdir/ls-to" |
| diff $diffopt "$tmpdir/ls-from" "$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 |
set -x |
| $RSYNC -aii --link-dest="$todir" "$fromdir/" "$chkdir/" \ |
$RSYNC -aii --link-dest="$todir" "$fromdir/" "$chkdir/" \ |
| | tee "$outfile" |
| tee "$outfile" |