Gentoo Archives: gentoo-commits

From: "Eray Aslan (eras)" <eras@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in app-antivirus/clamav/files: clamd.initd-r3
Date: Fri, 01 Mar 2013 08:18:22
Message-Id: 20130301081817.BE2512171D@flycatcher.gentoo.org
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 }