1 |
eras 13/03/01 08:18:17 |
2 |
|
3 |
Added: clamd.initd-r3 |
4 |
Log: |
5 |
Be nice to gentoo/bsd - bug #459686 |
6 |
|
7 |
(Portage version: 2.2.0_alpha163/cvs/Linux x86_64, signed Manifest commit with key 0x77F1F175586A3B1F) |
8 |
|
9 |
Revision Changes Path |
10 |
1.1 app-antivirus/clamav/files/clamd.initd-r3 |
11 |
|
12 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-antivirus/clamav/files/clamd.initd-r3?rev=1.1&view=markup |
13 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-antivirus/clamav/files/clamd.initd-r3?rev=1.1&content-type=text/plain |
14 |
|
15 |
Index: clamd.initd-r3 |
16 |
=================================================================== |
17 |
#!/sbin/runscript |
18 |
# Copyright 1999-2013 Gentoo Foundation |
19 |
# Distributed under the terms of the GNU General Public License v2 |
20 |
# $Header: /var/cvsroot/gentoo-x86/app-antivirus/clamav/files/clamd.initd-r3,v 1.1 2013/03/01 08:18:17 eras Exp $ |
21 |
|
22 |
daemon_clamd="/usr/sbin/clamd" |
23 |
daemon_freshclam="/usr/bin/freshclam" |
24 |
daemon_milter="/usr/sbin/clamav-milter" |
25 |
|
26 |
extra_commands="logfix" |
27 |
|
28 |
depend() { |
29 |
use net |
30 |
provide antivirus |
31 |
} |
32 |
|
33 |
get_config() { |
34 |
clamconf | sed 's/["=]//g' | \ |
35 |
awk "{ |
36 |
if(\$0==\"Config file: $1.conf\") S=1 |
37 |
if(S==1&&\$0==\"\") { |
38 |
print \"$3\" |
39 |
exit |
40 |
} |
41 |
if(S==1&&\$1~\"^$2\$\") { |
42 |
print \$2!=\"disabled\"?\$2:\"$3\" |
43 |
exit |
44 |
} |
45 |
}" |
46 |
} |
47 |
|
48 |
start() { |
49 |
local clamd_socket=$(get_config clamd LocalSocket /var/run/clamav/clamd.sock) |
50 |
local clamd_user=$(get_config clamd User clamav) |
51 |
local freshclam_user=$(get_config freshclam DatabaseOwner clamav) |
52 |
logfix |
53 |
|
54 |
if [ "${START_CLAMD}" = "yes" ]; then |
55 |
checkpath --quiet --mode 755 \ |
56 |
--owner "${clamd_user}":"${clamd_user}" \ |
57 |
--directory `dirname ${clamd_socket}` |
58 |
if [ -S "${clamd_socket}" ]; then |
59 |
rm -f ${clamd_socket} |
60 |
fi |
61 |
ebegin "Starting clamd" |
62 |
start-stop-daemon --start --quiet \ |
63 |
--nicelevel ${CLAMD_NICELEVEL:-0} \ |
64 |
--exec ${daemon_clamd} |
65 |
eend $? "Failed to start clamd" |
66 |
fi |
67 |
|
68 |
if [ "${START_FRESHCLAM}" = "yes" ]; then |
69 |
ebegin "Starting freshclam" |
70 |
start-stop-daemon --start --quiet \ |
71 |
--nicelevel ${FRESHCLAM_NICELEVEL:-0} \ |
72 |
--exec ${daemon_freshclam} -- -d |
73 |
retcode=$? |
74 |
if [ ${retcode} = 1 ]; then |
75 |
eend 0 |
76 |
einfo "Virus databases are already up to date." |
77 |
else |
78 |
eend ${retcode} "Failed to start freshclam" |
79 |
fi |
80 |
fi |
81 |
|
82 |
if [ "${START_MILTER}" = "yes" ]; then |
83 |
if [ -z "${MILTER_CONF_FILE}" ]; then |
84 |
MILTER_CONF_FILE="/etc/clamav-milter.conf" |
85 |
fi |
86 |
|
87 |
ebegin "Starting clamav-milter" |
88 |
start-stop-daemon --start --quiet \ |
89 |
--nicelevel ${MILTER_NICELEVEL:-0} \ |
90 |
--exec ${daemon_milter} -- -c ${MILTER_CONF_FILE} |
91 |
eend $? "Failed to start clamav-milter" |
92 |
fi |
93 |
} |
94 |
|
95 |
stop() { |
96 |
if [ "${START_CLAMD}" = "yes" ]; then |
97 |
ebegin "Stopping clamd" |
98 |
start-stop-daemon --stop --quiet --name clamd |
99 |
eend $? "Failed to stop clamd" |
100 |
fi |
101 |
if [ "${START_FRESHCLAM}" = "yes" ]; then |
102 |
ebegin "Stopping freshclam" |
103 |
start-stop-daemon --stop --quiet --name freshclam |
104 |
eend $? "Failed to stop freshclam" |
105 |
fi |
106 |
if [ "${START_MILTER}" = "yes" ]; then |
107 |
ebegin "Stopping clamav-milter" |
108 |
start-stop-daemon --stop --quiet --name clamav-milter |
109 |
eend $? "Failed to stop clamav-milter" |
110 |
fi |
111 |
} |
112 |
|
113 |
logfix() { |
114 |
if [ "${START_CLAMD}" = "yes" ]; then |
115 |
# fix clamd log permissions |
116 |
# (might be clobbered by logrotate or something) |
117 |
local logfile=$(get_config clamd LogFile) |
118 |
if [ -n "${logfile}" ]; then |
119 |
checkpath --quiet \ |
120 |
--owner "${clamd_user}":"${clamd_user}" \ |
121 |
--mode 640 \ |
122 |
--file ${logfile} |
123 |
fi |
124 |
fi |
125 |
|
126 |
if [ "${START_FRESHCLAM}" = "yes" ]; then |
127 |
# fix freshclam log permissions |
128 |
# (might be clobbered by logrotate or something) |
129 |
local logfile=$(get_config freshclam UpdateLogFile) |
130 |
if [ -n "${logfile}" ]; then |
131 |
checkpath --quiet \ |
132 |
--owner "${freshclam_user}":"${freshclam_user}" \ |
133 |
--mode 640 \ |
134 |
--file ${logfile} |
135 |
fi |
136 |
fi |
137 |
} |