mirror of
https://github.com/RsyncProject/rsync.git
synced 2026-10-24 14:48:16 -04:00
Set umask so that symlinks will have the right permissions on BSD.
This commit is contained in:
1 parent
b2f0246498
commit
e052b21f32
1 file changed
+19
@@ -20,10 +20,26 @@ printmsg() {
|
||||
echo "$1"
|
||||
}
|
||||
|
||||
|
||||
####################
|
||||
# Build test directories TO and FROM, with FROM full of files.
|
||||
|
||||
hands_setup() {
|
||||
[ -d $FROM ] || mkdir $FROM
|
||||
[ -d $TO ] || mkdir $TO
|
||||
|
||||
# On some BSD systems, the umask affects the mode of created
|
||||
# symlinks, even though the mode apparently has no effect on how
|
||||
# the links behave in the future, and it cannot be changed using
|
||||
# chmod! rsync always sets its umask to 000 so that it can
|
||||
# accurately recreate permissions, but this script is probably run
|
||||
# with a different umask.
|
||||
|
||||
# This causes a little problem that "ls -l" of the two will not be
|
||||
# the same. So, we need to set our umask before doing any creations.
|
||||
|
||||
umask 0
|
||||
|
||||
# set up test data
|
||||
touch ${FROM}/empty
|
||||
mkdir ${FROM}/emptydir
|
||||
@@ -42,9 +58,12 @@ hands_setup() {
|
||||
ls -ltr /etc > ${FROM}/dir/subdir/subsubdir/etc-ltr-list
|
||||
mkdir ${FROM}/dir/subdir/subsubdir2
|
||||
ls -lt /bin > ${FROM}/dir/subdir/subsubdir2/bin-lt-list
|
||||
|
||||
umask 077
|
||||
}
|
||||
|
||||
|
||||
|
||||
###########################
|
||||
# Run a test (in '$1') then compare directories $2 and $3 to see if
|
||||
# there are any difference. If there are, explain them.
|
||||
|
||||
Reference in new issue
Block a user