samba36: add package with hotplug.d script for auto sharing
[openwrt/staging/wigyori.git] / package / network / services / samba36 / files / samba.hotplug
1 #!/bin/sh
2
3 . /usr/share/libubox/jshn.sh
4
5 device_get_vars() {
6 json_init
7 json_load "$(ubus call block info)"
8
9 json_select devices
10
11 json_get_keys keys
12 for key in $keys
13 do
14 json_select $key
15
16 json_get_var device device
17 [ "$device" = "$1" ] && {
18 shift
19 json_get_vars $@
20 json_select ..
21 break
22 }
23
24 json_select ..
25 done
26
27 json_select ..
28 }
29
30 [ -f /var/run/config/samba ] || {
31 mkdir -p /var/run/config && touch /var/run/config/samba
32 }
33
34 [ "$ACTION" = "add" ] && {
35 device_get_vars $DEVICE label mount
36 [ -n "$mount" ] && {
37 uci -c /var/run/config batch <<-EOF
38 set samba.$DEVICE="sambashare"
39 set samba.$DEVICE.name="$label"
40 set samba.$DEVICE.path="$mount"
41 set samba.$DEVICE.browseable="yes"
42 set samba.$DEVICE.read_only="yes"
43 set samba.$DEVICE.guest_ok="yes"
44 commit samba
45 EOF
46 /etc/init.d/samba reload
47 }
48 }
49
50 [ "$ACTION" = "remove" ] && {
51 uci -c /var/run/config batch <<-EOF
52 delete samba.$DEVICE
53 commit samba
54 EOF
55 /etc/init.d/samba reload
56 }