--- embedaddon/rsync/testsuite/chown.test 2012/02/17 15:09:30 1.1.1.1 +++ embedaddon/rsync/testsuite/chown.test 2013/10/14 07:51:15 1.1.1.2 @@ -18,14 +18,25 @@ case $0 in $RSYNC --version | grep ", xattrs" >/dev/null || test_skipped "Rsync needs xattrs for fake device tests" RSYNC="$RSYNC --fake-super" TLS_ARGS="$TLS_ARGS --fake-super" - case "`xattr 2>&1`" in - *--list:*) + case "$HOST_OS" in + darwin*) chown() { own=$1 shift xattr -s 'rsync.%stat' "100644 0,0 $own" "${@}" } ;; + solaris*) + chown() { + own=$1 + shift + for fn in "${@}"; do + runat "$fn" "$SHELL_PATH" < rsync.%stat +EOF + done + } + ;; *) chown() { own=$1 @@ -40,9 +51,9 @@ case $0 in case `get_testuid` in '') ;; # If "id" failed, try to continue... 0) ;; - *) if [ -f /usr/bin/fakeroot ]; then + *) if [ -e "$FAKEROOT_PATH" ]; then echo "Let's try re-running the script under fakeroot..." - exec /usr/bin/fakeroot /bin/sh "$0" + exec "$FAKEROOT_PATH" "$SHELL_PATH" "$0" fi ;; esac