mirror of
https://github.com/openwrt/openwrt.git
synced 2025-02-26 19:16:17 +00:00
base-files: add leds migration
Currently leds migration scripts in ar71xx and lantiq share a lot of logic and introducing leds migration to another target would mean copying this code, again. Therefore add common logic to library in base-files package. Suggested-by: Petr Štetiar <ynezz@true.cz> Signed-off-by: Petr Štetiar <ynezz@true.cz> Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
This commit is contained in:
parent
32689e93c4
commit
afef17e24d
39
package/base-files/files/lib/functions/migrations.sh
Normal file
39
package/base-files/files/lib/functions/migrations.sh
Normal file
@ -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}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user