Artifact
4b1a082d4fc58bac0a68f5130cbf1a25dab93f8a1c063602e04a3536f519b30b:
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 2e fined...endif...
0130: 53 49 4c 45 4e 54 3a 0a 0a 69 6e 73 74 61 6c 6c SILENT:..install
0140: 3a 0a 09 69 6e 73 74 61 6c 6c 20 72 63 20 2f 65 :..install rc /e
0150: 74 63 2f 72 63 0a 0a 53 43 52 49 50 54 53 3d 24 tc/rc..SCRIPTS=$
0160: 7b 3a 21 66 69 6e 64 20 2f 65 74 63 2f 6d 72 63 {:!find /etc/mrc
0170: 20 2d 6e 61 6d 65 20 27 2a 2e 73 65 72 76 69 63 -name '*.servic
0180: 65 2e 6d 6b 27 21 3a 53 2f 5c 2f 65 74 63 5c 2f e.mk'!:S/\/etc\/
0190: 6d 72 63 5c 2f 2f 2f 7d 0a 54 41 52 47 45 54 53 mrc\///}.TARGETS
01a0: 3a 3d 24 7b 53 43 52 49 50 54 53 3a 53 2f 2e 73 :=${SCRIPTS:S/.s
01b0: 65 72 76 69 63 65 2e 6d 6b 2f 2f 7d 0a 0a 2e 69 ervice.mk//}...i
01c0: 66 20 64 65 66 69 6e 65 64 28 41 55 54 4f 42 4f f defined(AUTOBO
01d0: 4f 54 29 0a 2e 69 6e 63 6c 75 64 65 20 22 69 6e OT)..include "in
01e0: 69 74 2e 6d 6b 22 0a 0a 2e 45 52 52 4f 52 3a 0a it.mk"...ERROR:.
01f0: 09 3a 20 45 52 52 4f 52 3a 20 41 42 4f 52 54 49 .: ERROR: ABORTI
0200: 4e 47 20 42 4f 4f 54 20 28 73 65 6e 64 69 6e 67 NG BOOT (sending
0210: 20 53 49 47 54 45 52 4d 20 74 6f 20 70 61 72 65 SIGTERM to pare
0220: 6e 74 29 21 0a 09 3a 20 74 61 72 67 65 74 20 24 nt)!..: target $
0230: 7b 2e 45 52 52 4f 52 5f 54 41 52 47 45 54 7d 20 {.ERROR_TARGET}
0240: 66 61 69 6c 65 64 20 74 6f 20 65 78 65 63 75 74 failed to execut
0250: 65 3a 0a 09 3a 20 24 7b 2e 45 52 52 4f 52 5f 43 e:..: ${.ERROR_C
0260: 4d 44 7d 0a 09 6b 69 6c 6c 20 31 0a 2e 65 6c 73 MD}..kill 1..els
0270: 65 0a 44 41 45 4d 4f 4e 3a 20 4e 45 54 57 4f 52 e.DAEMON: NETWOR
0280: 4b 20 53 45 52 56 45 52 53 0a 4c 4f 47 49 4e 3a K SERVERS.LOGIN:
0290: 20 44 41 45 4d 4f 4e 0a 4e 45 54 57 4f 52 4b 3a DAEMON.NETWORK:
02a0: 0a 53 45 52 56 45 52 53 3a 0a 53 45 52 56 49 43 .SERVERS:.SERVIC
02b0: 45 3a 0a 0a 6d 6f 75 6e 74 3a 0a 72 6f 6f 74 3a E:..mount:.root:
02c0: 0a 6e 65 74 69 66 3a 0a 6e 65 77 73 79 73 6c 6f .netif:.newsyslo
02d0: 67 3a 0a 2e 65 6e 64 69 66 0a 0a 74 65 73 74 3a g:..endif..test:
02e0: 0a 09 65 63 68 6f 20 45 6d 70 74 79 20 74 61 72 ..echo Empty tar
02f0: 67 65 74 2e 0a 0a 2e 66 6f 72 20 66 69 6c 65 20 get....for file
0300: 69 6e 20 24 7b 53 43 52 49 50 54 53 7d 0a 23 2e in ${SCRIPTS}.#.
0310: 69 6e 66 6f 20 24 7b 66 69 6c 65 7d 0a 2e 69 6e info ${file}..in
0320: 63 6c 75 64 65 20 22 24 7b 66 69 6c 65 7d 22 0a clude "${file}".
0330: 2e 69 66 20 21 74 61 72 67 65 74 28 24 7b 66 69 .if !target(${fi
0340: 6c 65 3a 53 2f 2e 73 65 72 76 69 63 65 2e 6d 6b le:S/.service.mk
0350: 2f 2f 7d 29 0a 24 7b 66 69 6c 65 3a 53 2f 2e 73 //}).${file:S/.s
0360: 65 72 76 69 63 65 2e 6d 6b 2f 2f 7d 3a 20 5f 73 ervice.mk//}: _s
0370: 65 72 76 69 63 65 0a 2e 65 6e 64 69 66 0a 2e 69 ervice..endif..i
0380: 66 20 21 74 61 72 67 65 74 28 24 7b 66 69 6c 65 f !target(${file
0390: 3a 53 2f 2e 73 65 72 76 69 63 65 2e 6d 6b 2f 5f :S/.service.mk/_
03a0: 73 74 61 74 75 73 2f 7d 29 0a 24 7b 66 69 6c 65 status/}).${file
03b0: 3a 53 2f 2e 73 65 72 76 69 63 65 2e 6d 6b 2f 5f :S/.service.mk/_
03c0: 73 74 61 74 75 73 2f 7d 3a 20 5f 73 74 61 74 75 status/}: _statu
03d0: 73 0a 2e 65 6e 64 69 66 0a 2e 69 66 20 21 74 61 s..endif..if !ta
03e0: 72 67 65 74 28 24 7b 66 69 6c 65 3a 53 2f 2e 73 rget(${file:S/.s
03f0: 65 72 76 69 63 65 2e 6d 6b 2f 5f 72 65 73 74 61 ervice.mk/_resta
0400: 72 74 2f 7d 29 0a 24 7b 66 69 6c 65 3a 53 2f 2e rt/}).${file:S/.
0410: 73 65 72 76 69 63 65 2e 6d 6b 2f 5f 72 65 73 74 service.mk/_rest
0420: 61 72 74 2f 7d 3a 20 5f 72 65 73 74 61 72 74 0a art/}: _restart.
0430: 2e 65 6e 64 69 66 0a 2e 65 6e 64 66 6f 72 0a 0a .endif..endfor..
0440: 2e 4d 41 49 4e 3a 20 24 7b 54 41 52 47 45 54 53 .MAIN: ${TARGETS
0450: 7d 0a 0a 2e 50 48 4f 4e 59 3a 20 24 7b 54 41 52 }...PHONY: ${TAR
0460: 47 45 54 53 7d 20 24 7b 4f 54 48 45 52 5f 54 41 GETS} ${OTHER_TA
0470: 52 47 45 54 53 7d 0a 0a 2e 75 6e 64 65 66 20 54 RGETS}...undef T
0480: 41 52 47 45 54 53 20 4f 54 48 45 52 5f 54 41 52 ARGETS OTHER_TAR
0490: 47 45 54 53 20 53 43 52 49 50 54 53 0a 0a 45 4e GETS SCRIPTS..EN
04a0: 41 42 4c 45 44 3d 24 7b 3a 21 65 6e 76 21 3a 43 ABLED=${:!env!:C
04b0: 2f 3d 2e 2a 2f 2f 3a 4d 2a 5f 45 4e 41 42 4c 45 /=.*//:M*_ENABLE
04c0: 7d 0a 0a 2e 66 6f 72 20 76 61 72 20 69 6e 20 24 }...for var in $
04d0: 7b 45 4e 41 42 4c 45 44 7d 0a 2e 69 66 20 21 65 {ENABLED}..if !e
04e0: 6d 70 74 79 28 24 7b 76 61 72 7d 3a 74 6c 3a 4d mpty(${var}:tl:M
04f0: 6e 6f 29 0a 23 2e 69 6e 66 6f 20 24 7b 76 61 72 no).#.info ${var
0500: 7d 0a 2e 75 6e 64 65 66 20 24 7b 76 61 72 7d 0a }..undef ${var}.
0510: 2e 65 6e 64 69 66 0a 2e 65 6e 64 66 6f 72 0a 0a .endif..endfor..
0520: 2e 75 6e 64 65 66 20 45 4e 41 42 4c 45 44 0a 2e .undef ENABLED..
0530: 75 6e 65 78 70 6f 72 74 2d 65 6e 76 0a 2e 65 78 unexport-env..ex
0540: 70 6f 72 74 0a 23 2e 69 6e 66 6f 20 24 7b 3a 21 port.#.info ${:!
0550: 65 6e 76 21 7d 0a env!}.