blob: a476ad0777024ef8bd6f513e0d82e4084dd67d23 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
install_dir() {
mode="$1"
owner="$2"
group="$3"
path="$4"
if [ "$DRY" = 'YES' ]; then
before_mode_stat="$(stat -f '%p' "$path" 2>/dev/null || echo '????')"
before_mode_prefix="${before_mode_stat%????}"
before_mode="${before_mode_stat#"$before_mode_prefix"}"
before_mode_user_group="$(stat -f '%Su %Sg' "$path" 2>/dev/null || echo '???? ????')"
before_cmp="$before_mode $before_mode_user_group"
after_cmp="$mode $owner $group"
before="$before_cmp $path"
after="$after_cmp $path"
else
before="$(ls -dl "$path" 2>&1 || true)"
install -m "$mode" -o "$owner" -g "$group" -d "$path"
after="$(ls -dl "$path" 2>&1)"
before_cmp="$(echo "$before" | awk '{ print $1 " " $2 " " $3 " " $4 }')"
after_cmp="$(echo "$after" | awk '{ print $1 " " $2 " " $3 " " $4 }')"
fi
changed=''
if [ "$before_cmp" != "$after_cmp" ]; then
changed='YES'
fi
if [ "$changed" = 'YES' ]; then
echo '==='
echo "$before"
echo "$after"
fi
}
|