Artifact
aa2a86c99e72b2bf412585f21cb547c8ee9e5fd209007a6edfb82857005c42da:
0000: 2e 69 6e 63 6c 75 64 65 20 22 2f 65 74 63 2f 6d .include "/etc/m
0010: 72 63 2e 63 6f 6e 66 22 0a 2e 65 78 70 6f 72 74 rc.conf"..export
0020: 0a 0a 4f 54 48 45 52 5f 54 41 52 47 45 54 53 3a ..OTHER_TARGETS:
0030: 3d 5f 73 65 72 76 69 63 65 20 5f 65 61 72 6c 79 =_service _early
0040: 73 65 72 76 69 63 65 0a 53 54 41 52 54 45 52 3f service.STARTER?
0050: 3d 73 76 63 0a 0a 2e 66 6f 72 20 73 74 61 72 74 =svc...for start
0060: 65 72 20 69 6e 20 24 7b 3a 21 66 69 6e 64 20 2f er in ${:!find /
0070: 65 74 63 2f 6d 72 63 20 2d 6e 61 6d 65 20 27 2a etc/mrc -name '*
0080: 2e 73 74 61 72 74 65 72 2e 6d 6b 27 21 3a 53 2f .starter.mk'!:S/
0090: 5c 2f 65 74 63 5c 2f 6d 72 63 5c 2f 2f 2f 7d 0a \/etc\/mrc\///}.
00a0: 2e 69 6e 63 6c 75 64 65 20 22 24 7b 73 74 61 72 .include "${star
00b0: 74 65 72 7d 22 0a 2e 65 6e 64 66 6f 72 0a 0a 2e ter}"..endfor...
00c0: 69 66 20 21 74 61 72 67 65 74 28 5f 73 65 72 76 if !target(_serv
00d0: 69 63 65 29 20 7c 7c 20 21 74 61 72 67 65 74 28 ice) || !target(
00e0: 5f 65 61 72 6c 79 73 65 72 76 69 63 65 29 0a 2e _earlyservice)..
00f0: 65 72 72 6f 72 20 4e 6f 20 73 65 72 76 69 63 65 error No service
0100: 20 68 61 6e 64 6c 65 72 20 64 65 66 69 6e 65 64 handler defined
0110: 2e 0a 2e 65 6e 64 69 66 0a 0a 23 2e 4d 41 4b 45 ...endif..#.MAKE
0120: 2e 4a 4f 42 53 3f 3d 32 0a 23 2e 53 49 4c 45 4e .JOBS?=2.#.SILEN
0130: 54 3a 0a 0a 2e 69 66 20 64 65 66 69 6e 65 64 28 T:...if defined(
0140: 41 55 54 4f 42 4f 4f 54 29 0a 53 43 52 49 50 54 AUTOBOOT).SCRIPT
0150: 53 3d 24 7b 3a 21 66 69 6e 64 20 2f 65 74 63 2f S=${:!find /etc/
0160: 6d 72 63 20 2d 6e 61 6d 65 20 27 2a 2e 69 6e 69 mrc -name '*.ini
0170: 74 27 20 2d 6f 20 2d 6e 61 6d 65 20 27 2a 2e 73 t' -o -name '*.s
0180: 65 72 76 69 63 65 27 21 3a 53 2f 5c 2f 65 74 63 ervice'!:S/\/etc
0190: 5c 2f 6d 72 63 5c 2f 2f 2f 7d 0a 0a 2e 45 52 52 \/mrc\///}...ERR
01a0: 4f 52 3a 0a 09 3a 20 45 52 52 4f 52 3a 20 41 42 OR:..: ERROR: AB
01b0: 4f 52 54 49 4e 47 20 42 4f 4f 54 20 28 73 65 6e ORTING BOOT (sen
01c0: 64 69 6e 67 20 53 49 47 54 45 52 4d 20 74 6f 20 ding SIGTERM to
01d0: 70 61 72 65 6e 74 29 21 0a 09 3a 20 74 61 72 67 parent)!..: targ
01e0: 65 74 20 24 7b 2e 45 52 52 4f 52 5f 54 41 52 47 et ${.ERROR_TARG
01f0: 45 54 7d 20 66 61 69 6c 65 64 20 74 6f 20 65 78 ET} failed to ex
0200: 65 63 75 74 65 3a 0a 09 3a 20 24 7b 2e 45 52 52 ecute:..: ${.ERR
0210: 4f 52 5f 43 4d 44 7d 0a 09 6b 69 6c 6c 20 31 0a OR_CMD}..kill 1.
0220: 2e 65 6c 73 65 0a 53 43 52 49 50 54 53 3d 24 7b .else.SCRIPTS=${
0230: 3a 21 66 69 6e 64 20 2f 65 74 63 2f 6d 72 63 20 :!find /etc/mrc
0240: 2d 6e 61 6d 65 20 27 2a 2e 73 65 72 76 69 63 65 -name '*.service
0250: 27 21 3a 53 2f 5c 2f 65 74 63 5c 2f 6d 72 63 5c '!:S/\/etc\/mrc\
0260: 2f 2f 2f 7d 0a 0a 44 41 45 4d 4f 4e 3a 20 4e 45 ///}..DAEMON: NE
0270: 54 57 4f 52 4b 20 53 45 52 56 45 52 53 0a 0a 4c TWORK SERVERS..L
0280: 4f 47 49 4e 3a 20 44 41 45 4d 4f 4e 0a 0a 4e 45 OGIN: DAEMON..NE
0290: 54 57 4f 52 4b 3a 0a 0a 53 45 52 56 45 52 53 3a TWORK:..SERVERS:
02a0: 0a 0a 53 45 52 56 49 43 45 3a 0a 2e 65 6e 64 69 ..SERVICE:..endi
02b0: 66 0a 0a 74 65 73 74 3a 0a 09 65 63 68 6f 20 45 f..test:..echo E
02c0: 6d 70 74 79 20 74 61 72 67 65 74 2e 0a 0a 54 41 mpty target...TA
02d0: 52 47 45 54 53 3a 3d 24 7b 53 43 52 49 50 54 53 RGETS:=${SCRIPTS
02e0: 3a 53 2f 2e 69 6e 69 74 2f 2f 3a 53 2f 2e 73 65 :S/.init//:S/.se
02f0: 72 76 69 63 65 2f 2f 7d 0a 0a 2e 4d 41 49 4e 3a rvice//}...MAIN:
0300: 20 24 7b 54 41 52 47 45 54 53 7d 0a 0a 2e 50 48 ${TARGETS}...PH
0310: 4f 4e 59 3a 20 24 7b 54 41 52 47 45 54 53 7d 20 ONY: ${TARGETS}
0320: 24 7b 4f 54 48 45 52 5f 54 41 52 47 45 54 53 7d ${OTHER_TARGETS}
0330: 0a 0a 2e 75 6e 64 65 66 20 54 41 52 47 45 54 53 ...undef TARGETS
0340: 20 4f 54 48 45 52 5f 54 41 52 47 45 54 53 0a 0a OTHER_TARGETS..
0350: 2e 66 6f 72 20 66 69 6c 65 20 69 6e 20 24 7b 53 .for file in ${S
0360: 43 52 49 50 54 53 7d 0a 23 2e 69 6e 66 6f 20 24 CRIPTS}.#.info $
0370: 7b 66 69 6c 65 7d 0a 2e 69 6e 63 6c 75 64 65 20 {file}..include
0380: 22 24 7b 66 69 6c 65 7d 22 0a 2e 65 6e 64 66 6f "${file}"..endfo
0390: 72 0a 0a 2e 75 6e 64 65 66 20 53 43 52 49 50 54 r...undef SCRIPT
03a0: 53 0a 0a 45 4e 41 42 4c 45 44 3d 24 7b 3a 21 65 S..ENABLED=${:!e
03b0: 6e 76 21 3a 43 2f 3d 2e 2a 2f 2f 3a 4d 2a 5f 45 nv!:C/=.*//:M*_E
03c0: 4e 41 42 4c 45 7d 0a 0a 2e 66 6f 72 20 76 61 72 NABLE}...for var
03d0: 20 69 6e 20 24 7b 45 4e 41 42 4c 45 44 7d 0a 2e in ${ENABLED}..
03e0: 69 66 20 21 65 6d 70 74 79 28 24 7b 76 61 72 7d if !empty(${var}
03f0: 3a 74 6c 3a 4d 6e 6f 29 0a 23 2e 69 6e 66 6f 20 :tl:Mno).#.info
0400: 24 7b 76 61 72 7d 0a 2e 75 6e 64 65 66 20 24 7b ${var}..undef ${
0410: 76 61 72 7d 0a 2e 65 6e 64 69 66 0a 2e 65 6e 64 var}..endif..end
0420: 66 6f 72 0a 0a 2e 75 6e 64 65 66 20 45 4e 41 42 for...undef ENAB
0430: 4c 45 44 0a 2e 75 6e 65 78 70 6f 72 74 2d 65 6e LED..unexport-en
0440: 76 0a 2e 65 78 70 6f 72 74 0a 23 2e 69 6e 66 6f v..export.#.info
0450: 20 24 7b 3a 21 65 6e 76 21 7d 0a ${:!env!}.