#! /bin/sh # Copyright (C) 2002 by Martin Pool # This program is distributable under the terms of the GNU GPL (see # COPYING). # Test that when rsync is running as root and has -a it correctly sets # the ownership of the destination. # We don't know what users will be present on this system, so we just # use random numeric uids and gids. . "$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 ;; esac # Build some hardlinks mkdir "$fromdir" name1="$fromdir/name1" 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)" checkit "$RSYNC -aHvv \"$fromdir/\" \"$todir/\"" "$fromdir" "$todir" # The script would have aborted on error, so getting here means we've won. exit 0