blob: 90f7b5ed672e4383f09f38aad67a1603b5b3bea0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
|
RC_GOT_FUNCTIONS="yes"
# load user settings
[ -r /etc/conf.d/rc ] && . /etc/conf.d/rc
svclib="/lib/rcscripts"
svcdir="${svcdir:-/var/lib/init.d}"
# void import_addon(char *Addon)
import_addon() {
local addon="$svclib/addons/$1"
[ -r "$addon" ] && . "$addon"
}
echon () {
if [ -z "$ECHON" ]; then
# Determine how to "echo" without newline: "echo -n"
# or "echo ...\c"
if [ "X`echo -n`" = "X-n" ]; then
ECHON=echo
NNL="\c"
# "
else
ECHON="echo -n"
NNL=""
fi
fi
$ECHON "$*$NNL"
}
eerror() {
echo $* >&2
}
einfo() {
echo $* >&2
}
einfon() {
echon $* >&2
}
ewarn() {
echo $* >&2
}
ebegin() {
echon " * $*: "
}
eend() {
local msg
if [ "$1" = 0 ] || [ $# -lt 1 ] ; then
msg="ok."
else
shift
msg=" failed. $*"
fi
echo "$msg"
}
eindent() {
true
}
start_addon() {
(import_addon "$1-start.sh")
return 0
}
stop_addon() {
(import_addon "$1-stop.sh")
return 0
}
save_options() {
local myopts="$1"
mkdir -p -m 0755 "$svcdir/options/$SVCNAME"
shift
echo "$*" > "$svcdir/options/$SVCNAME/$myopts"
}
get_options() {
local svc="$SVCNAME"
[ "$2" ] && svc="$2"
cat "$svcdir/options/$svc/$1" 2>/dev/null
}
die() {
eerror "$1"
exit 1
}
|