X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=package%2Fbase-files%2Ffiles%2Flib%2Ffunctions%2Fuci-defaults-new.sh;h=e79ec99f531ebe8fc7d76c561e468f7afb651737;hb=0e0119b6f0f90461b8924507ae38a3201900c3e3;hp=64241d5a5e6776ae77073c9c07dafe29cc77125f;hpb=212feb9ccfc66e555bc917a76e5cabfb86ddedfe;p=librecmc%2Flibrecmc.git diff --git a/package/base-files/files/lib/functions/uci-defaults-new.sh b/package/base-files/files/lib/functions/uci-defaults-new.sh index 64241d5a5e..e79ec99f53 100755 --- a/package/base-files/files/lib/functions/uci-defaults-new.sh +++ b/package/base-files/files/lib/functions/uci-defaults-new.sh @@ -10,7 +10,7 @@ json_select_array() { json_select "$1" [ $? = 0 ] && return - json_add_array $1 + json_add_array "$1" json_close_array json_select "$1" @@ -22,17 +22,17 @@ json_select_object() { json_select "$1" [ $? = 0 ] && return - json_add_object $1 + json_add_object "$1" json_close_object json_select "$1" } _ucidef_set_interface() { - local name=$1 - local iface=$2 + local name="$1" + local iface="$2" - json_select_object $name + json_select_object "$name" json_add_string ifname "${iface%%.*}" [ "$iface" = "${iface%%.*}" ] || json_add_boolean create_vlan 1 json_select .. @@ -41,11 +41,11 @@ _ucidef_set_interface() { ucidef_set_interface_loopback() { # stub - local a=$1 + local a="$1" } ucidef_set_interface_lan() { - local lan_if=$1 + local lan_if="$1" json_select_object network _ucidef_set_interface lan $lan_if @@ -53,7 +53,7 @@ ucidef_set_interface_lan() { } ucidef_set_interface_wan() { - local wan_if=$1 + local wan_if="$1" json_select_object network _ucidef_set_interface wan $wan_if @@ -61,8 +61,8 @@ ucidef_set_interface_wan() { } ucidef_set_interfaces_lan_wan() { - local lan_if=$1 - local wan_if=$2 + local lan_if="$1" + local wan_if="$2" json_select_object network _ucidef_set_interface lan $lan_if @@ -71,27 +71,27 @@ ucidef_set_interfaces_lan_wan() { } ucidef_add_switch() { - local name=$1 - local reset=$2 - local enable=$3 + local name="$1" + local reset="$2" + local enable="$3" json_select_object switch - json_select_object $name - json_add_boolean enable $enable - json_add_boolean reset $reset + json_select_object "$name" + json_add_boolean enable "$enable" + json_add_boolean reset "$reset" json_select .. json_select .. } ucidef_add_switch_attr() { - local name=$1 - local key=$2 - local val=$3 + local name="$1" + local key="$2" + local val="$3" json_select_object switch - json_select_object $name + json_select_object "$name" case "$val" in [0-9]) json_add_int "$key" "$val" ;; @@ -144,10 +144,46 @@ ucidef_add_switch_ports() { json_select .. } +ucidef_add_switch_port_attr() { + local name="$1" + local port="$2" + local key="$3" + local val="$4" + local ports i num + + json_select_object switch + json_select_object "$name" + + json_get_keys ports ports + json_select_array ports + + for i in $ports; do + json_select "$i" + json_get_var num num + + if [ -n "$num" ] && [ $num -eq $port ]; then + json_select_object attr + + case "$val" in + [0-9]) json_add_int "$key" "$val" ;; + *) json_add_string "$key" "$val" ;; + esac + + json_select .. + fi + + json_select .. + done + + json_select .. + json_select .. + json_select .. +} + ucidef_add_switch_vlan() { - local name=$1 - local vlan=$2 - local ports=$3 + local name="$1" + local vlan="$2" + local ports="$3" local cpu_port='' case $vlan in @@ -157,10 +193,10 @@ ucidef_add_switch_vlan() { esac json_select_object switch - json_select_object $name + json_select_object "$name" json_select_object vlans - json_add_array $vlan + json_add_array "$vlan" for p in $ports; do if [ ${p%t} != $p ]; then cpu_port=$p @@ -171,58 +207,42 @@ ucidef_add_switch_vlan() { json_close_array json_select .. - [ -n "$cpu_port" ] && json_add_int cpu_port $cpu_port + [ -n "$cpu_port" ] && json_add_int cpu_port "$cpu_port" json_select .. json_select .. } ucidef_set_interface_macaddr() { - local network=$1 - local macaddr=$2 + local network="$1" + local macaddr="$2" json_select_object network - json_select $network + json_select "$network" [ $? -eq 0 ] || { json_select .. return } - json_add_string macaddr $macaddr + json_add_string macaddr "$macaddr" json_select .. - + json_select .. } ucidef_set_led_netdev() { local cfg="led_$1" - local name=$2 - local sysfs=$3 - local dev=$4 + local name="$2" + local sysfs="$3" + local dev="$4" json_select_object led - - json_select_object $1 - json_add_string name $name - json_add_string type netdev - json_add_string sysfs $sysfs - json_add_string device $dev - json_select .. - json_select .. -} - -ucidef_set_led_interface() { - local name=$1 - local sysfs=$2 - - json_select_object led - - json_select_object $1 - json_add_string name $name - json_add_string type interface - json_add_string sysfs $sysfs - json_add_string interface $name + json_select_object "$1" + json_add_string name "$name" + json_add_string type netdev + json_add_string sysfs "$sysfs" + json_add_string device "$dev" json_select .. json_select .. @@ -230,17 +250,17 @@ ucidef_set_led_interface() { ucidef_set_led_usbdev() { local cfg="led_$1" - local name=$2 - local sysfs=$3 - local dev=$4 + local name="$2" + local sysfs="$3" + local dev="$4" json_select_object led - - json_select_object $1 - json_add_string name $name + + json_select_object "$1" + json_add_string name "$name" json_add_string type usb - json_add_string sysfs $sysfs - json_add_string device $dev + json_add_string sysfs "$sysfs" + json_add_string device "$dev" json_select .. json_select .. @@ -248,17 +268,17 @@ ucidef_set_led_usbdev() { ucidef_set_led_wlan() { local cfg="led_$1" - local name=$2 - local sysfs=$3 - local trigger=$4 + local name="$2" + local sysfs="$3" + local trigger="$4" json_select_object led - - json_select_object $1 - json_add_string name $name + + json_select_object "$1" + json_add_string name "$name" json_add_string type trigger - json_add_string sysfs $sysfs - json_add_string trigger $trigger + json_add_string sysfs "$sysfs" + json_add_string trigger "$trigger" json_select .. json_select .. @@ -266,19 +286,19 @@ ucidef_set_led_wlan() { ucidef_set_led_switch() { local cfg="led_$1" - local name=$2 - local sysfs=$3 - local trigger=$4 - local port_mask=$5 + local name="$2" + local sysfs="$3" + local trigger="$4" + local port_mask="$5" json_select_object led - - json_select_object $1 - json_add_string name $name + + json_select_object "$1" + json_add_string name "$name" json_add_string type switch - json_add_string sysfs $sysfs - json_add_string trigger $trigger - json_add_string port_mask $port_mask + json_add_string sysfs "$sysfs" + json_add_string trigger "$trigger" + json_add_string port_mask "$port_mask" json_select .. json_select .. @@ -286,42 +306,63 @@ ucidef_set_led_switch() { ucidef_set_led_default() { local cfg="led_$1" - local name=$2 - local sysfs=$3 - local default=$4 + local name="$2" + local sysfs="$3" + local default="$4" json_select_object led - - json_select_object $1 - json_add_string name $name - json_add_string sysfs $sysfs - json_add_string default $default + + json_select_object "$1" + json_add_string name "$name" + json_add_string sysfs "$sysfs" + json_add_string default "$default" json_select .. json_select .. } -ucidef_set_led_rssi() { +ucidef_set_led_gpio() { local cfg="led_$1" - local name=$2 - local sysfs=$3 - local iface=$4 - local minq=$5 - local maxq=$6 - local offset=$7 - local factor=$8 + local name="$2" + local sysfs="$3" + local gpio="$4" + local inverted="$5" json_select_object led - - json_select_object rssi - json_select_object $1 - json_add_string name $name - json_add_string sysfs $sysfs - json_add_string minq $minq - json_add_string maxq $maxq - json_add_string offset $offset - json_add_string factor $factor + + json_select_object "$1" + json_add_string type gpio + json_add_string name "$name" + json_add_string sysfs "$sysfs" + json_add_string trigger "$trigger" + json_add_int gpio "$gpio" + json_add_boolean inverted "$inverted" + json_select .. + json_select .. +} + +ucidef_set_led_rssi() { + local cfg="led_$1" + local name="$2" + local sysfs="$3" + local iface="$4" + local minq="$5" + local maxq="$6" + local offset="$7" + local factor="$8" + + json_select_object led + + json_select_object "$1" + json_add_string type rssi + json_add_string name "$name" + json_add_string iface "$iface" + json_add_string sysfs "$sysfs" + json_add_string minq "$minq" + json_add_string maxq "$maxq" + json_add_string offset "$offset" + json_add_string factor "$factor" json_select .. json_select .. @@ -332,16 +373,15 @@ ucidef_set_rssimon() { local refresh="$2" local threshold="$3" - json_select_object led - - json_select_object rssi - json_add_string type rssi - json_add_string dev $dev - json_add_string threshold $threshold + json_select_object rssimon + + json_select_object "$dev" + [ -n "$refresh" ] && json_add_int refresh "$refresh" + [ -n "$threshold" ] && json_add_int threshold "$threshold" json_select .. json_select .. - + } board_config_update() {