Hex Artifact Content
Logged in as anonymous

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.