blob: 6433712452ec9817589d554938ff215c5affa449 (
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
|
#!/bin/sh
#set -vx
PKG_BATCH=${BATCH:=NO}
PKG_PREFIX=${PKG_PREFIX:=/usr/local}
SERVERVARDIR=/var/spool/afbackup
#
# create 'afbackup' user before installing
#
dlg() {
if [ X"${NONINTERACTIVE}" != "XYES" ]; then
dialog "$@"
return $?
else
i=1
while [ $i -lt $# ]; do
eval 'arg="$'$i'"'
if [ $arg = '--msgbox' ]; then
eval 'echo "$'$(($i+1))'"'
return 0
fi
i=$(($i+1))
done
fi
return 0;
}
create() {
if [ ! -x /usr/sbin/pw ]; then
dlg --msgbox "Please add a user named \`afbackup' before installing this package." 6 60
exit 69
fi
if [ -x /sbin/nologin ]; then
shell=/sbin/nologin
else
shell=/nonexistent
fi
if ! pw show user afbackup -q >/dev/null; then
if ! dlg --clear --yesno "There is no user afbackup on your system.\n\nDo you want it to be created?" 7 60; then
dlg --msgbox "Please add a user named \`afbackup' before installing this package." 6 60
exit 69
fi
uid=100
while pw show user -u ${uid} -q >/dev/null; do
uid=`expr ${uid} + 1`
done
if ! pw add user afbackup -u ${uid} -g operator -d "/nonexistent" \
-c "AFBackup System Owner" -s "${shell}" \
; then
e=$?
dlg --msgbox "Failed to add an account for \`afbackup' user. Please add it manually." 6 60
exit ${e}
fi
echo "==> Added user \`afbackup' (id ${uid})"
else
if ! pw mod user afbackup -g operator -d "/nonexistent" \
-c "AFBackup System Owner" -s "${shell}" \
; then
e=$?
dlg --msgbox "Failed to update user \`afbackup'." 6 60
exit ${e}
fi
echo "==> Updated user \`afbackup'."
fi
}
case $2 in
PRE-INSTALL)
create
;;
POST-INSTALL)
case $1 in
*-client*)
;;
*)
if [ ! -d ${SERVERVARDIR} ]; then
install -d -o afbackup -g operator ${SERVERVARDIR}
touch ${SERVERVARDIR}/readonly_tapes
fi
;;
esac
;;
esac
|