From b3fbe3ce35f9c0f35b9c2f00b3157643255a330d Mon Sep 17 00:00:00 2001 From: Wayne Davison Date: Tue, 24 Apr 2007 17:22:01 +0000 Subject: [PATCH] The chown script now has a --fake-super mode if the script name has "fake" in it. Added a symlink named chown-fake.test. --- testsuite/chown.test | 45 +++++++++++++++++++++++++++++++++----------- 1 file changed, 34 insertions(+), 11 deletions(-) diff --git a/testsuite/chown.test b/testsuite/chown.test index 698593b6..609ba921 100644 --- a/testsuite/chown.test +++ b/testsuite/chown.test @@ -13,13 +13,38 @@ . "$suitedir/rsync.fns" -case `id -u` in -'') ;; # If "id" failed, try to continue... -0) ;; -*) if [ -f /usr/bin/fakeroot ]; then - echo "Let's try re-running the script under fakeroot..." - exec /usr/bin/fakeroot /bin/sh "$0" - fi +case $0 in +*fake*) + $RSYNC --version | grep ", xattrs" >/dev/null || test_skipped "Rsync needs xattrs for fake device tests" + RSYNC="$RSYNC --fake-super" + TLS_ARGS=--fake-super + case "`xattr 2>&1`" in + *--list:*) + chown() { + own=$1 + shift + xattr -s 'rsync.%stat' "100644 0,0 $own" "${@}" + } + ;; + *) + chown() { + own=$1 + shift + setfattr -n 'user.rsync.%stat' -v "100644 0,0 $own" "${@}" + } + ;; + esac + ;; +*) + case `id -u` in + '') ;; # If "id" failed, try to continue... + 0) ;; + *) if [ -f /usr/bin/fakeroot ]; then + echo "Let's try re-running the script under fakeroot..." + exec /usr/bin/fakeroot /bin/sh "$0" + fi + ;; + esac ;; esac @@ -31,10 +56,8 @@ name2="$fromdir/name2" echo "This is the file" > "$name1" echo "This is the other file" > "$name2" -chown 5000 "$name1" || test_skipped "Can't chown (probably need root)" -chown 5001 "$name2" || test_skipped "Can't chown (probably need root)" -chgrp 5002 "$name1" || test_skipped "Can't chgrp (probably need root)" -chgrp 5003 "$name2" || test_skipped "Can't chgrp (probably need root)" +chown 5000:5002 "$name1" || test_skipped "Can't chown (probably need root)" +chown 5001:5003 "$name2" || test_skipped "Can't chown (probably need root)" cd "$fromdir/.." checkit "$RSYNC -aHvv from/ to/" "$fromdir" "$todir" -- 2.34.1