new file mode 100644
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+. /lib/functions.sh
+
+migrate_led_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}"
+
+ logger -t led-migration "sysfs option of LED \"${name}\" updated to ${new_sysfs}"
+ done;
+}
+
+migrate_leds() {
+ config_load system
+ config_foreach migrate_led_sysfs led "$@"
+}
+
+migrations_apply() {
+ local realm="$1"
+ [ -n "$(uci changes ${realm})" ] && uci -q commit ${realm}
+}
@@ -3,43 +3,8 @@
# 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/functions/migrations.sh
board=$(board_name)
@@ -76,6 +41,6 @@ wnr612-v2)
;;
esac
-[ "$LED_OPTIONS_CHANGED" = "1" ] && uci commit system
+migrations_apply system
exit 0
@@ -3,37 +3,8 @@
# 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;
-}
+. /lib/functions/migrations.sh
do_internet_led_rename()
{
@@ -45,16 +16,9 @@ do_internet_led_rename()
uci rename system.led_internet=led_dsl
uci set system.led_dsl.name=dsl
- LED_OPTIONS_CHANGED=1
logger -t led-migration "internet led renamed to dsl"
}
-migrate_leds()
-{
- config_load system
- config_foreach do_led_update_sysfs led "$@"
-}
-
case "$(board_name)" in
arcadyan,arv452cqw|\
arcadyan,arv7510pw22|\
@@ -77,6 +41,6 @@ netgear,dgn3500b)
;;
esac
-[ "$LED_OPTIONS_CHANGED" = "1" ] && uci commit system
+migrations_apply system
exit 0