Hex Artifact Content
Logged in as anonymous

Artifact bb5a29dbecba52c3c2348ca9590fb53989c0b29e99ce2b1fbc91d51ac9862b4f:


0000: 2e 69 6e 63 6c 75 64 65 20 22 64 65 66 61 75 6c  .include "defaul
0010: 74 73 2e 6d 6b 22 0a 2e 69 6e 63 6c 75 64 65 20  ts.mk"..include 
0020: 22 2f 65 74 63 2f 6d 72 63 2e 6d 6b 22 0a 2e 65  "/etc/mrc.mk"..e
0030: 78 70 6f 72 74 0a 0a 4f 54 48 45 52 5f 54 41 52  xport..OTHER_TAR
0040: 47 45 54 53 3a 3d 5f 73 65 72 76 69 63 65 20 5f  GETS:=_service _
0050: 65 61 72 6c 79 73 65 72 76 69 63 65 0a 53 54 41  earlyservice.STA
0060: 52 54 45 52 3f 3d 73 76 63 0a 0a 2e 66 6f 72 20  RTER?=svc...for 
0070: 73 74 61 72 74 65 72 20 69 6e 20 24 7b 3a 21 66  starter in ${:!f
0080: 69 6e 64 20 2f 65 74 63 2f 6d 72 63 20 2d 6e 61  ind /etc/mrc -na
0090: 6d 65 20 27 2a 2e 73 74 61 72 74 65 72 2e 6d 6b  me '*.starter.mk
00a0: 27 21 3a 53 2f 5c 2f 65 74 63 5c 2f 6d 72 63 5c  '!:S/\/etc\/mrc\
00b0: 2f 2f 2f 7d 0a 2e 69 6e 63 6c 75 64 65 20 22 24  ///}..include "$
00c0: 7b 73 74 61 72 74 65 72 7d 22 0a 2e 65 6e 64 66  {starter}"..endf
00d0: 6f 72 0a 0a 2e 69 66 20 21 74 61 72 67 65 74 28  or...if !target(
00e0: 5f 73 65 72 76 69 63 65 29 20 7c 7c 20 21 74 61  _service) || !ta
00f0: 72 67 65 74 28 5f 65 61 72 6c 79 73 65 72 76 69  rget(_earlyservi
0100: 63 65 29 0a 2e 65 72 72 6f 72 20 4e 6f 20 73 65  ce)..error No se
0110: 72 76 69 63 65 20 68 61 6e 64 6c 65 72 20 64 65  rvice handler de
0120: 66 69 6e 65 64 2e 0a 2e 65 6e 64 69 66 0a 0a 23  fined...endif..#
0130: 2e 4d 41 4b 45 2e 4a 4f 42 53 3f 3d 32 0a 2e 53  .MAKE.JOBS?=2..S
0140: 49 4c 45 4e 54 3a 0a 0a 69 6e 73 74 61 6c 6c 3a  ILENT:..install:
0150: 0a 09 69 6e 73 74 61 6c 6c 20 72 63 20 2f 65 74  ..install rc /et
0160: 63 2f 72 63 0a 0a 53 43 52 49 50 54 53 3d 24 7b  c/rc..SCRIPTS=${
0170: 3a 21 66 69 6e 64 20 2f 65 74 63 2f 6d 72 63 20  :!find /etc/mrc 
0180: 2d 6e 61 6d 65 20 27 2a 2e 73 65 72 76 69 63 65  -name '*.service
0190: 2e 6d 6b 27 21 3a 53 2f 5c 2f 65 74 63 5c 2f 6d  .mk'!:S/\/etc\/m
01a0: 72 63 5c 2f 2f 2f 7d 0a 0a 2e 69 66 20 64 65 66  rc\///}...if def
01b0: 69 6e 65 64 28 41 55 54 4f 42 4f 4f 54 29 0a 2e  ined(AUTOBOOT)..
01c0: 45 52 52 4f 52 3a 0a 09 3a 20 45 52 52 4f 52 3a  ERROR:..: ERROR:
01d0: 20 41 42 4f 52 54 49 4e 47 20 42 4f 4f 54 20 28   ABORTING BOOT (
01e0: 73 65 6e 64 69 6e 67 20 53 49 47 54 45 52 4d 20  sending SIGTERM 
01f0: 74 6f 20 70 61 72 65 6e 74 29 21 0a 09 3a 20 74  to parent)!..: t
0200: 61 72 67 65 74 20 24 7b 2e 45 52 52 4f 52 5f 54  arget ${.ERROR_T
0210: 41 52 47 45 54 7d 20 66 61 69 6c 65 64 20 74 6f  ARGET} failed to
0220: 20 65 78 65 63 75 74 65 3a 0a 09 3a 20 24 7b 2e   execute:..: ${.
0230: 45 52 52 4f 52 5f 43 4d 44 7d 0a 09 6b 69 6c 6c  ERROR_CMD}..kill
0240: 20 31 0a 2e 65 6c 73 65 0a 44 41 45 4d 4f 4e 3a   1..else.DAEMON:
0250: 20 4e 45 54 57 4f 52 4b 20 53 45 52 56 45 52 53   NETWORK SERVERS
0260: 0a 0a 4c 4f 47 49 4e 3a 20 44 41 45 4d 4f 4e 0a  ..LOGIN: DAEMON.
0270: 0a 4e 45 54 57 4f 52 4b 3a 0a 0a 53 45 52 56 45  .NETWORK:..SERVE
0280: 52 53 3a 0a 0a 53 45 52 56 49 43 45 3a 0a 2e 65  RS:..SERVICE:..e
0290: 6e 64 69 66 0a 0a 74 65 73 74 3a 0a 09 65 63 68  ndif..test:..ech
02a0: 6f 20 45 6d 70 74 79 20 74 61 72 67 65 74 2e 0a  o Empty target..
02b0: 0a 54 41 52 47 45 54 53 3a 3d 24 7b 53 43 52 49  .TARGETS:=${SCRI
02c0: 50 54 53 3a 53 2f 2e 69 6e 69 74 2e 6d 6b 2f 2f  PTS:S/.init.mk//
02d0: 3a 53 2f 2e 73 65 72 76 69 63 65 2e 6d 6b 2f 2f  :S/.service.mk//
02e0: 7d 0a 0a 2e 66 6f 72 20 66 69 6c 65 20 69 6e 20  }...for file in 
02f0: 24 7b 53 43 52 49 50 54 53 7d 0a 23 2e 69 6e 66  ${SCRIPTS}.#.inf
0300: 6f 20 24 7b 66 69 6c 65 7d 0a 2e 69 6e 63 6c 75  o ${file}..inclu
0310: 64 65 20 22 24 7b 66 69 6c 65 7d 22 0a 2e 69 66  de "${file}"..if
0320: 20 21 74 61 72 67 65 74 28 24 7b 66 69 6c 65 3a   !target(${file:
0330: 53 2f 2e 73 65 72 76 69 63 65 2e 6d 6b 2f 2f 7d  S/.service.mk//}
0340: 29 0a 24 7b 66 69 6c 65 3a 53 2f 2e 73 65 72 76  ).${file:S/.serv
0350: 69 63 65 2e 6d 6b 2f 2f 7d 3a 20 5f 73 65 72 76  ice.mk//}: _serv
0360: 69 63 65 0a 2e 65 6e 64 69 66 0a 2e 65 6e 64 66  ice..endif..endf
0370: 6f 72 0a 0a 2e 69 6e 63 6c 75 64 65 20 22 69 6e  or...include "in
0380: 69 74 2e 6d 6b 22 0a 0a 2e 4d 41 49 4e 3a 20 24  it.mk"...MAIN: $
0390: 7b 54 41 52 47 45 54 53 7d 0a 0a 2e 50 48 4f 4e  {TARGETS}...PHON
03a0: 59 3a 20 24 7b 54 41 52 47 45 54 53 7d 20 24 7b  Y: ${TARGETS} ${
03b0: 4f 54 48 45 52 5f 54 41 52 47 45 54 53 7d 0a 0a  OTHER_TARGETS}..
03c0: 2e 75 6e 64 65 66 20 54 41 52 47 45 54 53 20 4f  .undef TARGETS O
03d0: 54 48 45 52 5f 54 41 52 47 45 54 53 20 53 43 52  THER_TARGETS SCR
03e0: 49 50 54 53 0a 0a 45 4e 41 42 4c 45 44 3d 24 7b  IPTS..ENABLED=${
03f0: 3a 21 65 6e 76 21 3a 43 2f 3d 2e 2a 2f 2f 3a 4d  :!env!:C/=.*//:M
0400: 2a 5f 45 4e 41 42 4c 45 7d 0a 0a 2e 66 6f 72 20  *_ENABLE}...for 
0410: 76 61 72 20 69 6e 20 24 7b 45 4e 41 42 4c 45 44  var in ${ENABLED
0420: 7d 0a 2e 69 66 20 21 65 6d 70 74 79 28 24 7b 76  }..if !empty(${v
0430: 61 72 7d 3a 74 6c 3a 4d 6e 6f 29 0a 23 2e 69 6e  ar}:tl:Mno).#.in
0440: 66 6f 20 24 7b 76 61 72 7d 0a 2e 75 6e 64 65 66  fo ${var}..undef
0450: 20 24 7b 76 61 72 7d 0a 2e 65 6e 64 69 66 0a 2e   ${var}..endif..
0460: 65 6e 64 66 6f 72 0a 0a 2e 75 6e 64 65 66 20 45  endfor...undef E
0470: 4e 41 42 4c 45 44 0a 2e 75 6e 65 78 70 6f 72 74  NABLED..unexport
0480: 2d 65 6e 76 0a 2e 65 78 70 6f 72 74 0a 23 2e 69  -env..export.#.i
0490: 6e 66 6f 20 24 7b 3a 21 65 6e 76 21 7d 0a        nfo ${:!env!}.