| #!/bin/ash |
| |
| if [ ! -x "/etc/default/rc.conf" ]; then |
| echo "ERROR: /etc/default/rc.conf missing!" |
| exit 1 |
| fi |
| . /etc/default/rc.conf |
| |
| if [ -x /etc/rc.conf ]; then |
| . /etc/rc.conf |
| fi |
| |
| ### Check if $1 is yes or no/notset |
| checkyesno() { |
| case $1 in |
| |
| # "yes", "true", "on", or "1" |
| [Yy][Ee][Ss]|[Tt][Rr][Uu][Ee]|[Oo][Nn]|1) |
| return 0 |
| ;; |
| # "no", "false", "off", or "0" |
| [Nn][Oo]|[Ff][Aa][Ll][Ss][Ee]|[Oo][Ff][Ff]|0) |
| return 1 |
| ;; |
| esac |
| return 1 |
| } |
| |
| ### Run command |
| rc_run_command() { |
| if [ "$2" != "" ]; then |
| _name=$2 |
| eval _enable=\$${_name}_enable |
| if ! checkyesno "$_enable"; then |
| return 0 |
| fi |
| fi |
| |
| case $1 in |
| start) |
| start |
| ;; |
| stop) |
| stop |
| ;; |
| restart) |
| stop |
| start |
| ;; |
| *) |
| echo $"Usage: $0 {start|stop|restart}" |
| exit 1 |
| esac |
| } |
| |
| ### Mount fs |
| mount_fs() { |
| if [ "$1" = "" -o "$2" = "" -o "$3" = "" ]; then |
| return; |
| fi |
| |
| echo -n " $2" |
| if [ "$4" = "" ]; then |
| if ! ${mount_program} -t $3 $1 $2; then |
| echo -n "=failed" |
| return 1 |
| fi |
| else |
| if ! ${mount_program} -t $3 -o $4 $1 $2; then |
| echo -n "=failed" |
| fi |
| fi |
| return 0 |
| } |
| |
| mkdir_fs() { |
| if [ "$1" = "" ]; then |
| return 1; |
| fi |
| |
| if ! ${mkdir_program} $1 2>/dev/null; then |
| log_error "mkdir $1 failed" |
| return 1 |
| fi |
| |
| return 0 |
| } |
| |
| ### Kill process based on pidfile |
| killpid() { |
| if [ ! -f "$1" ]; then |
| return 0 |
| fi |
| read _pid < $1 |
| ${kill_program} ${_pid} > /dev/null 2>&1 |
| } |
| |
| ## Log error |
| log_error() { |
| echo "$1" | logger -p error |
| } |