Artifact
9b32380e7d57b85c9d1731aafe5aafe95e0e5ec16994710d80c470e79e02e91b:
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 0a 5f 73 65 72 76 0 ;\..fi.._serv
01e0: 69 63 65 5f 63 68 65 63 6b 5f 73 74 61 72 74 3a ice_check_start:
01f0: 20 2e 55 53 45 42 45 46 4f 52 45 0a 09 23 20 63 .USEBEFORE..# c
0200: 68 65 63 6b 20 66 6f 72 20 72 74 70 72 69 6f 2f heck for rtprio/
0210: 69 64 70 72 69 6f 0a 09 69 66 20 5b 20 2d 6e 20 idprio..if [ -n
0220: 22 24 24 7b 44 41 45 4d 4f 4e 5f 24 40 5f 49 44 "$${DAEMON_$@_ID
0230: 50 52 49 4f 7d 22 20 5d 3b 20 74 68 65 6e 20 5c PRIO}" ]; then \
0240: 0a 09 09 65 78 70 6f 72 74 20 43 4d 44 3d 22 2f ...export CMD="/
0250: 75 73 72 2f 73 62 69 6e 2f 69 64 70 72 69 6f 20 usr/sbin/idprio
0260: 24 24 7b 44 41 45 4d 4f 4e 5f 24 40 5f 49 44 50 $${DAEMON_$@_IDP
0270: 52 49 4f 7d 20 24 24 7b 43 4d 44 7d 22 20 3b 5c RIO} $${CMD}" ;\
0280: 0a 09 65 6c 69 66 20 5b 20 2d 6e 20 22 24 24 7b ..elif [ -n "$${
0290: 44 41 45 4d 4f 4e 5f 24 40 5f 52 54 50 52 49 4f DAEMON_$@_RTPRIO
02a0: 7d 22 20 5d 3b 20 74 68 65 6e 20 5c 0a 09 09 65 }" ]; then \...e
02b0: 78 70 6f 72 74 20 43 4d 44 3d 22 2f 75 73 72 2f xport CMD="/usr/
02c0: 73 62 69 6e 2f 72 74 70 72 69 6f 20 24 24 7b 44 sbin/rtprio $${D
02d0: 41 45 4d 4f 4e 5f 24 40 5f 52 54 50 52 49 4f 7d AEMON_$@_RTPRIO}
02e0: 20 24 24 7b 43 4d 44 7d 22 20 3b 5c 0a 09 66 69 $${CMD}" ;\..fi
02f0: 0a 0a 5f 73 65 72 76 69 63 65 5f 70 72 65 3a 20 .._service_pre:
0300: 2e 55 53 45 42 45 46 4f 52 45 0a 09 23 20 6b 6c .USEBEFORE..# kl
0310: 64 6c 6f 61 64 20 6d 6f 64 75 6c 65 73 20 69 66 dload modules if
0320: 20 61 6e 79 0a 09 65 63 68 6f 20 22 4d 52 43 3a any..echo "MRC:
0330: 24 40 3e 20 53 74 61 72 74 69 6e 67 20 73 65 72 $@> Starting ser
0340: 76 69 63 65 2e 22 20 3b 5c 0a 09 69 66 20 5b 20 vice." ;\..if [
0350: 2d 6e 20 22 24 7b 44 41 45 4d 4f 4e 5f 24 40 5f -n "${DAEMON_$@_
0360: 4d 4f 44 55 4c 45 53 7d 22 20 5d 3b 20 74 68 65 MODULES}" ]; the
0370: 6e 20 5c 0a 09 09 6b 6c 64 6c 6f 61 64 20 2d 6e n \...kldload -n
0380: 20 24 7b 44 41 45 4d 4f 4e 5f 24 40 5f 4d 4f 44 ${DAEMON_$@_MOD
0390: 55 4c 45 53 7d 3b 20 5c 0a 09 66 69 0a 0a 5f 73 ULES}; \..fi.._s
03a0: 65 72 76 69 63 65 5f 70 6f 73 74 5f 65 78 69 74 ervice_post_exit
03b0: 3a 20 2e 55 53 45 0a 09 65 63 68 6f 20 22 4d 52 : .USE..echo "MR
03c0: 43 3a 24 7b 40 3a 53 2f 5f 65 78 69 74 2f 2f 7d C:${@:S/_exit//}
03d0: 3e 20 73 74 6f 70 70 65 64 2e 22 0a 0a 2e 66 6f > stopped."...fo
03e0: 72 20 73 74 61 72 74 65 72 5f 73 6f 75 72 63 65 r starter_source
03f0: 20 69 6e 20 24 7b 3a 21 66 69 6e 64 20 2f 65 74 in ${:!find /et
0400: 63 2f 6d 72 63 20 2d 6e 61 6d 65 20 27 2a 2e 73 c/mrc -name '*.s
0410: 74 61 72 74 65 72 2e 6d 6b 27 21 3a 53 2f 5c 2f tarter.mk'!:S/\/
0420: 65 74 63 5c 2f 6d 72 63 5c 2f 2f 2f 7d 0a 73 74 etc\/mrc\///}.st
0430: 61 72 74 65 72 3a 3d 24 7b 73 74 61 72 74 65 72 arter:=${starter
0440: 5f 73 6f 75 72 63 65 3a 53 2f 2e 73 74 61 72 74 _source:S/.start
0450: 65 72 2e 6d 6b 24 2f 2f 7d 0a 53 74 61 72 74 65 er.mk$//}.Starte
0460: 72 3a 3d 24 7b 73 74 61 72 74 65 72 3a 74 75 7d r:=${starter:tu}
0470: 0a 0a 4f 54 48 45 52 5f 54 41 52 47 45 54 53 3a ..OTHER_TARGETS:
0480: 3d 24 7b 4f 54 48 45 52 5f 54 41 52 47 45 54 53 =${OTHER_TARGETS
0490: 7d 20 5f 73 65 72 76 69 63 65 5f 24 7b 73 74 61 } _service_${sta
04a0: 72 74 65 72 7d 20 5f 73 65 72 76 69 63 65 5f 24 rter} _service_$
04b0: 7b 73 74 61 72 74 65 72 7d 5f 65 78 69 74 20 5f {starter}_exit _
04c0: 73 65 72 76 69 63 65 5f 24 7b 73 74 61 72 74 65 service_${starte
04d0: 72 7d 5f 73 74 61 74 75 73 0a 0a 23 20 68 65 72 r}_status..# her
04e0: 65 20 77 65 20 61 72 65 20 69 6e 68 65 72 69 74 e we are inherit
04f0: 69 6e 67 20 70 69 65 63 65 73 20 6f 66 20 64 69 ing pieces of di
0500: 66 66 65 72 65 6e 74 20 74 61 72 67 65 74 73 20 fferent targets
0510: 69 6e 74 6f 20 6f 6e 65 20 73 69 6e 67 6c 65 20 into one single
0520: 74 61 72 67 65 74 2c 20 73 6f 0a 23 20 65 76 65 target, so.# eve
0530: 72 79 74 68 69 6e 67 20 69 73 20 61 70 70 65 6e rything is appen
0540: 64 65 64 20 69 6e 20 74 68 65 20 6f 72 64 65 72 ded in the order
0550: 2c 20 62 75 74 20 67 65 74 73 20 6f 72 67 61 6e , but gets organ
0560: 69 7a 65 64 20 61 20 6c 69 74 74 6c 65 20 62 69 ized a little bi
0570: 74 0a 23 20 64 69 66 66 65 72 65 6e 74 6c 79 2c t.# differently,
0580: 20 61 6c 6c 20 74 61 72 67 65 74 73 20 77 69 74 all targets wit
0590: 68 20 2e 55 53 45 42 45 46 4f 52 45 20 61 72 65 h .USEBEFORE are
05a0: 20 61 64 64 65 64 20 62 65 66 6f 72 65 20 63 75 added before cu
05b0: 72 72 65 6e 74 20 74 61 72 67 65 74 0a 23 20 73 rrent target.# s
05c0: 63 72 69 70 74 2c 20 73 6f 20 61 66 74 65 72 20 cript, so after
05d0: 22 5f 73 65 72 76 69 63 65 5f 70 72 65 20 5f 73 "_service_pre _s
05e0: 65 72 76 69 63 65 5f 63 68 65 63 6b 22 20 77 65 ervice_check" we
05f0: 20 67 6f 74 20 74 68 61 74 20 6f 72 64 65 72 20 got that order
0600: 69 6e 76 65 72 74 65 64 0a 0a 5f 53 45 52 56 49 inverted.._SERVI
0610: 43 45 5f 24 7b 53 74 61 72 74 65 72 7d 3a 3d 5f CE_${Starter}:=_
0620: 73 65 72 76 69 63 65 5f 70 72 65 20 44 41 45 4d service_pre DAEM
0630: 4f 4e 20 5f 73 65 72 76 69 63 65 5f 24 7b 73 74 ON _service_${st
0640: 61 72 74 65 72 7d 20 5f 73 65 72 76 69 63 65 5f arter} _service_
0650: 63 68 65 63 6b 5f 73 74 61 72 74 20 5f 73 65 72 check_start _ser
0660: 76 69 63 65 5f 63 68 65 63 6b 0a 5f 45 41 52 4c vice_check._EARL
0670: 59 53 45 52 56 49 43 45 5f 24 7b 53 74 61 72 74 YSERVICE_${Start
0680: 65 72 7d 3a 3d 5f 73 65 72 76 69 63 65 5f 70 72 er}:=_service_pr
0690: 65 20 53 45 52 56 49 43 45 20 5f 73 65 72 76 69 e SERVICE _servi
06a0: 63 65 5f 24 7b 73 74 61 72 74 65 72 7d 20 5f 73 ce_${starter} _s
06b0: 65 72 76 69 63 65 5f 63 68 65 63 6b 5f 73 74 61 ervice_check_sta
06c0: 72 74 20 5f 73 65 72 76 69 63 65 5f 63 68 65 63 rt _service_chec
06d0: 6b 0a 5f 53 45 52 56 49 43 45 5f 24 7b 53 74 61 k._SERVICE_${Sta
06e0: 72 74 65 72 7d 5f 45 58 49 54 3a 3d 5f 73 65 72 rter}_EXIT:=_ser
06f0: 76 69 63 65 5f 24 7b 73 74 61 72 74 65 72 7d 5f vice_${starter}_
0700: 65 78 69 74 20 5f 73 65 72 76 69 63 65 5f 70 6f exit _service_po
0710: 73 74 5f 65 78 69 74 20 5f 73 65 72 76 69 63 65 st_exit _service
0720: 5f 63 68 65 63 6b 0a 0a 2e 09 69 66 20 22 24 7b _check....if "${
0730: 53 54 41 52 54 45 52 7d 22 20 3d 3d 20 22 24 7b STARTER}" == "${
0740: 73 74 61 72 74 65 72 7d 22 0a 5f 53 45 52 56 49 starter}"._SERVI
0750: 43 45 3a 3d 24 7b 5f 53 45 52 56 49 43 45 5f 24 CE:=${_SERVICE_$
0760: 7b 53 74 61 72 74 65 72 7d 7d 0a 5f 45 41 52 4c {Starter}}._EARL
0770: 59 53 45 52 56 49 43 45 3a 3d 24 7b 5f 45 41 52 YSERVICE:=${_EAR
0780: 4c 59 53 45 52 56 49 43 45 5f 24 7b 53 74 61 72 LYSERVICE_${Star
0790: 74 65 72 7d 7d 0a 5f 53 45 52 56 49 43 45 5f 45 ter}}._SERVICE_E
07a0: 58 49 54 3a 3d 24 7b 5f 53 45 52 56 49 43 45 5f XIT:=${_SERVICE_
07b0: 24 7b 53 74 61 72 74 65 72 7d 5f 45 58 49 54 7d ${Starter}_EXIT}
07c0: 0a 2e 09 65 6e 64 69 66 0a 0a 2e 09 65 78 70 6f ...endif....expo
07d0: 72 74 2d 61 6c 6c 0a 2e 09 69 6e 63 6c 75 64 65 rt-all...include
07e0: 20 22 24 7b 73 74 61 72 74 65 72 5f 73 6f 75 72 "${starter_sour
07f0: 63 65 7d 22 0a 2e 65 6e 64 66 6f 72 0a ce}"..endfor.