Initial commit
Some checks failed
Build Kernel / Build all affected Kernels (push) Has been cancelled
Build all core packages / Build all core packages for selected target (push) Has been cancelled
Build and Push prebuilt tools container / Build and Push all prebuilt containers (push) Has been cancelled
Build Toolchains / Build Toolchains for each target (push) Has been cancelled
Build host tools / Build host tools for linux and macos based systems (push) Has been cancelled
Coverity scan build / Coverity x86/64 build (push) Has been cancelled
Some checks failed
Build Kernel / Build all affected Kernels (push) Has been cancelled
Build all core packages / Build all core packages for selected target (push) Has been cancelled
Build and Push prebuilt tools container / Build and Push all prebuilt containers (push) Has been cancelled
Build Toolchains / Build Toolchains for each target (push) Has been cancelled
Build host tools / Build host tools for linux and macos based systems (push) Has been cancelled
Coverity scan build / Coverity x86/64 build (push) Has been cancelled
This commit is contained in:
194
package/base-files/files/etc/rc.common
Executable file
194
package/base-files/files/etc/rc.common
Executable file
@@ -0,0 +1,194 @@
|
||||
#!/bin/sh
|
||||
# Copyright (C) 2006-2012 OpenWrt.org
|
||||
|
||||
. $IPKG_INSTROOT/lib/functions.sh
|
||||
. $IPKG_INSTROOT/lib/functions/service.sh
|
||||
|
||||
initscript=$1
|
||||
action=${2:-help}
|
||||
shift 2
|
||||
|
||||
start() {
|
||||
return 0
|
||||
}
|
||||
|
||||
stop() {
|
||||
return 0
|
||||
}
|
||||
|
||||
reload() {
|
||||
restart
|
||||
}
|
||||
|
||||
restart() {
|
||||
trap '' TERM
|
||||
stop "$@"
|
||||
trap - TERM
|
||||
start "$@"
|
||||
}
|
||||
|
||||
boot() {
|
||||
start "$@"
|
||||
}
|
||||
|
||||
shutdown() {
|
||||
stop
|
||||
}
|
||||
|
||||
disable() {
|
||||
name="$(basename "${initscript}")"
|
||||
rm -f "$IPKG_INSTROOT"/etc/rc.d/S??$name
|
||||
rm -f "$IPKG_INSTROOT"/etc/rc.d/K??$name
|
||||
}
|
||||
|
||||
enable() {
|
||||
err=1
|
||||
name="$(basename "${initscript}")"
|
||||
[ "$START" ] && \
|
||||
ln -sf "../init.d/$name" "$IPKG_INSTROOT/etc/rc.d/S${START}${name##S[0-9][0-9]}" && \
|
||||
err=0
|
||||
[ "$STOP" ] && \
|
||||
ln -sf "../init.d/$name" "$IPKG_INSTROOT/etc/rc.d/K${STOP}${name##K[0-9][0-9]}" && \
|
||||
err=0
|
||||
return $err
|
||||
}
|
||||
|
||||
enabled() {
|
||||
name="$(basename "${initscript}")"
|
||||
name="${name##[SK][0-9][0-9]}"
|
||||
{
|
||||
[ -z "${START:-}" ] || [ -L "$IPKG_INSTROOT/etc/rc.d/S${START}$name" ]
|
||||
} && {
|
||||
[ -z "${STOP:-}" ] || [ -L "$IPKG_INSTROOT/etc/rc.d/K${STOP}$name" ]
|
||||
}
|
||||
}
|
||||
|
||||
depends() {
|
||||
return 0
|
||||
}
|
||||
|
||||
ALL_HELP=""
|
||||
ALL_COMMANDS="boot shutdown depends"
|
||||
extra_command() {
|
||||
local cmd="$1"
|
||||
local help="$2"
|
||||
|
||||
local extra="$(printf "%-16s%s" "${cmd}" "${help}")"
|
||||
ALL_HELP="${ALL_HELP}\t${extra}\n"
|
||||
ALL_COMMANDS="${ALL_COMMANDS} ${cmd}"
|
||||
}
|
||||
|
||||
help() {
|
||||
cat <<EOF
|
||||
Syntax: $initscript [command]
|
||||
|
||||
Available commands:
|
||||
EOF
|
||||
echo -e "$ALL_HELP"
|
||||
}
|
||||
|
||||
# for procd
|
||||
start_service() {
|
||||
return 0
|
||||
}
|
||||
|
||||
stop_service() {
|
||||
return 0
|
||||
}
|
||||
|
||||
service_triggers() {
|
||||
return 0
|
||||
}
|
||||
|
||||
service_data() {
|
||||
return 0
|
||||
}
|
||||
|
||||
service_running() {
|
||||
local instance="${1:-*}"
|
||||
|
||||
procd_running "$(basename $initscript)" "$instance"
|
||||
}
|
||||
|
||||
${INIT_TRACE:+set -x}
|
||||
|
||||
extra_command "start" "Start the service"
|
||||
extra_command "stop" "Stop the service"
|
||||
extra_command "restart" "Restart the service"
|
||||
extra_command "reload" "Reload configuration files (or restart if service does not implement reload)"
|
||||
extra_command "enable" "Enable service autostart"
|
||||
extra_command "disable" "Disable service autostart"
|
||||
extra_command "enabled" "Check if service is started on boot"
|
||||
|
||||
. "$initscript"
|
||||
|
||||
[ -n "$USE_PROCD" ] && {
|
||||
extra_command "running" "Check if service is running"
|
||||
extra_command "status" "Service status"
|
||||
extra_command "trace" "Start with syscall trace"
|
||||
extra_command "info" "Dump procd service info"
|
||||
|
||||
. $IPKG_INSTROOT/lib/functions/procd.sh
|
||||
basescript=$(readlink "$initscript")
|
||||
rc_procd() {
|
||||
local method="set"
|
||||
[ -n "$2" ] && method="add"
|
||||
procd_open_service "$(basename ${basescript:-$initscript})" "$initscript"
|
||||
"$@"
|
||||
procd_close_service "$method"
|
||||
}
|
||||
|
||||
start() {
|
||||
rc_procd start_service "$@"
|
||||
if eval "type service_started" 2>/dev/null >/dev/null; then
|
||||
service_started
|
||||
fi
|
||||
}
|
||||
|
||||
trace() {
|
||||
TRACE_SYSCALLS=1
|
||||
start "$@"
|
||||
}
|
||||
|
||||
info() {
|
||||
json_init
|
||||
json_add_string name "$(basename ${basescript:-$initscript})"
|
||||
json_add_boolean verbose "1"
|
||||
_procd_ubus_call list
|
||||
}
|
||||
|
||||
stop() {
|
||||
procd_lock
|
||||
stop_service "$@"
|
||||
procd_kill "$(basename ${basescript:-$initscript})" "$1"
|
||||
if eval "type service_stopped" 2>/dev/null >/dev/null; then
|
||||
service_stopped
|
||||
fi
|
||||
}
|
||||
|
||||
reload() {
|
||||
if eval "type reload_service" 2>/dev/null >/dev/null; then
|
||||
procd_lock
|
||||
reload_service "$@"
|
||||
else
|
||||
start
|
||||
fi
|
||||
}
|
||||
|
||||
running() {
|
||||
service_running "$@"
|
||||
}
|
||||
|
||||
status() {
|
||||
if eval "type status_service" 2>/dev/null >/dev/null; then
|
||||
status_service "$@"
|
||||
else
|
||||
_procd_status "$(basename ${basescript:-$initscript})" "$1"
|
||||
fi
|
||||
}
|
||||
}
|
||||
|
||||
ALL_COMMANDS="${ALL_COMMANDS} ${EXTRA_COMMANDS}"
|
||||
ALL_HELP="${ALL_HELP}${EXTRA_HELP}"
|
||||
list_contains ALL_COMMANDS "$action" || action=help
|
||||
$action "$@"
|
||||
Reference in New Issue
Block a user