0
0
mirror of https://github.com/openwrt/packages.git synced 2025-02-07 09:19:51 +00:00
packages/net/nut/files/nut_serial.hotplug
Daniel F. Dickinson d7db15459f nut: initscripts hotplug: Fix many small semantic issues
Small but important tweaks to fix the operation of the nut initscripts
and hotplug scripts.  All hail shellcheck and proofreading and
dogfooding.

Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
2019-01-20 12:16:28 -05:00

35 lines
902 B
Bash

#!/bin/sh
nut_serial() {
local cfg="$cfg"
local runas enable_usb_serial port
config_get_bool enable_usb_serial "$cfg" enable_usb_serial 0
config_get port "$cfg" port
config_get runas "$cfg" runas "nut"
[ -z "$runas" ] && config_get runas upsd runas "nut"
[ "$enable_usb_serial" -eq 1 ] && {
# If port is specified only change tty's matching port
if [ -n "$port" ] && [ "$port" != /dev/"$DEVNAME" ]; then
return 0
fi
[ -n "$runas" ] && chgrp "$(id -gn "${runas}")" /dev/"$DEVNAME"
chmod g+rw /dev/"$DEVNAME"
}
}
nut_on_hotplug_add() {
. "${IPKG_INSTROOT}"/lib/functions.sh
config load nut_server
config_foreach nut_serial driver
}
[ "$ACTION" = "add" ] && [ -n "$DEVNAME" ] && {
# On add of a serial port with name ttyUSB*
[ -z "${DEVNAME%ttyUSB*}" ] && nut_on_hutplug_add
# On add of a serial port with name ttyAMA*
[ -z "${DEVNAME%ttyAMA*}" ] && nut_on_hutplug_add
}