mirror of
https://github.com/kiddin9/op-packages.git
synced 2026-10-28 06:02:52 +08:00
68 lines
1.8 KiB
Bash
Executable File
68 lines
1.8 KiB
Bash
Executable File
#!/bin/sh /etc/rc.common
|
|
|
|
START=90
|
|
STOP=10
|
|
|
|
# Unique path prefix so this coexists with the original hotplug-generator
|
|
IFACE_PATH="/etc/hotplug.d/iface/91-qa-hp"
|
|
|
|
add_iface_rule() {
|
|
local enabled action command description interface target
|
|
config_get enabled "$1" enabled
|
|
[ "$enabled" = "0" ] && return
|
|
config_get action "$1" action
|
|
config_get description "$1" description
|
|
config_get interface "$1" interface
|
|
|
|
[ -z "$action" ] && return
|
|
[ -z "$interface" ] && return
|
|
|
|
target="$IFACE_PATH-$1"
|
|
{
|
|
echo "#!/bin/sh"
|
|
echo "# Generated by luci-app-quickactions - do not edit directly"
|
|
echo "# Source: /etc/config/hotplug section [$1]"
|
|
description=$(echo $description | tr '\n' ' ')
|
|
echo "# Description: $description"
|
|
echo ""
|
|
echo "if [ \"\$ACTION\" = \"$action\" ]; then"
|
|
echo " if [ \"\$INTERFACE\" = \"$interface\" ]; then"
|
|
} > "$target"
|
|
|
|
command_list=$(uci -q get "hotplug.$1.command")
|
|
[ "${command_list:0:1}" = "'" ] && command_list="${command_list:1}"
|
|
[ "${command_list: -1}" = "'" ] && command_list="${command_list%?}"
|
|
i=0
|
|
while true ; do
|
|
i=$((i+1))
|
|
command=$(echo "$command_list" | awk -v i=$i -F "' '" '{print $i}')
|
|
[ -z "$command" ] && break
|
|
echo " $command" >> "$target"
|
|
done
|
|
|
|
{
|
|
echo " fi"
|
|
echo "fi"
|
|
echo "exit 0"
|
|
} >> "$target"
|
|
chmod 755 "$target"
|
|
}
|
|
|
|
start() {
|
|
mkdir -p /etc/hotplug.d/iface
|
|
rm -f "${IFACE_PATH}-"* 2>/dev/null
|
|
config_load hotplug
|
|
config_foreach add_iface_rule iface
|
|
logger -t quickactions-hotplug "Handlers regenerated from /etc/config/hotplug"
|
|
}
|
|
|
|
stop() {
|
|
rm -f "${IFACE_PATH}-"* 2>/dev/null
|
|
logger -t quickactions-hotplug "Handlers removed"
|
|
}
|
|
|
|
restart() {
|
|
stop
|
|
start
|
|
}
|