Artifact
f1c7e7fda9f69f0d90cec93299f16dd841990173491a1c4ae09db96227aa2fff:
0000: 4f 54 48 45 52 5f 54 41 52 47 45 54 53 2b 3d 5f OTHER_TARGETS+=_
0010: 73 65 72 76 69 63 65 5f 70 72 65 0a 0a 53 54 41 service_pre..STA
0020: 52 54 45 52 3f 3d 73 76 63 0a 0a 5f 73 65 72 76 RTER?=svc.._serv
0030: 69 63 65 5f 63 68 65 63 6b 3a 20 2e 55 53 45 42 ice_check: .USEB
0040: 45 46 4f 52 45 0a 09 23 20 63 68 65 63 6b 20 77 EFORE..# check w
0050: 68 65 74 68 65 72 20 73 65 72 76 69 63 65 20 69 hether service i
0060: 73 20 65 6e 61 62 6c 65 64 0a 09 69 66 20 5b 20 s enabled..if [
0070: 2d 7a 20 22 24 24 7b 44 41 45 4d 4f 4e 5f 24 40 -z "$${DAEMON_$@
0080: 5f 45 4e 41 42 4c 45 7d 22 20 2d 61 20 2d 7a 20 _ENABLE}" -a -z
0090: 22 24 7b 46 4f 52 43 45 7d 22 20 5d 3b 20 74 68 "${FORCE}" ]; th
00a0: 65 6e 20 5c 0a 09 09 65 78 69 74 20 30 20 3b 5c en \...exit 0 ;\
00b0: 0a 09 66 69 0a 09 23 20 63 68 65 63 6b 20 66 6f ..fi..# check fo
00c0: 72 20 66 69 72 73 74 20 70 72 65 73 65 6e 74 20 r first present
00d0: 65 78 65 63 75 74 61 62 6c 65 0a 09 66 6f 72 20 executable..for
00e0: 43 48 45 43 4b 5f 43 4d 44 20 69 6e 20 24 7b 44 CHECK_CMD in ${D
00f0: 41 45 4d 4f 4e 5f 24 40 5f 43 4f 4d 4d 41 4e 44 AEMON_$@_COMMAND
0100: 7d 3b 20 64 6f 20 5c 0a 09 09 69 66 20 5b 20 2d }; do \...if [ -
0110: 78 20 24 24 7b 43 48 45 43 4b 5f 43 4d 44 7d 20 x $${CHECK_CMD}
0120: 5d 3b 20 74 68 65 6e 20 5c 0a 09 09 09 65 78 70 ]; then \....exp
0130: 6f 72 74 20 43 4d 44 3d 22 24 24 7b 43 48 45 43 ort CMD="$${CHEC
0140: 4b 5f 43 4d 44 7d 22 20 3b 5c 0a 09 09 09 62 72 K_CMD}" ;\....br
0150: 65 61 6b 20 3b 5c 0a 09 09 66 69 20 3b 5c 0a 09 eak ;\...fi ;\..
0160: 64 6f 6e 65 0a 09 23 20 62 61 69 6c 20 6f 75 74 done..# bail out
0170: 20 69 66 20 62 69 6e 61 72 79 20 6e 6f 74 20 66 if binary not f
0180: 6f 75 6e 64 0a 09 69 66 20 5b 20 2d 7a 20 24 24 ound..if [ -z $$
0190: 7b 43 4d 44 7d 20 5d 3b 20 74 68 65 6e 20 5c 0a {CMD} ]; then \.
01a0: 09 09 65 63 68 6f 20 22 4d 52 43 3a 24 40 3e 20 ..echo "MRC:$@>
01b0: 45 78 65 63 75 74 61 62 6c 65 20 6e 6f 74 20 66 Executable not f
01c0: 6f 75 6e 64 2e 22 20 3b 5c 0a 09 09 65 78 69 74 ound." ;\...exit
01d0: 20 30 20 3b 5c 0a 09 66 69 0a 09 23 20 63 68 65 0 ;\..fi..# che
01e0: 63 6b 20 66 6f 72 20 72 74 70 72 69 6f 2f 69 64 ck for rtprio/id
01f0: 70 72 69 6f 0a 09 69 66 20 5b 20 2d 6e 20 22 24 prio..if [ -n "$
0200: 24 7b 44 41 45 4d 4f 4e 5f 24 40 5f 49 44 50 52 ${DAEMON_$@_IDPR
0210: 49 4f 7d 22 20 5d 3b 20 74 68 65 6e 20 5c 0a 09 IO}" ]; then \..
0220: 09 65 78 70 6f 72 74 20 43 4d 44 3d 22 2f 75 73 .export CMD="/us
0230: 72 2f 73 62 69 6e 2f 69 64 70 72 69 6f 20 24 24 r/sbin/idprio $$
0240: 7b 44 41 45 4d 4f 4e 5f 24 40 5f 49 44 50 52 49 {DAEMON_$@_IDPRI
0250: 4f 7d 20 24 24 7b 43 4d 44 7d 22 20 3b 5c 0a 09 O} $${CMD}" ;\..
0260: 65 6c 69 66 20 5b 20 2d 6e 20 22 24 24 7b 44 41 elif [ -n "$${DA
0270: 45 4d 4f 4e 5f 24 40 5f 52 54 50 52 49 4f 7d 22 EMON_$@_RTPRIO}"
0280: 20 5d 3b 20 74 68 65 6e 20 5c 0a 09 09 65 78 70 ]; then \...exp
0290: 6f 72 74 20 43 4d 44 3d 22 2f 75 73 72 2f 73 62 ort CMD="/usr/sb
02a0: 69 6e 2f 72 74 70 72 69 6f 20 24 24 7b 44 41 45 in/rtprio $${DAE
02b0: 4d 4f 4e 5f 24 40 5f 52 54 50 52 49 4f 7d 20 24 MON_$@_RTPRIO} $
02c0: 24 7b 43 4d 44 7d 22 20 3b 5c 0a 09 66 69 0a 0a ${CMD}" ;\..fi..
02d0: 5f 73 65 72 76 69 63 65 5f 70 72 65 3a 20 2e 55 _service_pre: .U
02e0: 53 45 42 45 46 4f 52 45 0a 09 23 20 6b 6c 64 6c SEBEFORE..# kldl
02f0: 6f 61 64 20 6d 6f 64 75 6c 65 73 20 69 66 20 61 oad modules if a
0300: 6e 79 0a 09 65 63 68 6f 20 22 4d 52 43 3a 24 40 ny..echo "MRC:$@
0310: 3e 20 53 74 61 72 74 69 6e 67 20 73 65 72 76 69 > Starting servi
0320: 63 65 2e 22 20 3b 5c 0a 09 69 66 20 5b 20 2d 6e ce." ;\..if [ -n
0330: 20 22 24 7b 44 41 45 4d 4f 4e 5f 24 40 5f 4d 4f "${DAEMON_$@_MO
0340: 44 55 4c 45 53 7d 22 20 5d 3b 20 74 68 65 6e 20 DULES}" ]; then
0350: 5c 0a 09 09 6b 6c 64 6c 6f 61 64 20 2d 6e 20 24 \...kldload -n $
0360: 7b 44 41 45 4d 4f 4e 5f 24 40 5f 4d 4f 44 55 4c {DAEMON_$@_MODUL
0370: 45 53 7d 3b 20 5c 0a 09 66 69 0a 0a 5f 73 65 72 ES}; \..fi.._ser
0380: 76 69 63 65 5f 70 6f 73 74 5f 65 78 69 74 3a 20 vice_post_exit:
0390: 2e 55 53 45 0a 09 65 63 68 6f 20 22 4d 52 43 3a .USE..echo "MRC:
03a0: 24 7b 40 3a 53 2f 5f 65 78 69 74 2f 2f 7d 3e 20 ${@:S/_exit//}>
03b0: 73 74 6f 70 70 65 64 2e 22 0a 0a 2e 66 6f 72 20 stopped."...for
03c0: 73 74 61 72 74 65 72 5f 73 6f 75 72 63 65 20 69 starter_source i
03d0: 6e 20 24 7b 3a 21 66 69 6e 64 20 2f 65 74 63 2f n ${:!find /etc/
03e0: 6d 72 63 20 2d 6e 61 6d 65 20 27 2a 2e 73 74 61 mrc -name '*.sta
03f0: 72 74 65 72 2e 6d 6b 27 21 3a 53 2f 5c 2f 65 74 rter.mk'!:S/\/et
0400: 63 5c 2f 6d 72 63 5c 2f 2f 2f 7d 0a 73 74 61 72 c\/mrc\///}.star
0410: 74 65 72 3a 3d 24 7b 73 74 61 72 74 65 72 5f 73 ter:=${starter_s
0420: 6f 75 72 63 65 3a 53 2f 2e 73 74 61 72 74 65 72 ource:S/.starter
0430: 2e 6d 6b 24 2f 2f 7d 0a 53 74 61 72 74 65 72 3a .mk$//}.Starter:
0440: 3d 24 7b 73 74 61 72 74 65 72 3a 74 75 7d 0a 0a =${starter:tu}..
0450: 4f 54 48 45 52 5f 54 41 52 47 45 54 53 3a 3d 24 OTHER_TARGETS:=$
0460: 7b 4f 54 48 45 52 5f 54 41 52 47 45 54 53 7d 20 {OTHER_TARGETS}
0470: 5f 73 65 72 76 69 63 65 5f 24 7b 73 74 61 72 74 _service_${start
0480: 65 72 7d 20 5f 73 65 72 76 69 63 65 5f 24 7b 73 er} _service_${s
0490: 74 61 72 74 65 72 7d 5f 65 78 69 74 20 5f 73 65 tarter}_exit _se
04a0: 72 76 69 63 65 5f 24 7b 73 74 61 72 74 65 72 7d rvice_${starter}
04b0: 5f 73 74 61 74 75 73 0a 0a 5f 53 45 52 56 49 43 _status.._SERVIC
04c0: 45 5f 24 7b 53 74 61 72 74 65 72 7d 3a 3d 5f 73 E_${Starter}:=_s
04d0: 65 72 76 69 63 65 5f 70 72 65 20 44 41 45 4d 4f ervice_pre DAEMO
04e0: 4e 20 5f 73 65 72 76 69 63 65 5f 24 7b 73 74 61 N _service_${sta
04f0: 72 74 65 72 7d 20 5f 73 65 72 76 69 63 65 5f 63 rter} _service_c
0500: 68 65 63 6b 0a 5f 45 41 52 4c 59 53 45 52 56 49 heck._EARLYSERVI
0510: 43 45 5f 24 7b 53 74 61 72 74 65 72 7d 3a 3d 5f CE_${Starter}:=_
0520: 73 65 72 76 69 63 65 5f 70 72 65 20 53 45 52 56 service_pre SERV
0530: 49 43 45 20 5f 73 65 72 76 69 63 65 5f 24 7b 73 ICE _service_${s
0540: 74 61 72 74 65 72 7d 20 5f 73 65 72 76 69 63 65 tarter} _service
0550: 5f 63 68 65 63 6b 0a 5f 53 45 52 56 49 43 45 5f _check._SERVICE_
0560: 24 7b 53 74 61 72 74 65 72 7d 5f 45 58 49 54 3a ${Starter}_EXIT:
0570: 3d 5f 73 65 72 76 69 63 65 5f 24 7b 73 74 61 72 =_service_${star
0580: 74 65 72 7d 5f 65 78 69 74 20 5f 73 65 72 76 69 ter}_exit _servi
0590: 63 65 5f 70 6f 73 74 5f 65 78 69 74 0a 0a 2e 69 ce_post_exit...i
05a0: 66 20 22 24 7b 53 54 41 52 54 45 52 7d 22 20 3d f "${STARTER}" =
05b0: 3d 20 22 24 7b 73 74 61 72 74 65 72 7d 22 0a 5f = "${starter}"._
05c0: 53 45 52 56 49 43 45 3a 3d 5f 73 65 72 76 69 63 SERVICE:=_servic
05d0: 65 5f 70 72 65 20 44 41 45 4d 4f 4e 20 5f 73 65 e_pre DAEMON _se
05e0: 72 76 69 63 65 5f 24 7b 73 74 61 72 74 65 72 7d rvice_${starter}
05f0: 20 5f 73 65 72 76 69 63 65 5f 63 68 65 63 6b 0a _service_check.
0600: 5f 45 41 52 4c 59 53 45 52 56 49 43 45 3a 3d 5f _EARLYSERVICE:=_
0610: 73 65 72 76 69 63 65 5f 70 72 65 20 53 45 52 56 service_pre SERV
0620: 49 43 45 20 5f 73 65 72 76 69 63 65 5f 24 7b 73 ICE _service_${s
0630: 74 61 72 74 65 72 7d 20 5f 73 65 72 76 69 63 65 tarter} _service
0640: 5f 63 68 65 63 6b 0a 5f 53 45 52 56 49 43 45 5f _check._SERVICE_
0650: 45 58 49 54 3a 3d 5f 73 65 72 76 69 63 65 5f 24 EXIT:=_service_$
0660: 7b 73 74 61 72 74 65 72 7d 5f 65 78 69 74 20 5f {starter}_exit _
0670: 73 65 72 76 69 63 65 5f 70 6f 73 74 5f 65 78 69 service_post_exi
0680: 74 0a 2e 65 6e 64 69 66 0a 0a 2e 65 78 70 6f 72 t..endif...expor
0690: 74 0a 2e 69 6e 63 6c 75 64 65 20 22 24 7b 73 74 t..include "${st
06a0: 61 72 74 65 72 5f 73 6f 75 72 63 65 7d 22 0a 2e arter_source}"..
06b0: 65 6e 64 66 6f 72 0a endfor.