Set umask so that symlinks will have the right permissions on BSD.

This commit is contained in:
Martin Pool committed 2001-09-06 02:26:21 +00:00
1 parent b2f0246498
commit e052b21f32
1 file changed
+19
+19
View File
@@ -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.