12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- . /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;
- }
- remove_devicename_led_sysfs() {
- local cfg="$1"; shift
- local exceptions="$@"
- local sysfs
- local name
- local new_sysfs
- config_get sysfs ${cfg} sysfs
- config_get name ${cfg} name
- # only continue if two or more colons are present
- echo "${sysfs}" | grep -q ":.*:" || return
- for exception in ${exceptions}; do
- # no change if exceptions provided as argument are found for devicename
- echo "${sysfs}" | grep -q "^${exception}:" && return
- done
- new_sysfs=$(echo ${sysfs} | sed "s/^[^:]*://")
- uci set system.${cfg}.sysfs="${new_sysfs}"
- logger -t led-migration "sysfs option of LED \"${name}\" updated to ${new_sysfs}"
- }
- migrate_leds() {
- config_load system
- config_foreach migrate_led_sysfs led "$@"
- }
- remove_devicename_leds() {
- config_load system
- config_foreach remove_devicename_led_sysfs led "$@"
- }
- migrations_apply() {
- local realm="$1"
- [ -n "$(uci changes ${realm})" ] && uci -q commit ${realm}
- }
|