- #!/bin/sh
-
- nut_driver_config() {
- local cfg="$1"
- local nomatch="$2"
-
- config_get runas "$cfg" runas "nut"
- config_get vendorid "$cfg" vendorid
- config_get productid "$cfg" productid
-
- [ "$ACTION" = "add" ] && [ -n "$DEVNAME" ] && {
- chmod 0660 /dev/"$DEVNAME"
- chown "${runas:-root}":"$(id -gn "${runas:-root}")" /dev/"$DEVNAME"
- }
-
- if [ "$nomatch" = "1" ]; then
- [ "$ACTION" = "add" ] && {
- /etc/init.d/nut-server start "$cfg"
- }
- elif [ "$(printf "%04x" 0x"$pvendid")" = "$vendorid" ] && \
- [ "$(printf "%04x" 0x"$pprodid")" = "$productid" ]; then
- [ "$ACTION" = "add" ] && {
- /etc/init.d/nut-server start "$cfg"
- }
- [ "$ACTION" = "remove" ] && {
- /etc/init.d/nut-server stop "$cfg"
- }
- found=1
- fi
- }
-
- perform_libhid_action() {
- . /lib/functions.sh
-
- local vendorid productid runas
- local pvendid pprodid found
-
- pvendid=${PRODUCT%/*}
- pvendid=${pvendid%/*}
- pprodid=${PRODUCT%/*}
- pprodid=${pprodid##*/}
-
- config_load nut_server
- config_foreach nut_driver_config driver 0
- [ "$found" != "1" ] && config_foreach nut_driver_config driver 1
- /etc/init.d/nut-server start upsd
- }
-
- [ -n "$PRODUCT" ] && case "$PRODUCT" in
|