d8511a3d7c 2022-05-30 1: OTHER_TARGETS+=_service_pre
d8511a3d7c 2022-05-30 2:
d8511a3d7c 2022-05-30 3: STARTER?=svc
d8511a3d7c 2022-05-30 4:
04f7295047 2022-05-30 5: _service_check: .USEBEFORE
d8511a3d7c 2022-05-30 6: # check whether service is enabled
4d5a9b2632 2022-05-30 7: if [ -z "$${DAEMON_$@_ENABLE}" -a -z "${FORCE}" ]; then \
4d5a9b2632 2022-05-30 8: exit 0 ;\
04f7295047 2022-05-30 9: fi
04f7295047 2022-05-30 10:
04f7295047 2022-05-30 11: _service_pre: .USEBEFORE
d8511a3d7c 2022-05-30 12: echo "MRC:$@> Starting service."
d8511a3d7c 2022-05-30 13:
d8511a3d7c 2022-05-30 14: # kldload modules if any
d8511a3d7c 2022-05-30 15: if [ -n "${DAEMON_$@_MODULES}" ]; then \
d8511a3d7c 2022-05-30 16: kldload -n ${DAEMON_$@_MODULES}; \
04f7295047 2022-05-30 17: fi
04f7295047 2022-05-30 18:
04f7295047 2022-05-30 19: _service_post_exit: .USE
04f7295047 2022-05-30 20: echo "MRC:${@:S/_exit//}> stopped."
d8511a3d7c 2022-05-30 21:
d8511a3d7c 2022-05-30 22: .for starter_source in ${:!find /etc/mrc -name '*.starter.mk'!:S/\/etc\/mrc\///}
d8511a3d7c 2022-05-30 23: starter:=${starter_source:S/.starter.mk$//}
d8511a3d7c 2022-05-30 24: Starter:=${starter:tu}
d8511a3d7c 2022-05-30 25:
d8511a3d7c 2022-05-30 26: OTHER_TARGETS:=${OTHER_TARGETS} _service_${starter} _service_${starter}_exit _service_${starter}_status
d8511a3d7c 2022-05-30 27:
04f7295047 2022-05-30 28: _SERVICE_${Starter}:=_service_pre DAEMON _service_${starter} _service_check
04f7295047 2022-05-30 29: _EARLYSERVICE_${Starter}:=_service_pre SERVICE _service_${starter} _service_check
04f7295047 2022-05-30 30: _SERVICE_${Starter}_EXIT:=_service_${starter}_exit _service_post_exit
d8511a3d7c 2022-05-30 31:
d8511a3d7c 2022-05-30 32: .if "${STARTER}" == "${starter}"
04f7295047 2022-05-30 33: _SERVICE:=_service_pre DAEMON _service_${starter} _service_check
04f7295047 2022-05-30 34: _EARLYSERVICE:=_service_pre SERVICE _service_${starter} _service_check
04f7295047 2022-05-30 35: _SERVICE_EXIT:=_service_${starter}_exit _service_post_exit
d8511a3d7c 2022-05-30 36: .endif
d8511a3d7c 2022-05-30 37:
d8511a3d7c 2022-05-30 38: .export
d8511a3d7c 2022-05-30 39: .include "${starter_source}"
d8511a3d7c 2022-05-30 40: .endfor