Hex Artifact Content
Logged in as anonymous

Artifact abfb422fab0928ab02e009acbcf1f806a210215be91ad45700d65e7c5865775b:


0000: 53 43 52 49 50 54 53 3a 3d 24 7b 3a 21 66 69 6e  SCRIPTS:=${:!fin
0010: 64 20 2f 65 74 63 2f 6d 72 63 20 2d 6e 61 6d 65  d /etc/mrc -name
0020: 20 27 2a 2e 73 65 72 76 69 63 65 2e 6d 6b 27 21   '*.service.mk'!
0030: 3a 53 2f 5e 5c 2f 65 74 63 5c 2f 6d 72 63 5c 2f  :S/^\/etc\/mrc\/
0040: 2f 2f 3a 53 2f 2e 73 65 72 76 69 63 65 2e 6d 6b  //:S/.service.mk
0050: 24 2f 2f 7d 0a 0a 2e 69 6e 63 6c 75 64 65 20 22  $//}...include "
0060: 73 74 61 72 74 65 72 2e 6d 6b 22 0a 0a 23 20 43  starter.mk"..# C
0070: 72 65 61 74 65 20 73 65 72 76 69 63 65 20 74 61  reate service ta
0080: 72 67 65 74 73 0a 2e 66 6f 72 20 73 65 72 76 69  rgets..for servi
0090: 63 65 20 69 6e 20 24 7b 53 43 52 49 50 54 53 7d  ce in ${SCRIPTS}
00a0: 0a 2e 09 69 6e 63 6c 75 64 65 20 22 24 7b 73 65  ...include "${se
00b0: 72 76 69 63 65 7d 2e 73 65 72 76 69 63 65 2e 6d  rvice}.service.m
00c0: 6b 22 0a 0a 23 20 53 65 74 20 44 41 45 4d 4f 4e  k"..# Set DAEMON
00d0: 20 64 65 66 61 75 6c 74 73 0a 44 41 45 4d 4f 4e   defaults.DAEMON
00e0: 5f 24 7b 73 65 72 76 69 63 65 7d 5f 43 57 44 3f  _${service}_CWD?
00f0: 3d 09 2f 0a 44 41 45 4d 4f 4e 5f 24 7b 73 65 72  =./.DAEMON_${ser
0100: 76 69 63 65 7d 5f 45 4e 41 42 4c 45 3f 3d 09 6e  vice}_ENABLE?=.n
0110: 6f 0a 44 41 45 4d 4f 4e 5f 24 7b 73 65 72 76 69  o.DAEMON_${servi
0120: 63 65 7d 5f 55 53 45 52 3f 3d 09 72 6f 6f 74 0a  ce}_USER?=.root.
0130: 44 41 45 4d 4f 4e 5f 24 7b 73 65 72 76 69 63 65  DAEMON_${service
0140: 7d 5f 47 52 4f 55 50 3f 3d 09 77 68 65 65 6c 0a  }_GROUP?=.wheel.
0150: 0a 2e 09 69 66 20 21 64 65 66 69 6e 65 64 28 44  ...if !defined(D
0160: 41 45 4d 4f 4e 5f 24 7b 73 65 72 76 69 63 65 7d  AEMON_${service}
0170: 5f 43 4f 4d 4d 41 4e 44 29 0a 2e 09 09 77 61 72  _COMMAND)....war
0180: 6e 69 6e 67 20 4d 52 43 3e 20 53 65 72 76 69 63  ning MRC> Servic
0190: 65 20 5b 24 7b 73 65 72 76 69 63 65 7d 5d 20 64  e [${service}] d
01a0: 65 66 75 6e 63 74 3a 20 6e 6f 20 43 4f 4d 4d 41  efunct: no COMMA
01b0: 4e 44 20 73 70 65 63 69 66 69 65 64 0a 2e 09 65  ND specified...e
01c0: 6c 73 65 0a 0a 23 20 53 65 72 76 69 63 65 20 63  lse..# Service c
01d0: 72 65 61 74 69 6f 6e 20 74 61 72 67 65 74 73 0a  reation targets.
01e0: 2e 09 09 69 66 20 21 74 61 72 67 65 74 28 24 7b  ...if !target(${
01f0: 73 65 72 76 69 63 65 7d 29 0a 24 7b 73 65 72 76  service}).${serv
0200: 69 63 65 7d 3a 20 24 7b 53 45 52 56 49 43 45 5f  ice}: ${SERVICE_
0210: 45 58 49 54 7d 20 24 7b 5f 53 45 52 56 49 43 45  EXIT} ${_SERVICE
0220: 7d 0a 2e 09 09 65 6e 64 69 66 0a 0a 23 20 53 65  }....endif..# Se
0230: 72 76 69 63 65 20 73 74 61 74 75 73 20 74 61 72  rvice status tar
0240: 67 65 74 73 0a 2e 09 09 69 66 20 21 74 61 72 67  gets....if !targ
0250: 65 74 28 24 7b 73 65 72 76 69 63 65 7d 5f 73 74  et(${service}_st
0260: 61 74 75 73 29 0a 24 7b 73 65 72 76 69 63 65 7d  atus).${service}
0270: 5f 73 74 61 74 75 73 3a 20 24 7b 5f 53 45 52 56  _status: ${_SERV
0280: 49 43 45 5f 53 54 41 54 55 53 7d 0a 2e 09 09 65  ICE_STATUS}....e
0290: 6e 64 69 66 0a 0a 23 20 53 65 72 76 69 63 65 20  ndif..# Service 
02a0: 65 78 69 74 20 74 61 72 67 65 74 73 0a 2e 09 09  exit targets....
02b0: 69 66 20 21 74 61 72 67 65 74 28 24 7b 73 65 72  if !target(${ser
02c0: 76 69 63 65 7d 5f 65 78 69 74 29 0a 24 7b 73 65  vice}_exit).${se
02d0: 72 76 69 63 65 7d 5f 65 78 69 74 3a 20 24 7b 5f  rvice}_exit: ${_
02e0: 53 45 52 56 49 43 45 5f 45 58 49 54 7d 20 24 7b  SERVICE_EXIT} ${
02f0: 44 41 45 4d 4f 4e 5f 24 7b 73 65 72 76 69 63 65  DAEMON_${service
0300: 7d 5f 44 45 50 53 3a 53 2f 24 2f 5f 65 78 69 74  }_DEPS:S/$/_exit
0310: 2f 7d 0a 2e 09 09 65 6e 64 69 66 0a 0a 44 41 45  /}....endif..DAE
0320: 4d 4f 4e 5f 45 58 49 54 3a 20 24 7b 73 65 72 76  MON_EXIT: ${serv
0330: 69 63 65 7d 5f 65 78 69 74 0a 2e 09 65 6e 64 69  ice}_exit...endi
0340: 66 0a 2e 65 6e 64 66 6f 72 0a 0a 2e 4d 41 49 4e  f..endfor...MAIN
0350: 3a 20 24 7b 53 43 52 49 50 54 53 7d 20 24 7b 54  : ${SCRIPTS} ${T
0360: 41 52 47 45 54 53 7d 0a 0a 2e 50 48 4f 4e 59 3a  ARGETS}...PHONY:
0370: 20 24 7b 53 43 52 49 50 54 53 7d 20 24 7b 4f 54   ${SCRIPTS} ${OT
0380: 48 45 52 5f 54 41 52 47 45 54 53 7d 20 24 7b 54  HER_TARGETS} ${T
0390: 41 52 47 45 54 53 7d 0a 0a 2e 75 6e 64 65 66 20  ARGETS}...undef 
03a0: 53 43 52 49 50 54 53 0a                          SCRIPTS.