blob: fbd5350d4787fe121ca686431bdcabcf93eb9c79 (
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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
|
#!/bin/sh
if [ $2 != "POST-INSTALL" ]
then
exit
fi
varrun=/var/run/bld
logfile=/var/log/bld.log
user=bld
group=bld
newsyslog_conf=/etc/newsyslog.conf
syslog_conf=/etc/syslog.conf
syslog_pid=/var/run/syslog.pid
nonexistent=/nonexistent
ask() {
local question default answer
question=$1
default=$2
if [ -z "${PACKAGE_BUILDING}" ]; then
read -p "${question} [${default}]? " answer
fi
if [ x${answer} = x ]; then
answer=${default}
fi
echo ${answer}
}
yesno() {
local dflt question answer
question=$1
dflt=$2
while :; do
answer=$(ask "${question}" "${dflt}")
case "${answer}" in
[Yy]*) return 0;;
[Nn]*) return 1;;
esac
echo "Please answer yes or no."
done
}
make_account() {
local u g gcos homeopt home
u=$1
g=$2
gcos=$3
homeopt=${4:+"-d $4"}
if pw group show "${g}" >/dev/null 2>&1; then
echo "You already have a group \"${g}\", so I will use it."
else
echo "You need a group \"${g}\"."
pw groupadd ${g} || exit
echo "Done."
fi
if pw user show "${u}" >/dev/null 2>&1; then
echo "You already have a user \"${u}\", so I will use it."
else
echo "You need a user \"${u}\"."
pw useradd ${u} -g ${g} -h - ${homeopt} \
-s $nonexistent -c "${gcos}" || exit
echo "Done."
fi
if [ x"$homeopt" = x ]; then
eval home=~${u}
if [ ! -d "${home}" ]; then
mkdir -p ${home}/.cvsup || exit
touch ${home}/.cvsup/auth || exit
chown -R ${u}:${g} ${home} || exit
chmod -R go= ${home} || exit
fi
fi
}
if [ ! -d "${varrun}" ]
then
mkdir ${varrun} || exit
fi
echo ""
make_account ${user} ${group} "Blacklist Daemon" "$nonexistent"
chmod 700 ${varrun}
chown bld ${varrun}
if grep -q "^[^#]*${facility}.*$logfile" $syslog_conf; then
echo -n "It looks like you already have some logging set up, so I "
echo "will use it."
else
echo "Setting up server logging in \"$syslog_conf\"."
cat <<EOF >>$syslog_conf
!bld
*.* $logfile
EOF
if [ ! -f $logfile ]; then
echo "Creating \"$logfile\"."
cp /dev/null $logfile
fi
if [ -f $syslog_pid ]; then
echo "Giving syslogd a kick in the pants."
kill -HUP $(cat $syslog_pid)
fi
echo "Adding bld log entry to \"$newsyslog_conf\"."
cat <<EOF >>$newsyslog_conf
$logfile 664 7 * 24 Z
EOF
echo "Done."
fi
# Compatibility from v0.2.4 port
for i in bld_acl.conf bld_whitelist.conf
do
if [ -f ${PKG_PREFIX}/etc/$i ]
then
if [ -f ${PKG_PREFIX}/etc/bld/$i ]
then
echo "WARNING: You have a $i configuration file in two directories:"
echo "${PKG_PREFIX}/etc and ${PKG_PREFIX}/etc/bld"
echo "You must use ${PREFIX}/etc/bld/$i"
else
echo "You seem to have a $i configuration file in ${PKG_PREFIX}/etc"
echo "Copying it to ${PKG_PREFIX}/etc/bld"
cp ${PKG_PREFIX}/etc/$i ${PKG_PREFIX}/etc/bld
echo "You should clean the old ${PKG_PREFIX}/etc/$i"
fi
fi
done
|