From c2648ca5f539c450b27d35c7c0a3d41c6e193d8f Mon Sep 17 00:00:00 2001 From: Roy Marples Date: Wed, 27 Feb 2008 20:29:32 +0000 Subject: Makefile SH variable now tweaks the default shell used by our scripts. --- sh/runscript.sh | 185 -------------------------------------------------------- 1 file changed, 185 deletions(-) delete mode 100755 sh/runscript.sh (limited to 'sh/runscript.sh') diff --git a/sh/runscript.sh b/sh/runscript.sh deleted file mode 100755 index 63c780a6..00000000 --- a/sh/runscript.sh +++ /dev/null @@ -1,185 +0,0 @@ -#!/bin/sh -# Shell wrapper for runscript - -# Copyright 2007-2008 Roy Marples -# All rights reserved. Released under the 2-clause BSD license. - -. /etc/init.d/functions.sh -. "${RC_LIBDIR}"/sh/rc-functions.sh - -# Support LiveCD foo -if [ -r /sbin/livecd-functions.sh ]; then - . /sbin/livecd-functions.sh - livecd_read_commandline -fi - -if [ -z "$1" -o -z "$2" ]; then - eerror "${SVCNAME}: not enough arguments" - exit 1 -fi - -# Descript the init script to the user -describe() -{ - if [ -n "${description}" ]; then - einfo "${description}" - else - ewarn "No description for ${SVCNAME}" - fi - - local svc= desc= - for svc in ${extra_commands:-${opts}} ${extra_started_commands}; do - eval desc=\$description_${svc} - if [ -n "${desc}" ]; then - einfo "${HILITE}${svc}${NORMAL}: ${desc}" - else - ewarn "${HILITE}${svc}${NORMAL}: no description" - fi - done -} - -yesno ${RC_DEBUG} && set -x - -# If we're net.eth0 or openvpn.work then load net or openvpn config -_c=${SVCNAME%%.*} -if [ -n "${_c}" -a "${_c}" != "${SVCNAME}" ]; then - if [ -e "/etc/conf.d/${_c}.${RC_SOFTLEVEL}" ]; then - . "/etc/conf.d/${_c}.${RC_SOFTLEVEL}" - elif [ -e "/etc/conf.d/${_c}" ]; then - . "/etc/conf.d/${_c}" - fi -fi -unset _c - -# Overlay with our specific config -if [ -e "/etc/conf.d/${SVCNAME}.${RC_SOFTLEVEL}" ]; then - . "/etc/conf.d/${SVCNAME}.${RC_SOFTLEVEL}" -elif [ -e "/etc/conf.d/${SVCNAME}" ]; then - . "/etc/conf.d/${SVCNAME}" -fi - -# Load any system overrides -[ -e /etc/rc.conf ] && . /etc/rc.conf - -# Apply any ulimit defined -[ -n "${rc_ulimit:-${RC_ULIMIT}}" ] && ulimit ${rc_ulimit:-${RC_ULIMIT}} - -# Load our script -. $1 -shift - -for _d in ${required_dirs}; do - if [ ! -d ${_d} ]; then - eerror "${SVCNAME}: \`${_d}' is not a directory" - exit 1 - fi -done -unset _d - -for _f in ${required_files}; do - if [ ! -r ${_f} ]; then - eerror "${SVCNAME}: \`${_f}' is not readable" - exit 1 - fi -done -unset _f - -# If we have a default command then supply a default start function -if [ -n "${command}" ]; then - if ! type start >/dev/null 2>&1; then - start() { - local _background= - ebegin "Starting ${name:-${SVCNAME}}" - if yesno "${command_background}"; then - _background="--background --pidfile" - fi - if yesno "${start_inactive}"; then - local _inactive=false - service_inactive && _inactive=true - mark_service_inactive - fi - start-stop-daemon --start \ - --exec ${command} \ - ${procname:+--name} ${procname} \ - ${pidfile:+--pidfile} ${pidfile} \ - ${_background} ${start_stop_daemon_args} \ - -- ${command_args} - eend $? "Failed to start ${SVCNAME}" && return 0 - if yesno "${start_inactive}"; then - if ! ${_inactive}; then - mark_service_stopped - fi - fi - return 1 - } - fi -fi - -# If we have a default command, procname or pidfile then supply a default stop -# function -if [ -n "${command}" -o -n "${procname}" -o -n "${pidfile}" ]; then - if ! type stop >/dev/null 2>&1; then - stop() { - ebegin "Stopping ${name:-${SVCNAME}}" - start-stop-daemon --stop \ - ${command:+--exec} ${command} \ - ${procname:+--name} ${procname} \ - ${pidfile:+--pidfile} ${pidfile} - eend $? "Failed to stop ${SVCNAME}" - } - fi -fi - -while [ -n "$1" ]; do - # See if we have the required function and run it - for _cmd in describe start stop ${extra_commands:-${opts}} \ - ${extra_started_commands}; do - if [ "${_cmd}" = "$1" ]; then - if type "$1" >/dev/null 2>&1; then - # If we're in the background, we may wish to - # fake some commands. We do this so we can - # "start" ourselves from inactive which then - # triggers other services to start which depend - # on us. A good example of this is openvpn. - if yesno ${IN_BACKGROUND}; then - for _cmd in ${in_background_fake}; do - if [ "${_cmd}" = "$1" ]; then - shift - continue 3 - fi - done - fi - # Check to see if we need to be started before - # we can run this command - for _cmd in ${extra_started_commands}; do - if [ "${_cmd}" = "$1" ]; then - if ! service_started; then - eerror "${SVCNAME}: cannot \`$1' as it has not been started" - exit 1 - fi - fi - done - unset _cmd - if type "$1"_pre >/dev/null 2>&1; then - "$1"_pre || exit $? - fi - "$1" || exit $? - if type "$1"_post >/dev/null 2>&1; then - "$1"_post || exit $? - fi - shift - continue 2 - else - if [ "${_cmd}" = "start" -o "${_cmd}" = "stop" ]; then - shift - continue 2 - else - eerror "${SVCNAME}: function \`$1' defined but does not exist" - exit 1 - fi - fi - fi - done - eerror "${SVCNAME}: unknown function \`$1'" - exit 1 -done -- cgit v1.2.3