Mercurial > vanilla
annotate core/rc/rc.start @ 1185:6ac8b545df56
vanilla: use busybox add-shell/remove-shell for post scripts
author | David Demelier <markand@malikania.fr> |
---|---|
date | Mon, 28 Oct 2019 20:05:00 +0100 |
parents | dbd752e285f6 |
children |
rev | line source |
---|---|
564
79f1635bda5f
core/etc: add shebang for busybox init
David Demelier <markand@malikania.fr>
parents:
557
diff
changeset
|
1 #!/bin/sh |
184
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
2 # |
629
dbd752e285f6
core/rc: stay POSIX and support busybox
David Demelier <markand@malikania.fr>
parents:
566
diff
changeset
|
3 # /etc/rc.start -- runlevel control script |
184
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
4 # |
405
01b5d3175215
vanilla: add proper support for udev and boot scripts
David Demelier <markand@malikania.fr>
parents:
184
diff
changeset
|
5 # Copyright (c) 2019 David Demelier <markand@malikania.fr> |
01b5d3175215
vanilla: add proper support for udev and boot scripts
David Demelier <markand@malikania.fr>
parents:
184
diff
changeset
|
6 # |
01b5d3175215
vanilla: add proper support for udev and boot scripts
David Demelier <markand@malikania.fr>
parents:
184
diff
changeset
|
7 # Permission to use, copy, modify, and/or distribute this software for any |
01b5d3175215
vanilla: add proper support for udev and boot scripts
David Demelier <markand@malikania.fr>
parents:
184
diff
changeset
|
8 # purpose with or without fee is hereby granted, provided that the above |
01b5d3175215
vanilla: add proper support for udev and boot scripts
David Demelier <markand@malikania.fr>
parents:
184
diff
changeset
|
9 # copyright notice and this permission notice appear in all copies. |
01b5d3175215
vanilla: add proper support for udev and boot scripts
David Demelier <markand@malikania.fr>
parents:
184
diff
changeset
|
10 # |
01b5d3175215
vanilla: add proper support for udev and boot scripts
David Demelier <markand@malikania.fr>
parents:
184
diff
changeset
|
11 # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES |
01b5d3175215
vanilla: add proper support for udev and boot scripts
David Demelier <markand@malikania.fr>
parents:
184
diff
changeset
|
12 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF |
01b5d3175215
vanilla: add proper support for udev and boot scripts
David Demelier <markand@malikania.fr>
parents:
184
diff
changeset
|
13 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR |
01b5d3175215
vanilla: add proper support for udev and boot scripts
David Demelier <markand@malikania.fr>
parents:
184
diff
changeset
|
14 # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
01b5d3175215
vanilla: add proper support for udev and boot scripts
David Demelier <markand@malikania.fr>
parents:
184
diff
changeset
|
15 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN |
01b5d3175215
vanilla: add proper support for udev and boot scripts
David Demelier <markand@malikania.fr>
parents:
184
diff
changeset
|
16 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
01b5d3175215
vanilla: add proper support for udev and boot scripts
David Demelier <markand@malikania.fr>
parents:
184
diff
changeset
|
17 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
01b5d3175215
vanilla: add proper support for udev and boot scripts
David Demelier <markand@malikania.fr>
parents:
184
diff
changeset
|
18 # |
184
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
19 |
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
20 if [ "$#" -ne 1 ]; then |
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
21 echo "usage: $0 runlevel" 1>&2 |
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
22 exit 1 |
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
23 fi |
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
24 |
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
25 if [ -f /etc/rc.conf ]; then |
629
dbd752e285f6
core/rc: stay POSIX and support busybox
David Demelier <markand@malikania.fr>
parents:
566
diff
changeset
|
26 . /etc/rc.conf |
184
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
27 fi |
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
28 |
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
29 # Start user services requested in rc.conf(5). |
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
30 for s in $SERVICES; do |
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
31 # |
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
32 # Services are requested in the form name[:runlevel], if runlevel is |
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
33 # specified the service is started only if the system runlevel is |
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
34 # greater or equal to the request. |
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
35 # |
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
36 name="${s%%:*}" |
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
37 level="${s##*:}" |
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
38 |
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
39 # No minimum level, set to requested. |
406
0d51fe2867b5
core/sysvinit: add a banner
David Demelier <markand@malikania.fr>
parents:
405
diff
changeset
|
40 if [ "$level" = "$name" ]; then |
184
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
41 level="$1" |
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
42 fi |
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
43 |
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
44 if [ -x /etc/rc.d/$name ] && [ "$level" -le "$1" ]; then |
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
45 /etc/rc.d/$name start |
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
46 fi |
36f3ab3945d7
core/sysvinit: add basic init scripts
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
47 done |