Gentoo Archives: gentoo-commits

From: "Robin H. Johnson (robbat2)" <robbat2@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in mail-filter/dcc/files: dcc.initd-1.3.154
Date: Sat, 28 Dec 2013 04:33:13
Message-Id: 20131228043308.631302004C@flycatcher.gentoo.org
1 robbat2 13/12/28 04:33:08
2
3 Added: dcc.initd-1.3.154
4 Log:
5 Bug #452328: bump, also bashisms in init script.
6
7 (Portage version: 2.2.7/cvs/Linux x86_64, unsigned Manifest commit)
8
9 Revision Changes Path
10 1.1 mail-filter/dcc/files/dcc.initd-1.3.154
11
12 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/mail-filter/dcc/files/dcc.initd-1.3.154?rev=1.1&view=markup
13 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/mail-filter/dcc/files/dcc.initd-1.3.154?rev=1.1&content-type=text/plain
14
15 Index: dcc.initd-1.3.154
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/mail-filter/dcc/files/dcc.initd-1.3.154,v 1.1 2013/12/28 04:33:08 robbat2 Exp $
21
22 depend() {
23 use logger
24 need net
25 before mta
26 }
27
28 checkconfig() {
29 if [ ! -f "/etc/dcc/dcc_conf" ]; then
30 eerror "You need a DCC configuration in /etc/dcc/dcc_conf"
31 return 1
32 fi
33 for i in DCCD_ENABLE GREY_ENABLE DCCM_ENABLE DCCIFD_ENABLE DCC_LIBEXEC DCC_RUNDIR \
34 SOCKET_USER SOCKET_GROUP SOCKET_MODE; do
35 read -r ${i} <<-EOF
36 $( grep ^[[:space:]]*${i} /etc/dcc/dcc_conf | sed s/.*=// )
37 EOF
38 done
39 DCC_RUNDIR="${DCC_RUNDIR:-/var/run/dcc}"
40 if [ ! -d "${DCC_RUNDIR}" ]; then
41 checkpath -q -d -o root:root -m 0755 "${DCC_RUNDIR}" || return 1
42 fi
43 }
44
45 start() {
46 checkconfig || return 1
47 local atleastone="${DCCD_ENABLE}${GREY_ENABLE}${DCCM_ENABLE}${DCCIFD_ENABLE}"
48 atleastone=$( echo ${atleastone} | tr -d 'off' )
49 if [ -z "${atleastone}" ]; then
50 eend 1 "At least one service should be 'on' in /etc/dcc/dcc_conf"
51 return 1
52 fi
53
54 if [ "${DCCD_ENABLE}" = "on" ] && [ -x "${DCC_LIBEXEC}/start-dccd" ]; then
55 ebegin "Starting dccd"
56 ${DCC_LIBEXEC}/start-dccd >/dev/null 2>&1
57 eend ${?}
58 fi
59
60 if [ "${GREY_ENABLE}" = "on" ] && [ -x "${DCC_LIBEXEC}/start-grey" ]; then
61 ebegin "Starting grey"
62 ${DCC_LIBEXEC}/start-grey >/dev/null 2>&1
63 eend ${?}
64 fi
65
66 if [ "${DCCM_ENABLE}" = "on" ] && [ -x "${DCC_LIBEXEC}/start-dccm" ]; then
67 ebegin "Starting dccm"
68 ${DCC_LIBEXEC}/start-dccm >/dev/null 2>&1
69 eend ${?}
70 local dccmtimeout=0
71 while [ ${dcctimeout} -le 20 ] ; do
72 if [ -S "${DCC_RUNDIR}/dccm" ] || [ -r "${DCC_RUNDIR}/dccm" ]; then
73 break
74 else
75 sleep 1
76 dcctimeout=$(($dcctimeout + 1))
77 fi
78 done
79 chown ${SOCKET_USER:-milter}:${SOCKET_GROUP:-milter} ${DCC_RUNDIR}/dccm 1>/dev/null 2>&1
80 chmod ${SOCKET_MODE:-664} ${DCC_RUNDIR}/dccm 1>/dev/null 2>&1
81 sed -i -e "s:^\-::" ${DCC_RUNDIR}/dccm.pid 1>/dev/null 2>&1 || return 1
82 fi
83
84 if [ "${DCCIFD_ENABLE}" = "on" ] && [ -x "${DCC_LIBEXEC}/start-dccifd" ]; then
85 ebegin "Starting dccif"
86 ${DCC_LIBEXEC}/start-dccifd >/dev/null 2>&1
87 eend ${?}
88 fi
89 }
90
91 stop() {
92 checkconfig || return 1
93
94 if [ -r "${DCC_RUNDIR}/dccifd.pid" ]; then
95 ebegin "Stopping dccif"
96 kill -s 15 $(cat ${DCC_RUNDIR}/dccifd.pid) 2>/dev/null
97 eend ${?}
98 fi
99
100 if [ -r "${DCC_RUNDIR}/dccm.pid" ]; then
101 ebegin "Stopping dccm"
102 kill -s 15 $(cat ${DCC_RUNDIR}/dccm.pid) 2>/dev/null
103 eend ${?}
104 fi
105
106 if (pidof dccd >/dev/null 2>&1) && [ -x "${DCC_LIBEXEC}/stop-dccd" ]; then
107 ebegin "Stopping dccd"
108 ${DCC_LIBEXEC}/stop-dccd >/dev/null 2>&1
109 eend ${?}
110 fi
111
112 if (pidof dccd >/dev/null 2>&1) && [ -x "${DCC_LIBEXEC}/stop-dccd" ]; then
113 ebegin "Stopping grey"
114 ${DCC_LIBEXEC}/stop-dccd -G >/dev/null 2>&1
115 eend ${?}
116 fi
117 }