Changeset 47867


Ignore:
Timestamp:
2015-12-11T16:26:06+01:00 (2 years ago)
Author:
jow
Message:

all: drop old uci-defaults.sh

Replace former uci-defaults.sh implementation with the uci-defaults-new.sh one
and update all users accordingly.

Signed-off-by: Jo-Philipp Wich <jow@…>

Location:
trunk
Files:
1 deleted
39 edited

Legend:

Unmodified
Added
Removed
  • trunk/package/base-files/files/lib/functions/uci-defaults.sh

    • Property svn:executable set to *
    r46794 r47867  
    1 #!/bin/sh 
    2 # Copyright (C) 2011 OpenWrt.org 
    3  
    4 UCIDEF_LEDS_CHANGED=0 
    5 UCIDEF_GPIO_SWITCHES_CHANGED=0 
     1#!/bin/ash 
     2 
     3CFG=/etc/board.json 
     4 
     5. /lib/functions.sh 
     6. /usr/share/libubox/jshn.sh 
     7 
     8json_select_array() { 
     9        local _json_no_warning=1 
     10 
     11        json_select "$1" 
     12        [ $? = 0 ] && return 
     13 
     14        json_add_array "$1" 
     15        json_close_array 
     16 
     17        json_select "$1" 
     18} 
     19 
     20json_select_object() { 
     21        local _json_no_warning=1 
     22 
     23        json_select "$1" 
     24        [ $? = 0 ] && return 
     25 
     26        json_add_object "$1" 
     27        json_close_object 
     28 
     29        json_select "$1" 
     30} 
     31 
     32_ucidef_set_interface() { 
     33        local name="$1" 
     34        local iface="$2" 
     35        local proto="$3" 
     36 
     37        json_select_object "$name" 
     38        json_add_string ifname "$iface" 
     39 
     40        if ! json_is_a protocol string; then 
     41                case "$proto" in 
     42                        static|dhcp|none|pppoe) : ;; 
     43                        *) 
     44                                case "$name" in 
     45                                        lan) proto="static" ;; 
     46                                        wan) proto="dhcp" ;; 
     47                                        *) proto="none" ;; 
     48                                esac 
     49                        ;; 
     50                esac 
     51 
     52                json_add_string protocol "$proto" 
     53        fi 
     54 
     55        json_select .. 
     56} 
     57 
     58ucidef_set_board_id() { 
     59        json_select_object model 
     60        json_add_string id "$1" 
     61        json_select .. 
     62} 
     63 
     64ucidef_set_model_name() { 
     65        json_select_object model 
     66        json_add_string name "$1" 
     67        json_select .. 
     68} 
     69 
     70ucidef_set_interface_lan() { 
     71        json_select_object network 
     72        _ucidef_set_interface lan "$@" 
     73        json_select .. 
     74} 
     75 
     76ucidef_set_interface_wan() { 
     77        json_select_object network 
     78        _ucidef_set_interface wan "$@" 
     79        json_select .. 
     80} 
     81 
     82ucidef_set_interfaces_lan_wan() { 
     83        local lan_if="$1" 
     84        local wan_if="$2" 
     85 
     86        json_select_object network 
     87        _ucidef_set_interface lan "$lan_if" 
     88        _ucidef_set_interface wan "$wan_if" 
     89        json_select .. 
     90} 
     91 
     92_ucidef_add_switch_port() { 
     93        # inherited: $num $device $need_tag $role $index $prev_role 
     94        # inherited: $n_cpu $n_ports $n_vlan $cpu0 $cpu1 $cpu2 $cpu3 $cpu4 $cpu5 
     95 
     96        n_ports=$((n_ports + 1)) 
     97 
     98        json_select_array ports 
     99                json_add_object 
     100                        json_add_int num "$num" 
     101                        [ -n "$device"   ] && json_add_string  device   "$device" 
     102                        [ -n "$need_tag" ] && json_add_boolean need_tag "$need_tag" 
     103                        [ -n "$role"     ] && json_add_string  role     "$role" 
     104                        [ -n "$index"    ] && json_add_int     index    "$index" 
     105                json_close_object 
     106        json_select .. 
     107 
     108        # record pointer to cpu entry for lookup in _ucidef_finish_switch_roles() 
     109        [ -n "$device" ] && { 
     110                export "cpu$n_cpu=$n_ports" 
     111                n_cpu=$((n_cpu + 1)) 
     112        } 
     113 
     114        # create/append object to role list 
     115        [ -n "$role" ] && { 
     116                json_select_array roles 
     117 
     118                if [ "$role" != "$prev_role" ]; then 
     119                        json_add_object 
     120                                json_add_string role "$role" 
     121                                json_add_string ports "$num" 
     122                        json_close_object 
     123 
     124                        prev_role="$role" 
     125                        n_vlan=$((n_vlan + 1)) 
     126                else 
     127                        json_select_object "$n_vlan" 
     128                                json_get_var port ports 
     129                                json_add_string ports "$port $num" 
     130                        json_select .. 
     131                fi 
     132 
     133                json_select .. 
     134        } 
     135} 
     136 
     137_ucidef_finish_switch_roles() { 
     138        # inherited: $name $n_cpu $n_vlan $cpu0 $cpu1 $cpu2 $cpu3 $cpu4 $cpu5 
     139        local index role roles num device need_tag port ports 
     140 
     141        json_select switch 
     142                json_select "$name" 
     143                        json_get_keys roles roles 
     144                json_select .. 
     145        json_select .. 
     146 
     147        for index in $roles; do 
     148                eval "port=\$cpu$(((index - 1) % n_cpu))" 
     149 
     150                json_select switch 
     151                        json_select "$name" 
     152                                json_select ports 
     153                                        json_select "$port" 
     154                                                json_get_vars num device need_tag 
     155                                        json_select .. 
     156                                json_select .. 
     157 
     158                                if [ $n_vlan -gt $n_cpu -o ${need_tag:-0} -eq 1 ]; then 
     159                                        num="${num}t" 
     160                                        device="${device}.${index}" 
     161                                fi 
     162 
     163                                json_select roles 
     164                                        json_select "$index" 
     165                                                json_get_vars role ports 
     166                                                json_add_string ports "$ports $num" 
     167                                                json_add_string device "$device" 
     168                                        json_select .. 
     169                                json_select .. 
     170                        json_select .. 
     171                json_select .. 
     172 
     173                json_select_object network 
     174                        local devices 
     175 
     176                        json_select_object "$role" 
     177                                # attach previous interfaces (for multi-switch devices) 
     178                                json_get_var devices ifname 
     179                                if ! list_contains devices "$device"; then 
     180                                        devices="${devices:+$devices }$device" 
     181                                fi 
     182                        json_select .. 
     183 
     184                        _ucidef_set_interface "$role" "$devices" 
     185                json_select .. 
     186        done 
     187} 
     188 
     189ucidef_add_switch() { 
     190        local name="$1"; shift 
     191        local port num role device index need_tag prev_role 
     192        local cpu0 cpu1 cpu2 cpu3 cpu4 cpu5 
     193        local n_cpu=0 n_vlan=0 n_ports=0 
     194 
     195        json_select_object switch 
     196                json_select_object "$name" 
     197                        json_add_boolean enable 1 
     198                        json_add_boolean reset 1 
     199 
     200                        for port in "$@"; do 
     201                                case "$port" in 
     202                                        [0-9]*@*) 
     203                                                num="${port%%@*}" 
     204                                                device="${port##*@}" 
     205                                                need_tag=0 
     206                                                [ "${num%t}" != "$num" ] && { 
     207                                                        num="${num%t}" 
     208                                                        need_tag=1 
     209                                                } 
     210                                        ;; 
     211                                        [0-9]*:*:[0-9]*) 
     212                                                num="${port%%:*}" 
     213                                                index="${port##*:}" 
     214                                                role="${port#[0-9]*:}"; role="${role%:*}" 
     215                                        ;; 
     216                                        [0-9]*:*) 
     217                                                num="${port%%:*}" 
     218                                                role="${port##*:}" 
     219                                        ;; 
     220                                esac 
     221 
     222                                if [ -n "$num" ] && [ -n "$device$role" ]; then 
     223                                        _ucidef_add_switch_port 
     224                                fi 
     225 
     226                                unset num device role index need_tag 
     227                        done 
     228                json_select .. 
     229        json_select .. 
     230 
     231        _ucidef_finish_switch_roles 
     232} 
     233 
     234ucidef_add_switch_attr() { 
     235        local name="$1" 
     236        local key="$2" 
     237        local val="$3" 
     238 
     239        json_select_object switch 
     240                json_select_object "$name" 
     241 
     242                case "$val" in 
     243                        true|false) [ "$val" != "true" ]; json_add_boolean "$key" $? ;; 
     244                        [0-9]) json_add_int "$key" "$val" ;; 
     245                        *) json_add_string "$key" "$val" ;; 
     246                esac 
     247 
     248                json_select .. 
     249        json_select .. 
     250} 
     251 
     252ucidef_add_switch_port_attr() { 
     253        local name="$1" 
     254        local port="$2" 
     255        local key="$3" 
     256        local val="$4" 
     257        local ports i num 
     258 
     259        json_select_object switch 
     260        json_select_object "$name" 
     261 
     262        json_get_keys ports ports 
     263        json_select_array ports 
     264 
     265        for i in $ports; do 
     266                json_select "$i" 
     267                json_get_var num num 
     268 
     269                if [ -n "$num" ] && [ $num -eq $port ]; then 
     270                        json_select_object attr 
     271 
     272                        case "$val" in 
     273                                true|false) [ "$val" != "true" ]; json_add_boolean "$key" $? ;; 
     274                                [0-9]) json_add_int "$key" "$val" ;; 
     275                                *) json_add_string "$key" "$val" ;; 
     276                        esac 
     277 
     278                        json_select .. 
     279                fi 
     280 
     281                json_select .. 
     282        done 
     283 
     284        json_select .. 
     285        json_select .. 
     286        json_select .. 
     287} 
     288 
     289ucidef_set_interface_macaddr() { 
     290        local network="$1" 
     291        local macaddr="$2" 
     292 
     293        json_select_object network 
     294 
     295        json_select "$network" 
     296        [ $? -eq 0 ] || { 
     297                json_select .. 
     298                return 
     299        } 
     300 
     301        json_add_string macaddr "$macaddr" 
     302        json_select .. 
     303 
     304        json_select .. 
     305} 
     306 
     307ucidef_add_atm_bridge() { 
     308        local vpi="$1" 
     309        local vci="$2" 
     310        local encaps="$3" 
     311        local payload="$4" 
     312 
     313        json_select_object dsl 
     314                json_select_object atmbridge 
     315                        json_add_int vpi "$vpi" 
     316                        json_add_int vci "$vci" 
     317                        json_add_string encaps "$encaps" 
     318                        json_add_string payload "$payload" 
     319                json_select .. 
     320        json_select .. 
     321} 
     322 
     323ucidef_add_adsl_modem() { 
     324        local annex="$1" 
     325        local firmware="$2" 
     326 
     327        json_select_object dsl 
     328                json_select_object modem 
     329                        json_add_string type "adsl" 
     330                        json_add_string annex "$annex" 
     331                        json_add_string firmware "$firmware" 
     332                json_select .. 
     333        json_select .. 
     334} 
     335 
     336ucidef_add_vdsl_modem() { 
     337        local annex="$1" 
     338        local firmware="$2" 
     339        local tone="$3" 
     340        local xfer_mode="$4" 
     341 
     342        json_select_object dsl 
     343                json_select_object modem 
     344                        json_add_string type "vdsl" 
     345                        json_add_string annex "$annex" 
     346                        json_add_string firmware "$firmware" 
     347                        json_add_string tone "$tone" 
     348                        json_add_string xfer_mode "$xfer_mode" 
     349                json_select .. 
     350        json_select .. 
     351} 
    6352 
    7353ucidef_set_led_netdev() { 
    8354        local cfg="led_$1" 
    9         local name=$2 
    10         local sysfs=$3 
    11         local dev=$4 
    12  
    13         uci -q get system.$cfg && return 0 
    14  
    15         uci batch <<EOF 
    16 set system.$cfg='led' 
    17 set system.$cfg.name='$name' 
    18 set system.$cfg.sysfs='$sysfs' 
    19 set system.$cfg.trigger='netdev' 
    20 set system.$cfg.dev='$dev' 
    21 set system.$cfg.mode='link tx rx' 
    22 EOF 
    23         UCIDEF_LEDS_CHANGED=1 
     355        local name="$2" 
     356        local sysfs="$3" 
     357        local dev="$4" 
     358 
     359        json_select_object led 
     360 
     361        json_select_object "$1" 
     362        json_add_string name "$name" 
     363        json_add_string type netdev 
     364        json_add_string sysfs "$sysfs" 
     365        json_add_string device "$dev" 
     366        json_select .. 
     367 
     368        json_select .. 
    24369} 
    25370 
    26371ucidef_set_led_usbdev() { 
    27372        local cfg="led_$1" 
    28         local name=$2 
    29         local sysfs=$3 
    30         local dev=$4 
    31  
    32         uci -q get system.$cfg && return 0 
    33  
    34         uci batch <<EOF 
    35 set system.$cfg='led' 
    36 set system.$cfg.name='$name' 
    37 set system.$cfg.sysfs='$sysfs' 
    38 set system.$cfg.trigger='usbdev' 
    39 set system.$cfg.dev='$dev' 
    40 set system.$cfg.interval='50' 
    41 EOF 
    42         UCIDEF_LEDS_CHANGED=1 
     373        local name="$2" 
     374        local sysfs="$3" 
     375        local dev="$4" 
     376 
     377        json_select_object led 
     378 
     379        json_select_object "$1" 
     380        json_add_string name "$name" 
     381        json_add_string type usb 
     382        json_add_string sysfs "$sysfs" 
     383        json_add_string device "$dev" 
     384        json_select .. 
     385 
     386        json_select .. 
    43387} 
    44388 
    45389ucidef_set_led_wlan() { 
    46390        local cfg="led_$1" 
    47         local name=$2 
    48         local sysfs=$3 
    49         local trigger=$4 
    50  
    51         uci -q get system.$cfg && return 0 
    52  
    53         uci batch <<EOF 
    54 set system.$cfg='led' 
    55 set system.$cfg.name='$name' 
    56 set system.$cfg.sysfs='$sysfs' 
    57 set system.$cfg.trigger='$trigger' 
    58 EOF 
    59         UCIDEF_LEDS_CHANGED=1 
     391        local name="$2" 
     392        local sysfs="$3" 
     393        local trigger="$4" 
     394 
     395        json_select_object led 
     396 
     397        json_select_object "$1" 
     398        json_add_string name "$name" 
     399        json_add_string type trigger 
     400        json_add_string sysfs "$sysfs" 
     401        json_add_string trigger "$trigger" 
     402        json_select .. 
     403 
     404        json_select .. 
    60405} 
    61406 
    62407ucidef_set_led_switch() { 
    63408        local cfg="led_$1" 
    64         local name=$2 
    65         local sysfs=$3 
    66         local trigger=$4 
    67         local port_mask=$5 
    68  
    69         uci -q get system.$cfg && return 0 
    70  
    71         uci batch <<EOF 
    72 set system.$cfg='led' 
    73 set system.$cfg.name='$name' 
    74 set system.$cfg.sysfs='$sysfs' 
    75 set system.$cfg.trigger='$trigger' 
    76 set system.$cfg.port_mask='$port_mask' 
    77 EOF 
    78         UCIDEF_LEDS_CHANGED=1 
     409        local name="$2" 
     410        local sysfs="$3" 
     411        local trigger="$4" 
     412        local port_mask="$5" 
     413 
     414        json_select_object led 
     415 
     416        json_select_object "$1" 
     417        json_add_string name "$name" 
     418        json_add_string type switch 
     419        json_add_string sysfs "$sysfs" 
     420        json_add_string trigger "$trigger" 
     421        json_add_string port_mask "$port_mask" 
     422        json_select .. 
     423 
     424        json_select .. 
    79425} 
    80426 
    81427ucidef_set_led_default() { 
    82428        local cfg="led_$1" 
    83         local name=$2 
    84         local sysfs=$3 
    85         local default=$4 
    86  
    87         uci -q get system.$cfg && return 0 
    88  
    89         uci batch <<EOF 
    90 set system.$cfg='led' 
    91 set system.$cfg.name='$name' 
    92 set system.$cfg.sysfs='$sysfs' 
    93 set system.$cfg.default='$default' 
    94 EOF 
    95         UCIDEF_LEDS_CHANGED=1 
     429        local name="$2" 
     430        local sysfs="$3" 
     431        local default="$4" 
     432 
     433        json_select_object led 
     434 
     435        json_select_object "$1" 
     436        json_add_string name "$name" 
     437        json_add_string sysfs "$sysfs" 
     438        json_add_string default "$default" 
     439        json_select .. 
     440 
     441        json_select .. 
     442} 
     443 
     444ucidef_set_led_gpio() { 
     445        local cfg="led_$1" 
     446        local name="$2" 
     447        local sysfs="$3" 
     448        local gpio="$4" 
     449        local inverted="$5" 
     450 
     451        json_select_object led 
     452 
     453        json_select_object "$1" 
     454        json_add_string type gpio 
     455        json_add_string name "$name" 
     456        json_add_string sysfs "$sysfs" 
     457        json_add_string trigger "$trigger" 
     458        json_add_int gpio "$gpio" 
     459        json_add_boolean inverted "$inverted" 
     460        json_select .. 
     461 
     462        json_select .. 
     463} 
     464 
     465ucidef_set_led_ide() { 
     466        local cfg="led_$1" 
     467        local name="$2" 
     468        local sysfs="$3" 
     469 
     470        json_select_object led 
     471 
     472        json_select_object "$1" 
     473        json_add_string name "$name" 
     474        json_add_string sysfs "$sysfs" 
     475        json_add_string trigger ide-disk 
     476        json_select .. 
     477 
     478        json_select .. 
     479} 
     480 
     481ucidef_set_led_timer() { 
     482        local cfg="led_$1" 
     483        local name="$2" 
     484        local sysfs="$3" 
     485        local delayon="$4" 
     486        local delayoff="$5" 
     487 
     488        json_select_object led 
     489 
     490        json_select_object "$1" 
     491        json_add_string type timer 
     492        json_add_string name "$name" 
     493        json_add_string sysfs "$sysfs" 
     494        json_add_int delayon "$delayon" 
     495        json_add_int delayoff "$delayoff" 
     496        json_select .. 
     497 
     498        json_select .. 
    96499} 
    97500 
    98501ucidef_set_led_rssi() { 
    99502        local cfg="led_$1" 
    100         local name=$2 
    101         local sysfs=$3 
    102         local iface=$4 
    103         local minq=$5 
    104         local maxq=$6 
    105         local offset=$7 
    106         local factor=$8 
    107  
    108         uci -q get system.$cfg && return 0 
    109  
    110         uci batch <<EOF 
    111 set system.$cfg='led' 
    112 set system.$cfg.name='$name' 
    113 set system.$cfg.sysfs='$sysfs' 
    114 set system.$cfg.trigger='rssi' 
    115 set system.$cfg.iface='rssid_$iface' 
    116 set system.$cfg.minq='$minq' 
    117 set system.$cfg.maxq='$maxq' 
    118 set system.$cfg.offset='$offset' 
    119 set system.$cfg.factor='$factor' 
    120 EOF 
    121         UCIDEF_LEDS_CHANGED=1 
    122 } 
    123  
    124 ucidef_set_led_timer() { 
    125         local cfg="led_$1" 
    126         local name=$2 
    127         local sysfs=$3 
    128         local delayon=$4 
    129         local delayoff=$5 
    130  
    131         uci -q get system.$cfg && return 0 
    132  
    133         uci batch <<EOF 
    134 set system.$cfg='led' 
    135 set system.$cfg.name='$name' 
    136 set system.$cfg.sysfs='$sysfs' 
    137 set system.$cfg.trigger='timer' 
    138 set system.$cfg.delayon='$delayon' 
    139 set system.$cfg.delayoff='$delayoff' 
    140 EOF 
    141         UCIDEF_LEDS_CHANGED=1 
    142 } 
    143  
    144 ucidef_set_led_mmc() { 
    145         local cfg="led_$1" 
    146         local name=$2 
    147         local sysfs=$3 
    148         local trigger=$4 
    149  
    150         uci -q get system.$cfg && return 0 
    151  
    152         uci batch <<EOF 
    153 set system.$cfg='led' 
    154 set system.$cfg.name='$name' 
    155 set system.$cfg.sysfs='$sysfs' 
    156 set system.$cfg.trigger='$trigger' 
    157 EOF 
    158         UCIDEF_LEDS_CHANGED=1 
    159 } 
    160  
    161 ucidef_set_led_trigger_gpio() { 
    162         local cfg="led_$1" 
    163         local name=$2 
    164         local sysfs=$3 
    165         local gpio=$4 
    166         local inverted=$5 
    167  
    168         uci -q get system.$cfg && return 0 
    169  
    170         uci batch <<EOF 
    171 set system.$cfg='led' 
    172 set system.$cfg.name='$name' 
    173 set system.$cfg.sysfs='$sysfs' 
    174 set system.$cfg.trigger='gpio' 
    175 set system.$cfg.gpio='$gpio' 
    176 set system.$cfg.inverted='$inverted' 
    177 EOF 
    178         UCIDEF_LEDS_CHANGED=1 
    179 } 
    180  
    181 ucidef_set_led_ide_disk() { 
    182         local cfg="led_$1" 
    183         local name=$2 
    184         local sysfs=$3 
    185  
    186         uci -q get system.$cfg && return 0 
    187  
    188         uci batch <<EOF 
    189 set system.$cfg='led' 
    190 set system.$cfg.name='$name' 
    191 set system.$cfg.sysfs='$sysfs' 
    192 set system.$cfg.trigger='ide-disk' 
    193 EOF 
    194         UCIDEF_LEDS_CHANGED=1 
     503        local name="$2" 
     504        local sysfs="$3" 
     505        local iface="$4" 
     506        local minq="$5" 
     507        local maxq="$6" 
     508        local offset="$7" 
     509        local factor="$8" 
     510 
     511        json_select_object led 
     512 
     513        json_select_object "$1" 
     514        json_add_string type rssi 
     515        json_add_string name "$name" 
     516        json_add_string iface "$iface" 
     517        json_add_string sysfs "$sysfs" 
     518        json_add_string minq "$minq" 
     519        json_add_string maxq "$maxq" 
     520        json_add_string offset "$offset" 
     521        json_add_string factor "$factor" 
     522        json_select .. 
     523 
     524        json_select .. 
    195525} 
    196526 
     
    200530        local threshold="$3" 
    201531 
    202         local cfg="rssid_$dev" 
    203  
    204         uci -q get system.$cfg && return 0 
    205  
    206         uci batch <<EOF 
    207 set system.$cfg='rssid' 
    208 set system.$cfg.dev='$dev' 
    209 set system.$cfg.refresh='$refresh' 
    210 set system.$cfg.threshold='$threshold' 
    211 EOF 
    212         UCIDEF_LEDS_CHANGED=1 
    213 } 
    214  
    215 ucidef_commit_leds() 
    216 { 
    217         [ "$UCIDEF_LEDS_CHANGED" = "1" ] && uci commit system 
    218 } 
    219  
    220 ucidef_set_gpio_switch() { 
    221         local cfg="gpio_switch_$1" 
    222         local name="$2" 
    223         local gpio_pin="$3" 
    224         # use "0" as default value 
     532        json_select_object rssimon 
     533 
     534        json_select_object "$dev" 
     535        [ -n "$refresh" ] && json_add_int refresh "$refresh" 
     536        [ -n "$threshold" ] && json_add_int threshold "$threshold" 
     537        json_select .. 
     538 
     539        json_select .. 
     540 
     541} 
     542 
     543ucidef_add_gpio_switch() { 
     544        local cfg="$1" 
     545        local name="$2" 
     546        local pin="$3" 
    225547        local default="${4:-0}" 
    226548 
    227         uci -q get "system.$cfg" && return 0 
    228  
    229         uci batch <<EOF 
    230 set system.$cfg='gpio_switch' 
    231 set system.$cfg.name='$name' 
    232 set system.$cfg.gpio_pin='$gpio_pin' 
    233 set system.$cfg.value='$default' 
    234 EOF 
    235         UCIDEF_GPIO_SWITCHES_CHANGED=1 
    236 } 
    237  
    238 ucidef_commit_gpio_switches() 
    239 { 
    240         [ "$UCIDEF_GPIO_SWITCHES_CHANGED" = "1" ] && uci commit system 
    241 } 
    242  
    243 ucidef_set_interface_loopback() { 
    244         uci batch <<EOF 
    245 set network.loopback='interface' 
    246 set network.loopback.ifname='lo' 
    247 set network.loopback.proto='static' 
    248 set network.loopback.ipaddr='127.0.0.1' 
    249 set network.loopback.netmask='255.0.0.0' 
    250 set network.globals='globals' 
    251 set network.globals.ula_prefix='auto' 
    252 EOF 
    253 } 
    254  
    255 ucidef_set_interface_raw() { 
    256         local cfg=$1 
    257         local ifname=$2 
    258         local proto=${3:-"none"} 
    259  
    260         uci batch <<EOF 
    261 set network.$cfg='interface' 
    262 set network.$cfg.ifname='$ifname' 
    263 set network.$cfg.proto='$proto' 
    264 EOF 
    265 } 
    266  
    267 ucidef_set_interface_lan() { 
    268         local ifname=$1 
    269  
    270         uci batch <<EOF 
    271 set network.lan='interface' 
    272 set network.lan.ifname='$ifname' 
    273 set network.lan.force_link=1 
    274 set network.lan.type='bridge' 
    275 set network.lan.proto='static' 
    276 set network.lan.ipaddr='192.168.1.1' 
    277 set network.lan.netmask='255.255.255.0' 
    278 set network.lan.ip6assign='60' 
    279 EOF 
    280 } 
    281  
    282 ucidef_set_interface_wan() { 
    283         local ifname=$1 
    284  
    285         uci batch <<EOF 
    286 set network.wan='interface' 
    287 set network.wan.ifname='$ifname' 
    288 set network.wan.proto='dhcp' 
    289 set network.wan6='interface' 
    290 set network.wan6.ifname='$ifname' 
    291 set network.wan6.proto='dhcpv6' 
    292 EOF 
    293 } 
    294  
    295 ucidef_set_interfaces_lan_wan() { 
    296         local lan_ifname=$1 
    297         local wan_ifname=$2 
    298  
    299         ucidef_set_interface_lan "$lan_ifname" 
    300         ucidef_set_interface_wan "$wan_ifname" 
    301 } 
    302  
    303 ucidef_set_interface_macaddr() { 
    304         local ifname=$1 
    305         local mac=$2 
    306  
    307         uci batch <<EOF 
    308 set network.$ifname.macaddr='$mac' 
    309 EOF 
    310 } 
    311  
    312 ucidef_add_switch() { 
    313         local name=$1 
    314         local reset=$2 
    315         local enable=$3 
    316         uci batch <<EOF 
    317 add network switch 
    318 set network.@switch[-1].name='$name' 
    319 set network.@switch[-1].reset='$reset' 
    320 set network.@switch[-1].enable_vlan='$enable' 
    321 EOF 
    322 } 
    323  
    324 ucidef_add_switch_vlan() { 
    325         local device=$1 
    326         local vlan=$2 
    327         local ports=$3 
    328         uci batch <<EOF 
    329 add network switch_vlan 
    330 set network.@switch_vlan[-1].device='$device' 
    331 set network.@switch_vlan[-1].vlan='$vlan' 
    332 set network.@switch_vlan[-1].ports='$ports' 
    333 EOF 
    334 } 
    335  
    336 ucidef_add_switch_port() { 
    337         local device=$1 
    338         local port=$2 
    339         uci batch <<EOF 
    340 add network switch_port 
    341 set network.@switch_port[-1].device='$device' 
    342 set network.@switch_port[-1].port='$port' 
    343 EOF 
    344 } 
    345  
     549        json_select_object gpioswitch 
     550                json_select_object "$cfg" 
     551                        json_add_string name "$name" 
     552                        json_add_int pin "$pin" 
     553                        json_add_int default "$default" 
     554                json_select .. 
     555        json_select .. 
     556} 
     557 
     558board_config_update() { 
     559        json_init 
     560        [ -f ${CFG} ] && json_load "$(cat ${CFG})" 
     561 
     562        # auto-initialize model id and name if applicable 
     563        if ! json_is_a model object; then 
     564                json_select_object model 
     565                        [ -f "/tmp/sysinfo/board_name" ] && \ 
     566                                json_add_string id "$(cat /tmp/sysinfo/board_name)" 
     567                        [ -f "/tmp/sysinfo/model" ] && \ 
     568                                json_add_string name "$(cat /tmp/sysinfo/model)" 
     569                json_select .. 
     570        fi 
     571} 
     572 
     573board_config_flush() { 
     574        json_dump -i > /tmp/.board.json 
     575        mv /tmp/.board.json ${CFG} 
     576} 
  • trunk/target/linux/ar7/base-files/etc/board.d/02_network

    r47757 r47867  
    11#!/bin/sh 
    22 
    3 . /lib/functions/uci-defaults-new.sh 
     3. /lib/functions/uci-defaults.sh 
    44 
    55board_config_update 
  • trunk/target/linux/ar71xx/base-files/etc/board.d/01_leds

    r47663 r47867  
    44# 
    55 
    6 . /lib/functions/uci-defaults-new.sh 
     6. /lib/functions/uci-defaults.sh 
    77. /lib/ar71xx.sh 
    88 
  • trunk/target/linux/ar71xx/base-files/etc/board.d/02_network

    r47847 r47867  
    55 
    66. /lib/functions/system.sh 
    7 . /lib/functions/uci-defaults-new.sh 
     7. /lib/functions/uci-defaults.sh 
    88. /lib/ar71xx.sh 
    99 
  • trunk/target/linux/ar71xx/base-files/etc/board.d/03_gpio_switches

    r47763 r47867  
    44# 
    55 
    6 . /lib/functions/uci-defaults-new.sh 
     6. /lib/functions/uci-defaults.sh 
    77. /lib/ar71xx.sh 
    88 
  • trunk/target/linux/arc770/base-files/etc/board.d/02_network

    r47743 r47867  
    55 
    66. /lib/arc.sh 
    7 . /lib/functions/uci-defaults-new.sh 
     7. /lib/functions/uci-defaults.sh 
    88 
    99board_config_update 
  • trunk/target/linux/at91/base-files/etc/board.d/02_network

    r47740 r47867  
    44# 
    55 
    6 . /lib/functions/uci-defaults-new.sh 
     6. /lib/functions/uci-defaults.sh 
    77. /lib/at91.sh 
    88 
  • trunk/target/linux/ath25/base-files/etc/board.d/01_leds

    r47756 r47867  
    33# 
    44 
    5 . /lib/functions/uci-defaults-new.sh 
     5. /lib/functions/uci-defaults.sh 
    66 
    77board_config_update 
  • trunk/target/linux/ath25/base-files/etc/board.d/02_network

    r47756 r47867  
    11#!/bin/sh 
    22 
    3 . /lib/functions/uci-defaults-new.sh 
     3. /lib/functions/uci-defaults.sh 
    44 
    55board_config_update 
  • trunk/target/linux/bcm53xx/base-files/etc/board.d/02_network

    r47744 r47867  
    44# 
    55 
    6 . /lib/functions/uci-defaults-new.sh 
     6. /lib/functions/uci-defaults.sh 
    77 
    88board_config_update 
  • trunk/target/linux/brcm2708/base-files/etc/board.d/02_network

    r47744 r47867  
    22# Copyright (C) 2014-2015 OpenWrt.org 
    33 
    4 . /lib/functions/uci-defaults-new.sh 
     4. /lib/functions/uci-defaults.sh 
    55. /lib/brcm2708.sh 
    66. /lib/functions.sh 
  • trunk/target/linux/brcm47xx/base-files/etc/board.d/01_detect

    r47866 r47867  
    33 
    44. /lib/functions/system.sh 
    5 . /lib/functions/uci-defaults-new.sh 
     5. /lib/functions/uci-defaults.sh 
    66 
    77detect_by_vlanports() { 
  • trunk/target/linux/brcm63xx/base-files/etc/board.d/01_leds

    r47754 r47867  
    44# 
    55 
    6 . /lib/functions/uci-defaults-new.sh 
     6. /lib/functions/uci-defaults.sh 
    77. /lib/brcm63xx.sh 
    88 
  • trunk/target/linux/brcm63xx/base-files/etc/board.d/02_network

    r47754 r47867  
    44# 
    55 
    6 . /lib/functions/uci-defaults-new.sh 
     6. /lib/functions/uci-defaults.sh 
    77. /lib/brcm63xx.sh 
    88 
  • trunk/target/linux/imx6/base-files/etc/board.d/02_network

    r47738 r47867  
    44# 
    55 
    6 . /lib/functions/uci-defaults-new.sh 
     6. /lib/functions/uci-defaults.sh 
    77. /lib/imx6.sh 
    88 
  • trunk/target/linux/ipq806x/base-files/etc/board.d/01_leds

    r47735 r47867  
    44# 
    55 
    6 . /lib/functions/uci-defaults-new.sh 
     6. /lib/functions/uci-defaults.sh 
    77. /lib/ipq806x.sh 
    88 
  • trunk/target/linux/ipq806x/base-files/etc/board.d/02_network

    r47744 r47867  
    55# 
    66 
    7 . /lib/functions/uci-defaults-new.sh 
     7. /lib/functions/uci-defaults.sh 
    88. /lib/ipq806x.sh 
    99 
  • trunk/target/linux/kirkwood/base-files/etc/board.d/01_leds

    r47735 r47867  
    44# 
    55 
    6 . /lib/functions/uci-defaults-new.sh 
     6. /lib/functions/uci-defaults.sh 
    77. /lib/kirkwood.sh 
    88 
  • trunk/target/linux/kirkwood/base-files/etc/board.d/02_network

    r47745 r47867  
    44# 
    55 
    6 . /lib/functions/uci-defaults-new.sh 
     6. /lib/functions/uci-defaults.sh 
    77. /lib/kirkwood.sh 
    88 
  • trunk/target/linux/lantiq/base-files/etc/board.d/01_leds

    r47850 r47867  
    55# 
    66 
    7 . /lib/functions/uci-defaults-new.sh 
     7. /lib/functions/uci-defaults.sh 
    88. /lib/functions/lantiq.sh 
    99 
  • trunk/target/linux/lantiq/base-files/etc/board.d/02_network

    r47793 r47867  
    44# 
    55 
    6 . /lib/functions/uci-defaults-new.sh 
     6. /lib/functions/uci-defaults.sh 
    77. /lib/functions/system.sh 
    88. /lib/functions/lantiq.sh 
  • trunk/target/linux/malta/base-files/etc/board.d/00_model

    r47741 r47867  
    22# Copyright (C) 2015 OpenWrt.org 
    33 
    4 . /lib/functions/uci-defaults-new.sh 
     4. /lib/functions/uci-defaults.sh 
    55 
    66board_config_update 
  • trunk/target/linux/malta/base-files/etc/board.d/02_network

    r47746 r47867  
    11#!/bin/sh 
    22 
    3 . /lib/functions/uci-defaults-new.sh 
     3. /lib/functions/uci-defaults.sh 
    44 
    55board_config_update 
  • trunk/target/linux/mcs814x/base-files/etc/board.d/01_leds

    r47761 r47867  
    44# 
    55 
    6 . /lib/functions/uci-defaults-new.sh 
     6. /lib/functions/uci-defaults.sh 
    77. /lib/mcs814x.sh 
    88 
  • trunk/target/linux/mcs814x/base-files/etc/board.d/02_network

    r47761 r47867  
    44# 
    55 
    6 . /lib/functions/uci-defaults-new.sh 
     6. /lib/functions/uci-defaults.sh 
    77 
    88board_config_update 
  • trunk/target/linux/mpc85xx/base-files/etc/board.d/02_network

    r47744 r47867  
    22# Copyright (C) 2014-2015 OpenWrt.org 
    33 
    4 . /lib/functions/uci-defaults-new.sh 
     4. /lib/functions/uci-defaults.sh 
    55. /lib/mpc85xx.sh 
    66. /lib/functions.sh 
  • trunk/target/linux/mvebu/base-files/etc/board.d/01_leds

    r47674 r47867  
    44# 
    55 
    6 . /lib/functions/uci-defaults-new.sh 
     6. /lib/functions/uci-defaults.sh 
    77. /lib/mvebu.sh 
    88 
  • trunk/target/linux/mvebu/base-files/etc/board.d/02_network

    r47744 r47867  
    44# 
    55 
    6 . /lib/functions/uci-defaults-new.sh 
     6. /lib/functions/uci-defaults.sh 
    77. /lib/mvebu.sh 
    88 
  • trunk/target/linux/mxs/base-files/etc/board.d/02_network

    r47742 r47867  
    22# Copyright (C) 2013-2015 OpenWrt.org 
    33 
    4 . /lib/functions/uci-defaults-new.sh 
     4. /lib/functions/uci-defaults.sh 
    55. /lib/mxs.sh 
    66 
  • trunk/target/linux/netlogic/base-files/etc/board.d/02_network

    r47737 r47867  
    44# 
    55 
    6 . /lib/functions/uci-defaults-new.sh 
     6. /lib/functions/uci-defaults.sh 
    77. /lib/netlogic.sh 
    88 
  • trunk/target/linux/octeon/base-files/etc/board.d/01_network

    r47734 r47867  
    44# 
    55 
    6 . /lib/functions/uci-defaults-new.sh 
     6. /lib/functions/uci-defaults.sh 
    77. /lib/functions/octeon.sh 
    88 
  • trunk/target/linux/orion/base-files/etc/board.d/02_network

    r47759 r47867  
    11#!/bin/sh 
    22 
    3 . /lib/functions/uci-defaults-new.sh 
     3. /lib/functions/uci-defaults.sh 
    44 
    55board_config_update 
  • trunk/target/linux/oxnas/base-files/etc/board.d/01_leds

    r43388 r47867  
    11#!/bin/sh 
    22 
    3 . /lib/functions/uci-defaults-new.sh 
     3. /lib/functions/uci-defaults.sh 
    44. /lib/oxnas.sh 
    55 
  • trunk/target/linux/oxnas/base-files/etc/board.d/02_network

    r43388 r47867  
    11#!/bin/sh 
    22 
    3 . /lib/functions/uci-defaults-new.sh 
     3. /lib/functions/uci-defaults.sh 
    44. /lib/functions/system.sh 
    55 
  • trunk/target/linux/ramips/base-files/etc/board.d/01_leds

    r47844 r47867  
    11#!/bin/sh 
    22 
    3 . /lib/functions/uci-defaults-new.sh 
     3. /lib/functions/uci-defaults.sh 
    44. /lib/ramips.sh 
    55 
  • trunk/target/linux/ramips/base-files/etc/board.d/02_network

    r47845 r47867  
    33. /lib/functions.sh 
    44. /lib/ramips.sh 
    5 . /lib/functions/uci-defaults-new.sh 
     5. /lib/functions/uci-defaults.sh 
    66. /lib/functions/system.sh 
    77 
  • trunk/target/linux/realview/base-files/etc/board.d/00_model

    r47739 r47867  
    22# Copyright (C) 2015 OpenWrt.org 
    33 
    4 . /lib/functions/uci-defaults-new.sh 
     4. /lib/functions/uci-defaults.sh 
    55 
    66board_config_update 
  • trunk/target/linux/realview/base-files/etc/board.d/02_network

    r47739 r47867  
    11#!/bin/sh 
    22 
    3 . /lib/functions/uci-defaults-new.sh 
     3. /lib/functions/uci-defaults.sh 
    44 
    55board_config_update 
  • trunk/target/linux/sunxi/base-files/etc/board.d/02_network

    r47760 r47867  
    55 
    66. /lib/sunxi.sh 
    7 . /lib/functions/uci-defaults-new.sh 
     7. /lib/functions/uci-defaults.sh 
    88 
    99board_config_update 
Note: See TracChangeset for help on using the changeset viewer.