diff options
author | Tomasz Maciej Nowak <tomek_n@o2.pl> | 2019-03-21 18:03:38 +0100 |
---|---|---|
committer | Christian Lamparter <chunkeey@gmail.com> | 2019-04-06 19:14:05 +0200 |
commit | afef17e24de61278cfe120d9b278907ac98b6a73 (patch) | |
tree | 66b06edea2bc8dd14a5250b6b00b2955b15995a3 /package/base-files/files/lib/functions | |
parent | 32689e93c4ec39a8c5cc29716c0b2cfe9ee578e5 (diff) | |
download | upstream-afef17e24de61278cfe120d9b278907ac98b6a73.tar.gz upstream-afef17e24de61278cfe120d9b278907ac98b6a73.tar.bz2 upstream-afef17e24de61278cfe120d9b278907ac98b6a73.zip |
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>
Diffstat (limited to 'package/base-files/files/lib/functions')
-rw-r--r-- | package/base-files/files/lib/functions/migrations.sh | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/package/base-files/files/lib/functions/migrations.sh b/package/base-files/files/lib/functions/migrations.sh new file mode 100644 index 0000000000..b180a0242f --- /dev/null +++ b/package/base-files/files/lib/functions/migrations.sh @@ -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} +} |