1
0
mirror of https://git.openwrt.org/feed/packages.git synced 2024-06-29 12:24:17 +02:00
openwrt-packages/utils/domoticz/files/domoticz.hotplug
David Woodhouse 94aad53b39 domoticz: use 'ln -sf' in serial hotplug script
Otherwise, stale symlinks don't get replaced

Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2018-06-04 11:11:22 +01:00

45 lines
1.0 KiB
Bash

#!/bin/sh
. /lib/functions.sh
[ "$SUBSYSTEM" = "tty" ] || exit 0
add() {
local cfg="$1"
local product serial symlink usbif
[ -c "/dev/$DEVICENAME" ] || return
config_get product "$cfg" product
config_get serial "$cfg" serial
config_get symlink "$cfg" symlink
config_get usbif "$cfg" usbif
[ -z "$product" -a -z "$serial" -a -z "$usbif" ] && return
. "/sys/$DEVPATH/device/../uevent"
SERIAL="$(cat /sys/$DEVPATH/device/../../serial)" 2>/dev/null
USBIF="$(echo $DEVPATH | awk -F/ 'BEGIN {i=3}; /ACM/ {i=2}; END {print $(NF-i)}')"
[ -n "$product" -a "$product" != "$PRODUCT" ] && return
[ -n "$serial" -a "$serial" != "$SERIAL" ] && return
[ -n "$usbif" -a "$usbif" != "$USBIF" ] && return
chgrp domoticz "/dev/$DEVICENAME"
chmod g+rw "/dev/$DEVICENAME"
[ -n "$symlink" ] && ln -sf "/dev/$DEVICENAME" "/dev/$symlink"
}
remove() {
local cfg="$1"
local symlink
config_get symlink "$cfg" symlink
[ "/dev/$DEVICENAME" = "$(readlink /dev/$symlink)" ] && rm "/dev/$symlink"
}
config_load "domoticz"
config_foreach "$ACTION" device