20940138ac
[base-files] shell-scripting: fix wrong usage of '==' operator normally the '==' is used for invoking a regex parser and is a bashism. all of the fixes just want to compare a string. the used busybox-ash will silently "ignore" this mistake, but make it portable/clean at least. this patch does not change the behavior/logic of the scripts. Signed-off-by: Bastian Bittorf <bittorf@bluebottle.com> SVN-Revision: 42911
86 lines
1.2 KiB
Bash
Executable File
86 lines
1.2 KiB
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# Copyright (C) 2013 OpenWrt.org
|
|
#
|
|
|
|
LED_OPTIONS_CHANGED=0
|
|
|
|
. /lib/functions.sh
|
|
|
|
do_led_update_sysfs()
|
|
{
|
|
local cfg=$1; shift
|
|
local tuples="$@"
|
|
local sysfs
|
|
local name
|
|
|
|
config_get sysfs $cfg sysfs
|
|
config_get name $cfg name
|
|
|
|
[ -z "$sysfs" ] && return
|
|
|
|
for tuple in $tuples; do
|
|
local old=${tuple%=*}
|
|
local new=${tuple#*=}
|
|
local new_sysfs
|
|
|
|
new_sysfs=$(echo ${sysfs} | sed "s/${old}/${new}/")
|
|
|
|
[ "$new_sysfs" = "$sysfs" ] && continue
|
|
|
|
uci set system.${cfg}.sysfs="${new_sysfs}"
|
|
LED_OPTIONS_CHANGED=1
|
|
|
|
logger -t led-migration "sysfs option of LED \"${name}\" updated to ${new_sysfs}"
|
|
done;
|
|
}
|
|
|
|
migrate_leds()
|
|
{
|
|
config_load system
|
|
config_foreach do_led_update_sysfs led "$@"
|
|
}
|
|
|
|
. /lib/ar71xx.sh
|
|
|
|
board=$(ar71xx_board_name)
|
|
|
|
case "$board" in
|
|
dir-825-c1|\
|
|
dir-835-a1)
|
|
migrate_leds ":orange:=:amber:" ":wifi_bgn=:wlan2g"
|
|
;;
|
|
|
|
wndap360)
|
|
migrate_leds "wndap360:=netgear:"
|
|
;;
|
|
|
|
wndr3700)
|
|
migrate_leds "wndr3700:=netgear:"
|
|
;;
|
|
|
|
wndr3700v4 | \
|
|
wndr4300)
|
|
migrate_leds ":orange:=:amber:"
|
|
;;
|
|
|
|
wnr2000)
|
|
migrate_leds "wnr2000:=netgear:"
|
|
;;
|
|
|
|
wnr2200)
|
|
migrate_leds "wnr2200:=netgear:"
|
|
;;
|
|
|
|
wnr612-v2)
|
|
migrate_leds "wnr612v2:=netgear:"
|
|
;;
|
|
|
|
*)
|
|
;;
|
|
esac
|
|
|
|
[ "$LED_OPTIONS_CHANGED" = "1" ] && uci commit system
|
|
|
|
exit 0
|