diff options
author | ncopa <ncopa@f176ef85-8d20-0410-844a-e957b5a1c371> | 2006-10-24 12:26:42 +0000 |
---|---|---|
committer | ncopa <ncopa@f176ef85-8d20-0410-844a-e957b5a1c371> | 2006-10-24 12:26:42 +0000 |
commit | c8b95b81b69af4a0f90340f5874dcfe6ff057a9d (patch) | |
tree | 94bc4f11d8c3466b02d5aee235ff15c4fed3c50f /functions.sh | |
download | alpine-baselayout-c8b95b81b69af4a0f90340f5874dcfe6ff057a9d.tar.bz2 alpine-baselayout-c8b95b81b69af4a0f90340f5874dcfe6ff057a9d.tar.xz |
initial import based on 1.0.1
Diffstat (limited to 'functions.sh')
-rw-r--r-- | functions.sh | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/functions.sh b/functions.sh new file mode 100644 index 0000000..90f7b5e --- /dev/null +++ b/functions.sh @@ -0,0 +1,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 +} |